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

Re: OpenGL



On Thursday 06 July 2006 10:58, A J Stiles wrote:
> 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
> ?
For a global-search molecular-mechanics application that I compiled (and which 
has no graphics):
$ldd /home/francesco/applicationdir/executable
lib.so.6 => /lib/libm.so.6    (0x00002aaaaabc3000)
lib.so.6 => /lib/libc.so.6     (0x00002aaaaad49000)
/lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)

For the molecular mechanics application (which contains all its libraries 
except for OpenGL graphics) and which gives above errors while trying to 
load:
$ldd /home/francesco/applicationdir/executable
linux-gate.so.1 => (0xffffe000)
libXm.so.3 => not found
libGL.so.1 => not found
libGLU.so.1 => not found
libjpeg.so.62 => not found
libXt.so.6 => not found
libXt.so.6 => not found
libX11.so.6 => not found
libm.so.6 => /lib32/libm.so.6 (0x55578000)
libc.so.6  => /lib32/libc.so.6 (0x5559c000)
/lib/ld-linux.so.2 (0x55555000)
libXmu.so.6 => not found

The
/lib64
/lib32
comes as a surprise because, after base installation, I did
#apt-get remove --purge libc6-i386
resulting in
/lib
/lib64 -> /lib

I did not check what happened after 
---various update/upgrade
---install lm-sensors
---apt-get remove libsc7 (and mpqc2.3.0) in order to be able to install libsc8 
and tk8.4 requested to imnstall mpqc2.3.1
---apt-get -f install (to resolve two broken packages: do not remember which 
ones)
---install lesstif1

Really I did not want to have 32bit libraries but I understand that it may be 
difficult to prevent having them.

>
> 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.

deb64:/# ldcofig
after a while reports nothing (or did you mean issuing this command for a 
particular directory?)
>
> 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.

Nothing done for the moment; waiting if my above report suggestes anything 
specific

thank you
francesco
>
> --
> AJS
> delta echo bravo six four at earthshod dot co dot uk



Reply to: