GNU bug report logs - #35405
Guile stable-2.2 HEAD fails to compile on MingGW-W64.

Previous Next

Package: guile;

Reported by: John Ralls <jralls <at> ceridwen.us>

Date: Tue, 23 Apr 2019 22:06:02 UTC

Severity: normal

To reply to this bug, email your comments to 35405 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#35405; Package guile. (Tue, 23 Apr 2019 22:06:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to John Ralls <jralls <at> ceridwen.us>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Tue, 23 Apr 2019 22:06:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: John Ralls <jralls <at> ceridwen.us>
To: bug-guile <at> gnu.org
Subject: Guile stable-2.2 HEAD fails to compile on MingGW-W64.
Date: Tue, 23 Apr 2019 15:04:25 -0700
1. 
In file included from C:/gcdev64/gnucash/maint/src/guile/lib/poll.c:39:0:
C:/gcdev64/msys2/mingw32/i686-w64-mingw32/include/winsock2.h:1155:16: error: redefinition of 'struct pollfd'
 typedef struct pollfd {
                ^~~~~~
In file included from C:/gcdev64/gnucash/maint/src/guile/lib/poll.c:32:0:
./poll.h:405:8: note: originally defined here
 struct pollfd
        ^~~~~~
  CC       recvfrom.lo
C:/gcdev64/gnucash/maint/src/guile/lib/poll.c:329:1: error: conflicting types for 'poll'
 poll (struct pollfd *pfd, nfds_t nfd, int timeout)
 ^~~~
In file included from C:/gcdev64/gnucash/maint/src/guile/lib/poll.c:32:0:
./poll.h:435:1: note: previous declaration of 'poll' was here
 _GL_FUNCDECL_SYS (poll, int, (struct pollfd *pfd, nfds_t nfd, int timeout));
 ^

2.

C:/gcdev64/gnucash/maint/src/guile/libguile/socket.c:43:10: fatal error: netinet/tcp.h: No such file or directory
 #include <netinet/tcp.h>
          ^~~~~~~~~~~~~~~
3.
../lib/.libs/libgnu.a(timegm.o): In function `timegm':
C:/gcdev64/gnucash/maint/src/guile/lib/timegm.c:39: undefined reference to `mktime_internal'






Information forwarded to bug-guile <at> gnu.org:
bug#35405; Package guile. (Tue, 23 Apr 2019 22:14:02 GMT) Full text and rfc822 format available.

Message #8 received at 35405 <at> debbugs.gnu.org (full text, mbox):

From: John Ralls <jralls <at> ceridwen.us>
To: 35405 <at> debbugs.gnu.org
Subject: Patch for 35405
Date: Tue, 23 Apr 2019 15:12:51 -0700
[0001-Fix-build-on-MinGW-w64.patch (application/octet-stream, attachment)]

Information forwarded to bug-guile <at> gnu.org:
bug#35405; Package guile. (Sun, 30 Jun 2019 15:31:02 GMT) Full text and rfc822 format available.

Message #11 received at 35405 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: John Ralls <jralls <at> ceridwen.us>
Cc: 35405 <at> debbugs.gnu.org
Subject: Re: bug#35405: Patch for 35405
Date: Sun, 30 Jun 2019 17:30:27 +0200
Hi John,

Apologies for the late reply.

John Ralls <jralls <at> ceridwen.us> skribis:

> From f2de9d206b33bc2e27acde1e751df9ba8faf60a9 Mon Sep 17 00:00:00 2001
> From: John Ralls <jralls <at> ceridwen.us>
> Date: Tue, 23 Apr 2019 15:06:48 -0700
> Subject: [PATCH] Fix build on MinGW-w64
>
> Fixes bug 35405
>
>        * lib/poll.h: MinGW provides struct pollfd in winsock2.h and
>          lib/threads.h includes it so disable declaring it in poll.h and
>          get the declaration from winsock2.h. Otherwise gcc complains that
>          poll() has a different signature between the declaration and
>          definition.
>        * libguile/socket.c: TCP declarations are in winsock.h on Windows.
>        * libguile/timegm.c: MinGW doesn't include mktime so include mktime.c to
>          provide it.

The portability later in lib/ comes from the Gnulib project:

  https://gnu.org/s/gnulib

Could you check whether the issue is fixed there in current Git
‘master’, and if not report it to bug-gnulib <at> gnu.org?

Thank you,
Ludo’.




Information forwarded to bug-guile <at> gnu.org:
bug#35405; Package guile. (Sun, 30 Jun 2019 15:31:02 GMT) Full text and rfc822 format available.

Message #14 received at 35405 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: John Ralls <jralls <at> ceridwen.us>
Cc: 35405 <at> debbugs.gnu.org
Subject: Re: bug#35405: Patch for 35405
Date: Sun, 30 Jun 2019 17:30:44 +0200
Hi John,

Apologies for the late reply.

John Ralls <jralls <at> ceridwen.us> skribis:

> From f2de9d206b33bc2e27acde1e751df9ba8faf60a9 Mon Sep 17 00:00:00 2001
> From: John Ralls <jralls <at> ceridwen.us>
> Date: Tue, 23 Apr 2019 15:06:48 -0700
> Subject: [PATCH] Fix build on MinGW-w64
>
> Fixes bug 35405
>
>        * lib/poll.h: MinGW provides struct pollfd in winsock2.h and
>          lib/threads.h includes it so disable declaring it in poll.h and
>          get the declaration from winsock2.h. Otherwise gcc complains that
>          poll() has a different signature between the declaration and
>          definition.
>        * libguile/socket.c: TCP declarations are in winsock.h on Windows.
>        * libguile/timegm.c: MinGW doesn't include mktime so include mktime.c to
>          provide it.

The portability layer in lib/ comes from the Gnulib project:

  https://gnu.org/s/gnulib

Could you check whether the issue is fixed there in current Git
‘master’, and if not report it to bug-gnulib <at> gnu.org?

Thank you,
Ludo’.




This bug report was last modified 5 years and 349 days ago.

Previous Next


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