Does DBI.pm's DBI.so rely on a particular version of libc.so.6? It builds (apparently) successfully but when I run "make test" I get failures saying "Error: Can't load '/home/tony/dbi-1.58/blib/arch/auto/DBI/DBI.so' for module DBI: /home/tony/dbi-1.58/blib/arch/auto/DBI/DBI.so: cannot open shared object file: No such file or directory at /scratchbox/tools/lib/perl5/5.8.4/i686-linux-thread-multi/DynaLoader.pm line 230"
Running "strace make test", it appears to be trying and failing to load libc.so.6 from all over the filesystem, for example: --------------------------------------------------------------------------------------------------- open("/scratchbox/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/host_usr/lib/tls/i686/mmx/cmov/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/host_usr/lib/tls/i686/mmx/cmov", 0xbf8633a8) = -1 ENOENT (No such file or directory) open("/host_usr/lib/tls/i686/mmx/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/host_usr/lib/tls/i686/mmx", 0xbf8633a8) = -1 ENOENT (No such file or directory) open("/host_usr/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/host_usr/lib/tls/i686/cmov", 0xbf8633a8) = -1 ENOENT (No such file or directory) open("/host_usr/lib/tls/i686/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/host_usr/lib/tls/i686", 0xbf8633a8) = -1 ENOENT (No such file or directory) open("/host_usr/lib/tls/mmx/cmov/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/host_usr/lib/tls/mmx/cmov", 0xbf8633a8) = -1 ENOENT (No such file or directory) open("/host_usr/lib/tls/mmx/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) --------------------------------------------------------------------------------------------------------- Since libc.so.6 exists in /lib, my best guess is that perhaps DBI doesn't like the particular version of this library (it's symlinked to libc-2.3.6.so, as opposed to libc-2.5.so on a system where DBI works.) so it's hunting for a version it can use (though why it's going through those paths is a mystery). Is this my problem or is it something else? If it is the problem, was there an older version of DBI that can use libc-2.3.6.so? (I've tried building a few older ones with no success though) or do I need to build DBI statically linked against a newer version of the library? (It's for public distribution, so I can't just put a newer one in for dynamic linking.) Thanks. -- Tony Green Ipswich, Suffolk, England http://www.beermad.org.uk http://no2id-ip.web-brewer.co.uk ** This message is digitally signed. If your email client is unable to read digital signatures, you may see an attachment that you cannot open. See http://www.gnupg.org/(en)/documentation/faqs.html for more information. You can validate my PGP key from my website: http://www.beermad.org.uk/ * No Micro$oft products were used in the generation of this communication