gcc -maix64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv pg_ctl.o -L../../../src/port -lpgport -L../../../src/interfaces/libpq -lpq -L../../../src/port -Wl,-bbigtoc -Wl,-blibpath:'/users/kehand/pgsql_9.1.3/lib:/usr/lib:/lib' -lpgport -lld -lm -o pg_ctl
ld: 0711-317 ERROR: Undefined symbol: .PQping
Previously I was able to get 9.1.1 and 9.1.4 to build on AIX.
strings -a src/interfaces/libpq/fe-connect.o | grep PQping
PQpingParams
PQping
.PQpingParams
.PQping
PQpingParams
PQpingParams
PQping
PQping
dump -tv -X64 src/interfaces/libpq/libpq.so.5 | grep PQping
The same dump command on the 9.1.4 libpq.so.5:
dump -tv -X64 /users/kehand/postgresql_9.1.4/lib/libpq.so.5 | grep PQping
[1120] m 0x1000c2a8 .text 1 extern .PQpingParams
[1124] m 0x1000c3e4 .text 1 extern .PQping
[1278] m 0x200030b8 .data 1 unamex PQpingParams
[1280] m 0x200030b8 .data 1 extern PQpingParams
[1286] m 0x200030e8 .data 1 unamex PQping
[1288] m 0x200030e8 .data 1 extern PQping
So the symbol isn’t making it into the shared object. Anyone have any idea as to why?
There is actually only ~478 symbols in the 9.1.3 generated libpq.so.5, and seemingly none of the postgres ones.