running ia32 binaries with same .so names as ia64
Since Perl is not working for the SPEC harness, I have brought over specperl that SPEC2000 distribution disk which is for RedHat6.0 and later.
When I run it looks for an IA32 libgdbm.so.2 and reports "error in loading shared libraries: libgdbm.so.2: ELF file class not 32-bit". So I copied it from a IA32 box from /usr/lib and put it in /usr/i386-glibc21-linux/usr/lib. This still does not fix the problem (same error message). But if I put it in /usr/lib/temp and set LD_LIBRARY_PATH to /usr/lib/temp:$LD_LIBRARY_PATH then everything runs fine.
Any ideas on how to do this without the LD_LIBRARY_PATH?
To generalize, if I want to bring over a IA32 binary linked against some .so's with the same name(s) as on IA64, where do I place the IA32 .so's so they are found without setting LD_LIBRARY_PATH?
-Ross
Ross-
In a word, `ldconfig' is your friend.
We've modified the Runtime loader to only get libraries of the appropriate architecture out of the /etc/ld.so.cache'. All you need to do is put your IA64 and IA32 libraries in different directories, put those directory names in /etc/ld.so.conf' and then run `ldconfig' to create the cache. From then on your IA64 and IA32 programs can refer to libraries of the same name and get the right one.
As an example, my `/etc/ld.so.conf' contains:
/usr/lib /usr/X11R6/lib /usr/ia32/lib /usr/ia32/urs/lib /usr/ia32/usr/X11R6/lib
Just make sure you re-run `ldconfig' after you put a new library in one of these directories.
Quoted 23 lines · Ross A. Towle
Since Perl is not working for the SPEC harness, I have brought over specperl that SPEC2000 distribution disk which is for RedHat6.0 and later.
When I run it looks for an IA32 libgdbm.so.2 and reports "error in loading shared libraries: libgdbm.so.2: ELF file class not 32-bit". So I copied it from a IA32 box from
/usr/liband put it in/usr/i386-glibc21-linux/usr/lib. This still does not fix the problem (same error message). But if I put it in/usr/lib/tempand setLD_LIBRARY_PATHto /usr/lib/temp:$LD_LIBRARY_PATH then everything runs fine.Any ideas on how to do this without the
LD_LIBRARY_PATH?To generalize, if I want to bring over a IA32 binary linked against some .so's with the same name(s) as on IA64, where do I place the IA32 .so's so they are found without setting
LD_LIBRARY_PATH?-Ross
_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64
Signature · 4 lines
Don Dugger "Censeo Toto nos in Kansa esse decisse." - D. Gale [email protected] Ph: 303/938-9838