ecpg build now breaks mingw
dllwrap -o libecpg.dll --dllname libecpg.dll --def libecpgdll.def execute.o typename.o descriptor.o data.o error.o prepare.o memory.o connect.o misc.o path.o strlcpy.o snprintf.o -L../pgtypeslib -L../../../../src/interfaces/libpq -L../../../../src/port -L/mingw/lib -lpgtypes -lpq -lm -lshfolder
path.o(.text+0x741): In function `get_progname':
C:/msys/1.0/local/pgbuildfarm/buildroot/HEAD/pgsql.836/src/interfaces/ecpg/ecpglib/path.c:413: undefined reference to `pg_strcasecmp'
c:\MinGW\bin\dllwrap.exe: c:\MinGW\bin\gcc exited with status 1
I presume that this symbol was previously exported by the pgtypes lib but now we have an explicit exports list is no longer.
Is it just a matter of adding a line to the exports.txt file?
cheers
andrew
Andrew Dunstan <andrew@dunslane.net> writes:
dllwrap -o libecpg.dll --dllname libecpg.dll --def libecpgdll.def execute.o typename.o descriptor.o data.o error.o prepare.o memory.o connect.o misc.o path.o strlcpy.o snprintf.o -L../pgtypeslib -L../../../../src/interfaces/libpq -L../../../../src/port -L/mingw/lib -lpgtypes -lpq -lm -lshfolder
path.o(.text+0x741): In function `get_progname':
C:/msys/1.0/local/pgbuildfarm/buildroot/HEAD/pgsql.836/src/interfaces/ecpg/ecpglib/path.c:413: undefined reference to `pg_strcasecmp'
I just fixed that.
I presume that this symbol was previously exported by the pgtypes lib but now we have an explicit exports list is no longer.
Is it just a matter of adding a line to the exports.txt file?
Well, that would be the solution if we intended to make pg_strcasecmp
part of libpgtype's official API, but that doesn't seem like a good plan
at all. Instead, the right thing is for ecpglib to pull its own copy
from src/port/.
BTW, it looks like this dependency exists only on Cygwin/Win32, not
other platforms, which is no doubt why we didn't see it before.
regards, tom lane