Re: "make check" fails for 7.4.2 checked out from CVS

From: Csaba Nagy <nagy(at)ecircle-ag(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Postgres general mailing list <pgsql-general(at)postgresql(dot)org>
Subject: Re: "make check" fails for 7.4.2 checked out from CVS
Date: 2004-03-11 17:48:11
Message-ID: 1079027291.25347.4.camel@coppola.ecircle.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, 2004-03-11 at 17:26, Tom Lane wrote:
> Peter Eisentraut <peter_e(at)gmx(dot)net> 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.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2004-03-11 17:53:47 Re: postgres FROM clause problem
Previous Message Paolo Tavalazzi 2004-03-11 17:25:48 Re: postgres FROM clause problem