bug-libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Libtool problem with shared lib in non-standard directory


From: Marcel Loose
Subject: Re: Libtool problem with shared lib in non-standard directory
Date: Fri, 27 Jan 2006 12:14:08 +0100

Hi Ralf,

The extra info is below. Hope it helps.

Regards,

        Marcel Loose.

>>> Ralf Wildenhues <address@hidden> 26-01-06 13:56 >>>

*snip*

> Could you also show the link line for creating libblob.la plus libtool
> output, and if it is relinked upon installation, also the same from the
> relink step (that happens upon `make install' of libblob.la)?  I think I
> should be able to create a test to reproduce this, with that information.

The command line for creating libblob.la (run from 
/home/loose/LOFAR/LCS/Blob/build/gnu_debug) :

/bin/sh ../libtool --tag=CXX --mode=link /usr/bin/g++  -g -W -Wall 
-Woverloaded-virtual -Wno-unknown-pragmas       -pthread  
-L/usr/local/log4cplus/gnu/lib -R/usr/local/log4cplus/gnu/lib  
-L/home/loose/LOFAR/installed/gnu_debug/lib 
-R/home/loose/LOFAR/installed/gnu_debug/lib  -o libblob.la -rpath 
/home/loose/LOFAR/installed/gnu_debug/lib  BlobArray.lo BlobField2.lo 
BlobFieldSet.lo BlobHeader.lo BlobIBufChar.lo BlobIBufStream.lo BlobIStream.lo 
BlobOBufChar.lo BlobOBufNull.lo BlobOBufStream.lo BlobOBufString.lo 
BlobOStream.lo BlobString.lo BlobStringType.lo KeyParse.lo KeyTokenize.lo 
KeyParser.lo KeyValue.lo KeyValueMap.lo  -llog4cplus   -lcommon 
mkdir .libs
ar cru .libs/libblob.a  BlobArray.o BlobField2.o BlobFieldSet.o BlobHeader.o 
BlobIBufChar.o BlobIBufStream.o BlobIStream.o BlobOBufChar.o BlobOBufNull.o 
BlobOBufStream.o BlobOBufString.o BlobOStream.o BlobString.o BlobStringType.o 
KeyParse.o KeyTokenize.o KeyParser.o KeyValue.o KeyValueMap.o
ranlib .libs/libblob.a
creating libblob.la

The command line for the relink step (run from 
/home/loose/LOFAR/LCS/Blob/build/gnu_debug) :

 /bin/sh ../libtool --mode=install /usr/bin/install -c -C  'libblob.la' 
'/home/loose/LOFAR/installed/gnu_debug/lib/libblob.la'
/usr/bin/install -c -C .libs/libblob.lai 
/home/loose/LOFAR/installed/gnu_debug/lib/libblob.la
/usr/bin/install -c -C .libs/libblob.a 
/home/loose/LOFAR/installed/gnu_debug/lib/libblob.a
ranlib /home/loose/LOFAR/installed/gnu_debug/lib/libblob.a
chmod 644 /home/loose/LOFAR/installed/gnu_debug/lib/libblob.a
PATH="$PATH:/sbin" ldconfig -n /home/loose/LOFAR/installed/gnu_debug/lib

*snip* 

> Usually, to prevent LD_LIBRARY_PATH or similar from cloaking the
> picture, it is better to look at the output of all of
>   objdump -p tKeyValueMap
>   ldd tKeyValueMap
>   eval echo $`libtool --config | sed -n "/^shlibpath_var=/{
>         s,,,
>         p
>         }"`
> (the last is portable speak for
>   echo $LD_LIBRARY_PATH
> ).

$ objdump -p tKeyValueMap

tKeyValueMap:     file format elf32-i386

Program Header:
    PHDR off    0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
         filesz 0x000000e0 memsz 0x000000e0 flags r-x
  INTERP off    0x00000114 vaddr 0x08048114 paddr 0x08048114 align 2**0
         filesz 0x00000013 memsz 0x00000013 flags r--
    LOAD off    0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
         filesz 0x000409e3 memsz 0x000409e3 flags r-x
    LOAD off    0x00041000 vaddr 0x08089000 paddr 0x08089000 align 2**12
         filesz 0x000004a8 memsz 0x000006b4 flags rw-
 DYNAMIC off    0x0004117c vaddr 0x0808917c paddr 0x0808917c align 2**2
         filesz 0x00000108 memsz 0x00000108 flags rw-
    NOTE off    0x00000128 vaddr 0x08048128 paddr 0x08048128 align 2**2
         filesz 0x00000020 memsz 0x00000020 flags r--
EH_FRAME off    0x000324dc vaddr 0x0807a4dc paddr 0x0807a4dc align 2**2
         filesz 0x00001d44 memsz 0x00001d44 flags r--

Dynamic Section:
  NEEDED      liblog4cplus.so.2
  NEEDED      libpthread.so.0
  NEEDED      librt.so.1
  NEEDED      libboost_thread-gcc-mt-1_32.so.1.32.0
  NEEDED      libstdc++.so.5
  NEEDED      libm.so.6
  NEEDED      libgcc_s.so.1
  NEEDED      libc.so.6
  RPATH       
/usr/local/log4cplus102P1/gcc322/lib:/usr/local/log4cplus/gnu/lib:/home/loose/LOFAR/installed/gnu_debug/lib
  INIT        0x804a588
  FINI        0x80772d0
  HASH        0x8048148
  STRTAB      0x8048f14
  SYMTAB      0x80485b4
  STRSZ       0x1087
  SYMENT      0x10
  DEBUG       0x0
  PLTGOT      0x80892cc
  PLTRELSZ    0x398
  PLTREL      0x11
  JMPREL      0x804a1f0
  REL         0x804a158
  RELSZ       0x98
  RELENT      0x8
  VERNEED     0x804a0c8
  VERNEEDNUM  0x3
  VERSYM      0x8049f9c

Version References:
  required from libgcc_s.so.1:
    0x0b792650 0x00 07 GCC_3.0
    0x0d696910 0x00 06 GLIBC_2.0
  required from libc.so.6:
    0x09691f73 0x00 05 GLIBC_2.1.3
    0x0d696910 0x00 03 GLIBC_2.0
  required from libstdc++.so.5:
    0x056bafd2 0x00 04 CXXABI_1.2
    0x081a2972 0x00 02 GLIBCPP_3.2

$  ldd tKeyValueMap
        liblog4cplus.so.2 => 
/usr/local/log4cplus102P1/gcc322/lib/liblog4cplus.so.2 (0x40017000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x4007f000)
        librt.so.1 => /lib/librt.so.1 (0x4008c000)
        libboost_thread-gcc-mt-1_32.so.1.32.0 => not found
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x4009f000)
        libm.so.6 => /lib/tls/libm.so.6 (0x40152000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40174000)
        libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

$ eval echo $`libtool --config | sed -n "/^shlibpath_var=/{
>         s,,,
>         p
>         }"`
/home/loose/linux/usr/local/lib:/home/loose/linux/lib:.:/local/lib:/usr/lib





reply via email to

[Prev in Thread] Current Thread [Next in Thread]