On Thu, 2004-03-11 at 17:26, Tom Lane wrote: > Peter Eisentraut <[EMAIL PROTECTED]> writes: > > Tom Lane wrote: > >> But shouldn't the minor-version bump between 7.3 and 7.4 libpq.so > >> have prevented the dynamic linker from accepting the 7.3 libpq.so as > >> the one to use? I thought the rule was "same major version as > >> requested, minor version >= requested". > > > Maybe, but the directory search order comes first. If a compatible > > library is found, it is used, no matter whether "better" compatible > > library files are available in other directories that are searched > > later. > > But it shouldn't have been considered compatible, period. I am > wondering if the psql executable was misbuilt to specify that it wanted > libpq >= 3.0, rather than >= 3.1 as it should have said. > > regards, tom lane >
I'm ignorant about dynamic library loading... I found the "readelf" program would tell some info about compiled binaries, here's what I've got: cnagy$/opt/pgsql/lib> readelf -d libpq.so Dynamic segment at offset 0x106f4 contains 25 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libcrypt.so.1] 0x00000001 (NEEDED) Shared library: [libresolv.so.2] 0x00000001 (NEEDED) Shared library: [libnsl.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x0000000e (SONAME) Library soname: [libpq.so.3] 0x0000000f (RPATH) Library rpath: [/opt/pgsql/lib] 0x0000000c (INIT) 0x317c 0x0000000d (FINI) 0xd4d0 0x00000004 (HASH) 0x94 0x00000005 (STRTAB) 0x1800 0x00000006 (SYMTAB) 0x7c0 0x0000000a (STRSZ) 2764 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000003 (PLTGOT) 0x107f0 0x00000002 (PLTRELSZ) 1160 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x2cf4 0x00000011 (REL) 0x2554 0x00000012 (RELSZ) 1952 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffe (VERNEED) 0x24d4 0x6fffffff (VERNEEDNUM) 2 0x6ffffff0 (VERSYM) 0x22cc 0x6ffffffa (RELCOUNT) 231 0x00000000 (NULL) 0x0 cnagy$/home/cnagy/dev/domeus/pgsql/src/bin/scripts> readelf -d createdb Dynamic segment at offset 0x46d8 contains 30 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libpq.so.3] 0x00000001 (NEEDED) Shared library: [libz.so.1] 0x00000001 (NEEDED) Shared library: [libreadline.so.4] 0x00000001 (NEEDED) Shared library: [libtermcap.so.2] 0x00000001 (NEEDED) Shared library: [libcrypt.so.1] 0x00000001 (NEEDED) Shared library: [libresolv.so.2] 0x00000001 (NEEDED) Shared library: [libnsl.so.1] 0x00000001 (NEEDED) Shared library: [libdl.so.2] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libc.so.6] 0x0000000f (RPATH) Library rpath: [/opt/pgsql-7.4/lib] 0x0000000c (INIT) 0x8048bac 0x0000000d (FINI) 0x804a968 0x00000004 (HASH) 0x8048128 0x00000005 (STRTAB) 0x8048674 0x00000006 (SYMTAB) 0x80482b4 0x0000000a (STRSZ) 768 (bytes) 0x0000000b (SYMENT) 16 (bytes) 0x00000015 (DEBUG) 0x0 0x00000003 (PLTGOT) 0x804d804 0x00000002 (PLTRELSZ) 352 (bytes) 0x00000014 (PLTREL) REL 0x00000017 (JMPREL) 0x8048a4c 0x00000011 (REL) 0x8048a1c 0x00000012 (RELSZ) 48 (bytes) 0x00000013 (RELENT) 8 (bytes) 0x6ffffffe (VERNEED) 0x80489ec 0x6fffffff (VERNEEDNUM) 1 0x6ffffff0 (VERSYM) 0x8048974 0x00000000 (NULL) 0x0 Looks like there's no minor version info at all in the binaries, I would say... Cheers, Csaba. ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org