Thread: BUG #10436: Can't compile 9.4 with this mingw64-w32 gcc 4.8.1, 4.8.2, 4.8.3
The following bug has been logged on the website: Bug reference: 10436 Logged by: Regina Obe Email address: lr@pcorp.us PostgreSQL version: Unsupported/Unknown Operating system: Windows 7 (64-bit) mingw64-w32 4.8.1 chain Description: Side bug -- you don't have 9.4beta listed in PostgreSQL version dropdown on this form -- this might be intentional, but seems if you want bug reports on it would be nice to have it listed. Main bug: In trying to track down the issue I am having here: http://trac.osgeo.org/postgis/ticket/2746 I tried to see if I'd have better luck with newer chains -- but none of the chains I tried 4.8.3, 4.8.2, 4.8.1 (mingw64-w32 sjlj exception (win32 threading) can even get past configure step with the latest snapshot from: ftp://ftp.postgresql.org/pub/snapshot/dev/ The error I got trying to compile with 4.8.1 is: undefined reference to `_set_invalid_parameter_handler' The 4.8.3 I got a different error, but can't remember what that was. To rule out just the chains, I tried rebuilding 9.3.4 with 4.8.1 chain and had no issue. So it seems something has changed in the 9.4 code that makes it not possible to build with these newer mingw64-w32 chains.
lr@pcorp.us writes: > In trying to track down the issue I am having here: > http://trac.osgeo.org/postgis/ticket/2746 > I tried to see if I'd have better luck with newer chains -- but none of the > chains I tried 4.8.3, 4.8.2, 4.8.1 (mingw64-w32 sjlj exception (win32 > threading) can even get past configure step with the latest snapshot from: > ftp://ftp.postgresql.org/pub/snapshot/dev/ > The error I got trying to compile with 4.8.1 is: > undefined reference to `_set_invalid_parameter_handler' > The 4.8.3 I got a different error, but can't remember what that was. > To rule out just the chains, I tried rebuilding 9.3.4 with 4.8.1 chain and > had no issue. So it seems something has changed in the 9.4 code that makes > it not possible to build with these newer mingw64-w32 chains. If it's not getting through configure, the only plausible explanation seems to be that something in autoconf 2.69 broke it. It's not immediately clear what that would be, though :-( regards, tom lane
Re: BUG #10436: Can't compile 9.4 with this mingw64-w32 gcc 4.8.1, 4.8.2, 4.8.3
From
Andres Freund
Date:
On 2014-05-24 12:35:08 -0400, Tom Lane wrote: > lr@pcorp.us writes: > > In trying to track down the issue I am having here: > > http://trac.osgeo.org/postgis/ticket/2746 > > > I tried to see if I'd have better luck with newer chains -- but none of the > > chains I tried 4.8.3, 4.8.2, 4.8.1 (mingw64-w32 sjlj exception (win32 > > threading) can even get past configure step with the latest snapshot from: > > ftp://ftp.postgresql.org/pub/snapshot/dev/ > > > The error I got trying to compile with 4.8.1 is: > > > undefined reference to `_set_invalid_parameter_handler' > > > The 4.8.3 I got a different error, but can't remember what that was. > > > To rule out just the chains, I tried rebuilding 9.3.4 with 4.8.1 chain and > > had no issue. So it seems something has changed in the 9.4 code that makes > > it not possible to build with these newer mingw64-w32 chains. > > If it's not getting through configure, the only plausible explanation > seems to be that something in autoconf 2.69 broke it. It could also be the linking changes made while trying to make missing PGDLLIMPORTs more visible. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Andres Freund <andres@2ndquadrant.com> writes: > On 2014-05-24 12:35:08 -0400, Tom Lane wrote: >> If it's not getting through configure, the only plausible explanation >> seems to be that something in autoconf 2.69 broke it. > It could also be the linking changes made while trying to make missing > PGDLLIMPORTs more visible. None of those changes touched the configure script, though. If you look at what has: http://git.postgresql.org/gitweb/?p=postgresql.git;a=history;f=configure;h=17f3f2654f81c3c986b205c0d47e925bacfaccce;hb=HEAD the 2.69 upgrade seems like the only plausible suspect. regards, tom lane
Re: BUG #10436: Can't compile 9.4 with this mingw64-w32 gcc 4.8.1, 4.8.2, 4.8.3
From
Andres Freund
Date:
On 2014-05-24 14:21:32 -0400, Tom Lane wrote: > Andres Freund <andres@2ndquadrant.com> writes: > > On 2014-05-24 12:35:08 -0400, Tom Lane wrote: > >> If it's not getting through configure, the only plausible explanation > >> seems to be that something in autoconf 2.69 broke it. > > > It could also be the linking changes made while trying to make missing > > PGDLLIMPORTs more visible. > > None of those changes touched the configure script, though. Right. Regina, can you post config.log from 9.3 and 9.4? There's a couple of bugreports referencing _set_invalid_parameter_handle and mingw. With confusingly different explanations... Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Re: BUG #10436: Can't compile 9.4 with this mingw64-w32 gcc 4.8.1, 4.8.2, 4.8.3
From
Noah Misch
Date:
On Sat, May 24, 2014 at 08:51:45PM +0200, Andres Freund wrote: > On 2014-05-24 14:21:32 -0400, Tom Lane wrote: > > Andres Freund <andres@2ndquadrant.com> writes: > > > On 2014-05-24 12:35:08 -0400, Tom Lane wrote: > > >> If it's not getting through configure, the only plausible explanation > > >> seems to be that something in autoconf 2.69 broke it. > > > > > It could also be the linking changes made while trying to make missing > > > PGDLLIMPORTs more visible. > > > > None of those changes touched the configure script, though. > > Right. > > Regina, can you post config.log from 9.3 and 9.4? > > There's a couple of bugreports referencing _set_invalid_parameter_handle > and mingw. With confusingly different explanations... I, too, ran into this problem. It boils down to recent MinGW-w64 not tolerating -Wl,--disable-auto-import: https://sourceforge.net/p/mingw-w64/bugs/415 For now, I work around this locally by removing -Wl,--disable-auto-import from src/template/win32. (Commit 1c9acd5 introduced our use of that flag for this target.) Let's see how that MinGW-w64 bug progresses; if needed, we can have "configure" check whether -Wl,--disable-auto-import works before using it. Thanks, nm
Re: BUG #10436: Can't compile 9.4 with this mingw64-w32 gcc 4.8.1, 4.8.2, 4.8.3
From
Noah Misch
Date:
On Sun, Aug 17, 2014 at 07:55:03PM -0400, Noah Misch wrote: > On Sat, May 24, 2014 at 08:51:45PM +0200, Andres Freund wrote: > > On 2014-05-24 14:21:32 -0400, Tom Lane wrote: > > > Andres Freund <andres@2ndquadrant.com> writes: > > > > On 2014-05-24 12:35:08 -0400, Tom Lane wrote: > > > >> If it's not getting through configure, the only plausible explanation > > > >> seems to be that something in autoconf 2.69 broke it. > > > > > > > It could also be the linking changes made while trying to make missing > > > > PGDLLIMPORTs more visible. > > > > > > None of those changes touched the configure script, though. > > > > Right. > > > > Regina, can you post config.log from 9.3 and 9.4? > > > > There's a couple of bugreports referencing _set_invalid_parameter_handle > > and mingw. With confusingly different explanations... > > I, too, ran into this problem. It boils down to recent MinGW-w64 not > tolerating -Wl,--disable-auto-import: > https://sourceforge.net/p/mingw-w64/bugs/415 Jonathan Yong quickly committed a fix for that bug, and some of the latest MinGW-w64 binary distributions (mingw64-x86_64-runtime 3.2.0-1 from Cygwin; x86_64-4.9.1-release-posix-seh-rt_v3-rev1 from Mingw-builds) include it. > For now, I work around this locally by removing -Wl,--disable-auto-import from > src/template/win32. (Commit 1c9acd5 introduced our use of that flag for this > target.) Let's see how that MinGW-w64 bug progresses; if needed, we can have > "configure" check whether -Wl,--disable-auto-import works before using it. I lean against doing that.