GNU bug report logs - #45303
28.0.50; [feature/native-comp] comp.c compilation error on Windows 10

Previous Next

Package: emacs;

Reported by: Liāu, Kiong-Gē 廖宮毅 <gongyi.liao <at> gmail.com>

Date: Thu, 17 Dec 2020 20:22:01 UTC

Severity: normal

Found in version 28.0.50

Done: Andrea Corallo <akrl <at> sdf.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Andy Moreton <andrewjmoreton <at> gmail.com>
To: 45303 <at> debbugs.gnu.org
Subject: bug#45303: #45303 [feature/native-comp] building error on Windows
Date: Sat, 19 Dec 2020 17:15:02 +0000
On Sat 19 Dec 2020, Eli Zaretskii wrote:

>> From: Andy Moreton <andrewjmoreton <at> gmail.com>
>> Date: Sat, 19 Dec 2020 14:35:45 +0000
>> 
>> b) Linker error for "strsignal"
>>    This seems to be a configure problem. On master the configure test
>>    for strsignal fails to link, and the gnulib replacement get used.
>>    On the native branch the configure test links successfully, so the
>>    gnulib replacement does not happen. The only difference in the
>>    conftest command line appears to be adding libgccjit, so somehow
>>    that library is providing a strsignal symbol.
>>    Adding "ac_cv_func_strsignal=no" in nt/mingw-cfg.site appears to
>>    suppress this problem, but I don't know if that is the right fix.
>
> I must be missing something, because I don't see strsignal used on
> master in the MinGW build at all.  Moreover, Gnulib's strsignal.c is
> not even in lib/.  We call sigdescr_np instead.  So I wonder how did
> you see that the Gnulib replacement for strsignal is used on master in
> the Windows build.

Entirely possible that I have misunderstood something from reading
sources and grepping (the gnulib gyrations are hard to follow).

The emacs source calls strsignal, and something provides it (whether via
a macro replacement or a linkable symbol). The only difference I could
see was the configure test, as noted above.

I see that src/syssignal.h has a replacement macro:

    #ifndef HAVE_STRSIGNAL
    # define strsignal(sig) safe_strsignal (sig)
    #endif

So is the problem that on the native branch the configure test succeeds
and sets HAVE_STRSIGNAL, resulting in trying to link the wrong symbol ?

    AndyM





This bug report was last modified 4 years and 131 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.