Re: OpenGL
On Wednesday 05 July 2006 16:52, Francesco Pietra wrote:
> ..... when (on jwm window manager) trying to
> launch the application from within its directory:
>
> $./<applicationname> return
> bash: error while loading shared libraries: libXm.so.3: cannot open shared
> object: No such file or directory
What do you see when you do
$ ldd applicationname
?
On my 64 bit machine I get, for a correctly-installed application (in this
case, /usr/bin/perl):
$ ldd /usr/bin/perl
libperl.so.5.8 => /usr/lib/libperl.so.5.8 (0x0000002a9566c000)
libdl.so.2 => /lib/libdl.so.2 (0x0000002a9589b000)
libm.so.6 => /lib/libm.so.6 (0x0000002a9599e000)
libpthread.so.0 => /lib/libpthread.so.0 (0x0000002a95b24000)
libc.so.6 => /lib/libc.so.6 (0x0000002a95c39000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x0000002a95e78000)
/lib64/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
(0x0000002a95556000)
on a 32-bit machine:
$ ldd /usr/bin/perl
libdl.so.2 => /lib/libdl.so.2 (0x40020000)
libm.so.6 => /lib/libm.so.6 (0x40023000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40045000)
libc.so.6 => /lib/libc.so.6 (0x40096000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x401ca000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
As you can see, on the 64-bit processor, the numbers are 16 digits long; on
the 32-bit processor, the numbers are only 8 digits long. An
improperly-installed application {RealPlayer on 64-bit} shows the
following:
$ ldd realplay.bin
linux-gate.so.1 => (0xffffe000)
libgdk-x11-2.0.so.0 => not found
libatk-1.0.so.0 => not found
libgdk_pixbuf-2.0.so.0 => not found
libpangoxft-1.0.so.0 => not found
libpangox-1.0.so.0 => not found
libpango-1.0.so.0 => not found
libgobject-2.0.so.0 => not found
libgmodule-2.0.so.0 => not found
libdl.so.2 => /lib32/libdl.so.2 (0x5558b000)
libglib-2.0.so.0 => not found
libgtk-x11-2.0.so.0 => not found
libpthread.so.0 => /lib32/libpthread.so.0 (0x55590000)
libstdc++.so.5 => /usr/lib32/libstdc++.so.5 (0x555a2000)
libm.so.6 => /lib32/libm.so.6 (0x5565c000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0x55680000)
libc.so.6 => /lib32/libc.so.6 (0x5568b000)
libX11.so.6 => /emul/ia32-linux/usr/X11R6/lib/libX11.so.6 (0x557bc000)
/lib/ld-linux.so.2 (0x55555000)
This shows, not all the required libraries could be found. The numbers are 8
digits long, because even though it is a 64-bit processor, the application
was compiled in 32-bit mode and so expecting 32-bit libraries.
Use ldd to check to see whether you application is expecting 32- or 64-bit
libraries, and whether any are missing. Also, try {as root} running
ldconfig.
If there is a missing library, the easiest way to deal with that probably is
to extract it manually from the corresponding i386 .deb file. First use
$ ar x foo.deb
to split open the .deb, which will contain several files; including one called
data.tar.gz {which bears more than a passing resemblance to a Slackware
package}. The files you need are in there, so just un-tar this and copy them
to your preferred location.
--
AJS
delta echo bravo six four at earthshod dot co dot uk
Reply to:
- Follow-Ups:
- Re: OpenGL
- From: Francesco Pietra <frapietra@alice.it>
- Re: OpenGL
- From: Francesco Pietra <frapietra@alice.it>
- References:
- OpenGL
- From: Francesco Pietra <frapietra@alice.it>