Thread: Re: [pgsql-hackers-win32] build error in initdb on win32
>Current cvs does not compile on win32. Error is: > >gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes >-Wmissing-declarations initdb.o win32ver.o >-L../../../src/interfaces/libpq -lpq -L../../../src/port >-L/c/openssl/lib/MingW -lpgport -lssleay32 -leay32 -lwsock32 -lm >-lws2_32 -o initdb.exe >initdb.o(.text+0xad6):initdb.c: undefined reference to >`pg_char_to_encoding' >initdb.o(.text+0xae8):initdb.c: undefined reference to >`pg_valid_server_encoding' >initdb.o(.text+0x3dc0):initdb.c: undefined reference to `pqsignal' >initdb.o(.text+0x5c76):initdb.c: undefined reference to `pqsignal' >initdb.o(.text+0x5c84):initdb.c: undefined reference to `pqsignal' >initdb.o(.text+0x5c92):initdb.c: undefined reference to `pqsignal' >initdb.o(.text+0x5ca0):initdb.c: undefined reference to `pqsignal' >initdb.o(.text+0x5cab):initdb.c: more undefined references to >`pqsignal' >follow >make: *** [initdb] Error 1 > > > >I beleive this stopped working sometime the past couple of days. Ideas? Not so. It came from a patch of my own :-) The underlying problem is still there, though. initdb is pulling all these symbols in from libpq.dll, which is clearly the wrong place to get them... Or are they supposed to be available? If so, they should be added to the official API, no? (The problem occured when I tried to fix the problem "fix MinGW libpq to export only required symbols". I have a patch that fixes this problem, but causes these others instead) Best way to fix this? //Magnus
"Magnus Hagander" <mha@sollentuna.net> writes: > The underlying problem is still there, though. initdb is pulling all > these symbols in from libpq.dll, which is clearly the wrong place to get > them... Or are they supposed to be available? If so, they should be > added to the official API, no? "Used by our own code" does not equate to "should be part of the official API". > (The problem occured when I tried to fix the problem "fix MinGW libpq to > export only required symbols". I have a patch that fixes this problem, > but causes these others instead) You'd better back off a little on what you're removing. Or forget the whole thing; I don't really agree that the above is a bug. libpq has always had rather more visible symbols than are in the official API, and there are probably people using some of them. regards, tom lane