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-autogenlibopts.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. :( _______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool
