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.

Reply via email to