libsasl2.so.2: no version information available

Ondrej Koala Vacha koala na vju.cz
Úterý Září 26 21:30:02 CEST 2006


On Tue, 26 Sep 2006, Pavel Kankovsky wrote:

> On Thu, 21 Sep 2006, Ondrej Koala Vacha wrote:
> 
> > # ldd -v /usr/cyrus/bin/imapd 
> > /usr/cyrus/bin/imapd: /usr/local/lib/libsasl2.so.2: no version information available (required by /usr/cyrus/bin/imapd)
> [...]
> > Cim to je? Spatny zdroj nebo chybejici kompilacni parametr?
> 
> To je dost zajímavé. Asi to má znamenat, že je libsasl2.so.2 zcela prostá 
> verzovaných symbolů. Což se mi jeví skoro nemožné, když už jsou pár let 
> v glibc a aspoň s glibc by to mělo být slinkované.

Je to divne, ale googlenim jsem nasel nekolik desitek verzi tohoto dotazu, 
bohuzel pokazde bez odpovedi :(


 
> Hlásí ldd -v /usr/local/lib/libsasl2.so.2 něco podobného?

Ne:

# ldd -v /usr/local/lib/libsasl2.so.2
        linux-gate.so.1 =>  (0xffffe000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0xb7f0e000)
        libresolv.so.2 => /lib/tls/libresolv.so.2 (0xb7efa000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7dc2000)
        libmysqlclient.so.15 => /pub/mysql/local/lib/mysql/libmysqlclient.so.15 (0xb7d5d000)
        /lib/ld-linux.so.2 (0x80000000)
        libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7d2f000)
        libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7d19000)
        libm.so.6 => /lib/tls/libm.so.6 (0xb7cf3000)
        libz.so.1 => /pub/mysql/local/lib/mysql/libz.so.1 (0xb7cdd000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7ccb000)

        Version information:
        /usr/local/lib/libsasl2.so.2:
                libdl.so.2 (GLIBC_2.1) => /lib/tls/libdl.so.2
                libdl.so.2 (GLIBC_2.0) => /lib/tls/libdl.so.2
                libmysqlclient.so.15 (libmysqlclient_15) => /pub/mysql/local/lib/mysql/libmysqlclient.so.15
                libc.so.6 (GLIBC_2.1.3) => /lib/tls/libc.so.6
                libc.so.6 (GLIBC_2.1) => /lib/tls/libc.so.6
                libc.so.6 (GLIBC_2.3) => /lib/tls/libc.so.6
                libc.so.6 (GLIBC_2.0) => /lib/tls/libc.so.6

...

> Co říká na objdump -T /usr/local/lib/libsasl2.so.2? Jsou tam mezi adresou 
> a symbolem názvy verzí jako GLIBC_2.0?
> 

Zda se ze ano:

# objdump -T /usr/local/lib/libsasl2.so.2

/usr/local/lib/libsasl2.so.2:     file format elf32-i386

DYNAMIC SYMBOL TABLE:
00002c2c l    d  .init  00000000              .init
000034c0 l    d  .text  00000000              .text
000134c4 l    d  .fini  00000000              .fini
000134e0 l    d  .rodata        00000000              .rodata
00015308 l    d  .eh_frame      00000000              .eh_frame
0001630c l    d  .ctors 00000000              .ctors
00016314 l    d  .dtors 00000000              .dtors
0001631c l    d  .jcr   00000000              .jcr
00016320 l    d  .data.rel.ro   00000000              .data.rel.ro
00016760 l    d  .data  00000000              .data
00016920 l    d  .bss   00000000              .bss
00000000      DF *UND*  00000042  GLIBC_2.0   freeaddrinfo
0001696c g    DO .bss   00000008  Base        global_callbacks_client
00008970 g    DF .text  00000078  Base        sasl_idle
00006f20 g    DF .text  00000093  Base        _sasl_client_mechs
000125b0 g    DF .text  0000005c  Base        _plug_snprintf_os_info
00012070 g    DF .text  00000139  Base        _plug_buf_alloc
00012760 g    DF .text  0000004d  Base        _plug_get_error_message
00000000      DF *UND*  00000062  GLIBC_2.0   ferror

....


--
Ondrej Koala Vacha


Další informace o konferenci Linux