[Various] libc/1336: Problem building JDK 1.2.1 with glibc 2.1.2
Kars de Jong
jongk@linux-m68k.org
Fri Nov 5 08:12:00 GMT 1999
On Fri, Nov 05, 1999 at 04:48:03PM +0100, Mark Kettenis wrote:
> If I'm not mistaken the problem Kars reported happens when libtt.so.2
> cannot be found by the dynamic linker. Or is there an old version
> living in /usr/lib ?
No, no old versions around. It only happens when it can't be found.
> My guess is that in the versioning information in ttcp, somehow the
> dependency on libpthread is recorded, while no DT_NEEDED entry for
> libpthread is included. Could you try to figure out if this is indeed
> the case Kars?
Looks like a Bingo! to me:
bash$ readelf -d -V ttcp
Dynamic segment at offset 0x32a8 contains 23 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libtt.so.2]
0x00000001 (NEEDED) Shared library: [libdl.so.2]
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libc.so.6]
^^^^^^^^^^^^^^^^^^^ No libpthread here! ^^^^^^^^^^^^^^^^^^^^^^^^^^^
0x0000000c (INIT) 0x800018e8
0x0000000d (FINI) 0x80002f84
0x00000004 (HASH) 0x80000124
0x00000005 (STRTAB) 0x80000cc4
0x00000006 (SYMTAB) 0x800004b4
0x0000000a (STRSZ) 2146 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0
0x00000003 (PLTGOT) 0x800051e0
0x00000002 (PLTRELSZ) 564 (bytes)
0x00000014 (PLTREL) RELA
0x00000017 (JMPREL) 0x800016b4
0x00000007 (RELA) 0x8000169c
0x00000008 (RELASZ) 24 (bytes)
0x00000009 (RELAENT) 12 (bytes)
0x6ffffffe (VERNEED) 0x8000164c
0x6fffffff (VERNEEDNUM) 2
0x6ffffff0 (VERSYM) 0x8000154a
0x00000000 (NULL) 0
Version symbols section '.gnu.version' contains 129 entries:
Addr: 000000008000154a Offset: 0x00154a Link: 4 (.dynsym)
000: 0 (*local*) 2 (GLIBC_2.1) 0 (*local*) 3 (GLIBC_2.0)
004: 3 (GLIBC_2.0) 0 (*local*) 3 (GLIBC_2.0) 3 (GLIBC_2.0)
008: 0 (*local*) 0 (*local*) 1 (*global*) 3 (GLIBC_2.0)
00c: 3 (GLIBC_2.0) 3 (GLIBC_2.0) 1 (*global*) 4 (GLIBC_2.0)
010: 3 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0)
014: 0 (*local*) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 4 (GLIBC_2.0)
018: 4 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 0 (*local*)
01c: 0 (*local*) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0)
010: 3 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0)
014: 0 (*local*) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 4 (GLIBC_2.0)
018: 4 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 0 (*local*)
01c: 0 (*local*) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0)
020: 3 (GLIBC_2.0) 4 (GLIBC_2.0) 4 (GLIBC_2.0) 3 (GLIBC_2.0)
024: 3 (GLIBC_2.0) 0 (*local*) 0 (*local*) 3 (GLIBC_2.0)
028: 3 (GLIBC_2.0) 3 (GLIBC_2.0) 0 (*local*) 0 (*local*)
02c: 3 (GLIBC_2.0) 0 (*local*) 0 (*local*) 1 (*global*)
030: 0 (*local*) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0)
034: 3 (GLIBC_2.0) 3 (GLIBC_2.0) 0 (*local*) 3 (GLIBC_2.0)
038: 3 (GLIBC_2.0) 4 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0)
03c: 3 (GLIBC_2.0) 4 (GLIBC_2.0) 3 (GLIBC_2.0) 0 (*local*)
040: 0 (*local*) 4 (GLIBC_2.0) 3 (GLIBC_2.0) 0 (*local*)
044: 0 (*local*) 3 (GLIBC_2.0) 0 (*local*) 3 (GLIBC_2.0)
048: 0 (*local*) 3 (GLIBC_2.0) 0 (*local*) 3 (GLIBC_2.0)
04c: 0 (*local*) 3 (GLIBC_2.0) 0 (*local*) 3 (GLIBC_2.0)
050: 3 (GLIBC_2.0) 0 (*local*) 0 (*local*) 1 (*global*)
054: 3 (GLIBC_2.0) 3 (GLIBC_2.0) 0 (*local*) 0 (*local*)
058: 4 (GLIBC_2.0) 0 (*local*) 3 (GLIBC_2.0) 0 (*local*)
05c: 3 (GLIBC_2.0) 3 (GLIBC_2.0) 4 (GLIBC_2.0) 1 (*global*)
060: 3 (GLIBC_2.0) 3 (GLIBC_2.0) 4 (GLIBC_2.0) 3 (GLIBC_2.0)
064: 0 (*local*) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0)
068: 3 (GLIBC_2.0) 4 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0)
06c: 1 (*global*) 1 (*global*) 1 (*global*) 3 (GLIBC_2.0)
070: 0 (*local*) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 0 (*local*)
074: 1 (*global*) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0)
078: 3 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 0 (*local*)
07c: 3 (GLIBC_2.0) 3 (GLIBC_2.0) 3 (GLIBC_2.0) 1 (*global*)
080: 3 (GLIBC_2.0)
Version needs section '.gnu.version_r' contains 2 entries:
Addr: 0x000000008000164c Offset: 0x00164c Link to section: 5 (.dynstr)
000000: Version: 1 File: libc.so.6 Cnt: 1
0x0010: Name: GLIBC_2.0 Flags: none Version: 4
0x0020: Version: 1 File: libpthread.so.0 Cnt: 2
^^^^^^^^^^^^^^^
0x0030: Name: GLIBC_2.0 Flags: none Version: 3
0x0040: Name: GLIBC_2.1 Flags: none Version: 2
bash$
Kars.
--
------------------------------------------------------------------------------
Kars de Jong Signaalkamp rules the waves! Turrican@Discworld
--------======]**-----| jongk@cs.utwente.nl |-----**[======---------
More information about the Libc-alpha
mailing list