emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: build failures in mingw64


From: Eli Zaretskii
Subject: Re: build failures in mingw64
Date: Sun, 09 Jul 2023 08:58:04 +0300

> From: Stephen Leake <stephen_leake@stephe-leake.org>
> Date: Sat, 08 Jul 2023 14:50:45 -0700
> 
> I'm getting build failures on master (pulled today).
> 
> First is:
> 
> In file included from C:/Projects/emacs/master/nt/inc/sys/socket.h:82,
>                  from thread.h:25,
>                  from lisp.h:2261,
>                  from dispnew.c:27:
> ./w32.h:253:10: fatal error: gnutls/gnutls.h: No such file or directory
>   253 | #include <gnutls/gnutls.h>
>       |          ^~~~~~~~~~~~~~~~~
> 
> The file is present in D:/msys64/mingw64/include/gnutls/gnutls.h, but
> D:/msys64/mingw64/include is not in the gcc include path. I can work
> around that with LIBGNUTLS_CFLAGS="-isystem D:/msys64/mingw64/include".
> 
> This appears to be due to a bug in mingw pkgconf; it says:
> 
> $ pkgconf --cflags gnutls
> -ID:/msys64/mingw64/include/p11-kit-1
> 
> but gnutls.h is not in p11-kit-1.

Please take this issue up with the MinGW64 folks who produce the
MinGW64 GnuTLS package.  You can meanwhile fix the gnutls.pc file
locally on your system, to specify the correct -I flag (which IMO
should be simply -I${includedir}).

> Continuing the make, I get another error:
> 
> d:/apps/gnat-gpl_2021/bin/../libexec/gcc/x86_64-w64-mingw32/10.3.1/ld.exe: 
> gnutls.o: in function `gn
> utls_try_handshake':
> C:\Projects\emacs\master\src/gnutls.c:648: undefined reference to `nanosleep'
> C:\Projects\emacs\master\src/gnutls.c:648:(.text+0x49ce): relocation 
> truncated to fit: R_X86_64_PC32
>  against undefined symbol `nanosleep'
> 
> This is from emacs/src/gnutls.c, which contains "GnuTLS glue for GNU
> Emacs". The reference to 'nanosleep' is on line 648; vc-annotate says:
> 
> cdbc2f9d274a (Lars Ingebrigtsen           2022-03-04  648)
> 
> so I don't see why this only started failing recently. I'll try
> bisecting.

Does this mean MinGW64 recently removed nanosleep from their runtime
library or something?  The MS-Windows build assumes MinGW does have
nanosleep, so it did exist at some point.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]