On 2014-02-15 17:26:30 -0500, Tom Lane wrote: > Andres Freund <and...@2ndquadrant.com> writes: > > On 2014-02-15 22:11:37 +0100, Marco Atzeri wrote: > >> ../../src/timezone/localtime.o ../../src/timezone/strftime.o > >> ../../src/timezone/pgtz.o ../../src/port/libpgport_srv.a > >> ../../src/common/libpgcommon_srv.a -lintl -lssl -lcrypto -lcrypt -lldap -o > >> postgres > >> libpq/auth.o:auth.c:(.text+0x1940): undefined reference to `in6addr_any' > > > Could you try additionally linking with -lwsock32? > > The interesting question here is why it used to work. There is no > "extern" for in6addr_any in our code, so there must have been a > declaration of that constant in some system header. Which one, and > what linkage is it defining, and where was the linkage getting > resolved before?
mingwcompat.c has the following ugly as heck tidbit: #ifndef WIN32_ONLY_COMPILER /* * MingW defines an extern to this struct, but the actual struct isn't present * in any library. It's trivial enough that we can safely define it * ourselves. */ const struct in6_addr in6addr_any = {{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}}; I think when that was added the problem might just have been misanalyzed, but due to the auto import magic this probably wasn't noticed... Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers