libtool
[Top][All Lists]
Advanced

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

Re: [autogen] Re: autogen-5.8 build feedback [SGI IRIX 6.5]


From: Bruce Korb
Subject: Re: [autogen] Re: autogen-5.8 build feedback [SGI IRIX 6.5]
Date: Fri, 16 Dec 2005 11:52:31 -0800
User-agent: Mozilla Thunderbird 1.0.7 (X11/20050923)

Nelson H. F. Beebe wrote:

Here is what I found:

        % /usr/local/bin/autogen --version
        autogen - The Automated Program Generator - Ver. 5.7.3

        % /local/build/autogen-5.8/agen5/autogen --version
        305962:/local/build/autogen-5.8/agen5/.libs/lt-autogen: rld: Error: 
unresolvable symbol in /usr/local/libn32/libguile-ltdl.so.2: __eprintf
        305962:/local/build/autogen-5.8/agen5/.libs/lt-autogen: rld: Fatal 
Error: this executable has unresolvable symbols

        % file /local/build/autogen-5.8/agen5/.libs/lt-autogen
        /local/build/autogen-5.8/agen5/.libs/lt-autogen: ELF 32-bit N32 MSB 
MIPS-III executable, MIPS, version 1 (SYSV), dynamically linked (uses shared 
libs), stripped

        % ldd /local/build/autogen-5.8/agen5/.libs/lt-autogen
libopts.so.26 => /usr/local/libn32/libopts.so.26 libguile.so.13 => /usr/local/libn32/libguile.so.13 libguile-ltdl.so.2 => /usr/local/libn32/libguile-ltdl.so.2 libcrypt.so => /usr/lib32/libcrypt.so libgen.so => /usr/lib32/libgen.so libm.so => /usr/lib32/libm.so libdl.so => /usr/lib32/libdl.so libc.so.1 => /usr/lib32/libc.so.1 libgcc_s.so.1 => /usr/local/libn32/libgcc_s.so.1

The wrong libopts is getting pulled here.  It should be:

/local/build/autogen-5.8/autoopts/.libs/libopts.so.25  (where did .so.26 come 
from?)

Unfortunately, the /local/build/autogen-5.8/agen5/autogen script does not set
LD_LIBRARY_PATH and allows lt-autogen to pick up the wrong version.
The libtool version I am using is:

  ltmain.sh (GNU libtool) 1.5.20 (1.1220.2.287 2005/08/31 18:54:15)

I was told here:

  http://lists.gnu.org/archive/html/libtool/2005-12/msg00056.html

that one must await 1.5.22.  I was hoping that it meant for unusual
circumstances.  Perhaps several libtool versions are broken for any
library that is changing its interface.  Looks like I am hosed.  The
workaround is basically set LD_LIBRARY_PATH during the build.  Sorry.  :(
Any helpful suggestions from libtool folks?

Thanks - Bruce



P.S. for Linux i386 SuSE 9.2:

$ objdump -p autogen

autogen:     file format elf32-i386

Program Header:
   PHDR off    0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
        filesz 0x00000100 memsz 0x00000100 flags r-x
 INTERP off    0x00000134 vaddr 0x08048134 paddr 0x08048134 align 2**0
        filesz 0x00000013 memsz 0x00000013 flags r--
   LOAD off    0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
        filesz 0x000227c4 memsz 0x000227c4 flags r-x
   LOAD off    0x00023000 vaddr 0x0806b000 paddr 0x0806b000 align 2**12
        filesz 0x00001320 memsz 0x00004e1c flags rw-
DYNAMIC off    0x00023014 vaddr 0x0806b014 paddr 0x0806b014 align 2**2
        filesz 0x00000118 memsz 0x00000118 flags rw-
   NOTE off    0x00000148 vaddr 0x08048148 paddr 0x08048148 align 2**2
        filesz 0x00000020 memsz 0x00000020 flags r--
   NOTE off    0x00000168 vaddr 0x08048168 paddr 0x08048168 align 2**2
        filesz 0x00000018 memsz 0x00000018 flags r--
  STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
        filesz 0x00000000 memsz 0x00000000 flags rw-

Dynamic Section:
 NEEDED      libopts.so.25
 NEEDED      libguile.so.12
 NEEDED      libguile-ltdl.so.1
 NEEDED      libcrypt.so.1
 NEEDED      libimf.so
 NEEDED      libm.so.6
 NEEDED      libdl.so.2
 NEEDED      libgcc_s.so.1
 NEEDED      libc.so.6
 RPATH       /home/bkorb/ag/ag/autoopts/.libs:/usr/local/lib
 RUNPATH     /home/bkorb/ag/ag/autoopts/.libs:/usr/local/lib
 INIT        0x804be40
 FINI        0x8064424
 HASH        0x8048180
 STRTAB      0x804a2b4
 SYMTAB      0x8048b74
 STRSZ       0x1311
 SYMENT      0x10
 DEBUG       0x0
 PLTGOT      0x806b134
 PLTRELSZ    0x4c0
 PLTREL      0x11
 JMPREL      0x804b980
 REL         0x804b950
 RELSZ       0x30
 RELENT      0x8
 VERNEED     0x804b8b0
 VERNEEDNUM  0x2
 VERSYM      0x804b5c6

Version References:
 required from libdl.so.2:
   0x0d696911 0x00 09 GLIBC_2.1
   0x0d696910 0x00 06 GLIBC_2.0
 required from libc.so.6:
   0x0d696913 0x00 08 GLIBC_2.3
   0x09691f73 0x00 07 GLIBC_2.1.3
   0x0d696912 0x00 05 GLIBC_2.2
   0x0d696911 0x00 04 GLIBC_2.1
   0x0d696910 0x00 03 GLIBC_2.0
   0x09691974 0x00 02 GLIBC_2.3.4

$ ldd autogen
       linux-gate.so.1 =>  (0xffffe000)
       libopts.so.25 => /usr/local/lib/libopts.so.25 (0x40018000)
       libguile.so.12 => /usr/local/lib/libguile.so.12 (0x40033000)
       libguile-ltdl.so.1 => /usr/local/lib/libguile-ltdl.so.1 (0x400c5000)
       libcrypt.so.1 => /lib/libcrypt.so.1 (0x400eb000)
       libimf.so => /opt/intel/cc/9.0/lib/libimf.so (0x4011d000)
       libm.so.6 => /lib/tls/libm.so.6 (0x402f9000)
       libdl.so.2 => /lib/libdl.so.2 (0x4031c000)
       libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40321000)
       libc.so.6 => /lib/tls/libc.so.6 (0x40329000)
       /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

So, *DESPITE* the RPATH/RUNPATH being set in the executable, "ldd" has
decided it will pick up /usr/local/lib/libopts.so.25 anyway.  :(





reply via email to

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