On 02/14/2014 08:18 PM, Andres Freund wrote:
On 2014-02-14 19:44:11 -0500, Andrew Dunstan wrote:
On 02/12/2014 12:04 PM, Tom Lane wrote:
Use --disable-auto-import linker switch in Mingw builds, too.
This is evidently the default on buildfarm member narwhal, but that
is a pretty ancient Mingw version, and there is reason to think that
more recent versions of GNU ld have this feature turned on by default.
Since we are trying to achieve consistency of link behavior across
all Windows toolchains, let's just make sure here.
This appears to have broken configure on jacana (probably the most modern
Mingw animal we have).
According to a quick search that's caused by a bug in mingw...
http://sourceforge.net/p/mingw/bugs/2020/ and some others.
Any chance you could update to a slighly newer version?
This is not the mingw compiler, it's the mingw-w64 compiler, a subtle
difference.
I installed the compiler from
<http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/gcc-4.8-release>
and it got over this hurdle. Interestingly it says it's gcc 4.8.0, while
the failing version claimed to be 4.8.1, even though this one is dated
quite a lot later.
However, the build now fails like this:
make[1]: Entering directory
`/home/pgrunner/bf/root/HEAD/pgsql.6024/contrib/pg_buffercache'
x86_64-w64-mingw32-gcc -O2 -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
-fwrapv -fexcess-precision=standard -g -I.
-I/home/pgrunner/bf/root/HEAD/pgsql.6024/../pgsql/contrib/pg_buffercache
-I../../src/include
-I/home/pgrunner/bf/root/HEAD/pgsql.6024/../pgsql/src/include
-I../pgsql/src/include/port/win32 -DEXEC_BACKEND
-I/c/prog/3p64/include/libxml2 -I/c/prog/3p64/include
-I/c/prog/3p64/openssl/include
"-I/home/pgrunner/bf/root/HEAD/pgsql.6024/../pgsql/src/include/port/win32"
-c -o pg_buffercache_pages.o
/home/pgrunner/bf/root/HEAD/pgsql.6024/../pgsql/contrib/pg_buffercache/pg_buffercache_pages.c
x86_64-w64-mingw32-gcc -O2 -Wall -Wmissing-prototypes
-Wpointer-arith -Wdeclaration-after-statement -Wendif-labels
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
-fwrapv -fexcess-precision=standard -g -shared -o
pg_buffercache.dll pg_buffercache_pages.o -L../../src/port
-L../../src/common -Wl,--allow-multiple-definition
-Wl,--disable-auto-import -L/c/prog/3p64/lib -L/c/prog/3p64/lib
-L/c/prog/3p64/openssl/lib/VC -Wl,--as-needed -L../../src/backend
-lpostgres -lpgcommon -lpgport -lintl -lxslt -lxml2 -lz -lwsock32
-lm -lws2_32 -lshfolder -Wl,--export-all-symbols
-Wl,--out-implib=libpg_buffercache.a
pg_buffercache_pages.o: In function `pg_buffercache_pages':
c:/MinGW/msys/1.0/home/pgrunner/bf/root/HEAD/pgsql.6024/../pgsql/contrib/pg_buffercache/pg_buffercache_pages.c:119:
undefined reference to `MainLWLockArray'
c:/MinGW/msys/1.0/home/pgrunner/bf/root/HEAD/pgsql.6024/../pgsql/contrib/pg_buffercache/pg_buffercache_pages.c:160:
undefined reference to `MainLWLockArray'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [pg_buffercache.dll] Error 1
make[1]: Leaving directory
`/home/pgrunner/bf/root/HEAD/pgsql.6024/contrib/pg_buffercache'
Note that by this time "make check" has already passed.
cheers
andrew
Greetings,
Andres Freund
--
Sent via pgsql-committers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers