Facebook Twitter YouTube Frictional Games | Forum | Privacy Policy | Dev Blog | Dev Wiki | Support | Gametee


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
libGLU.so.1 not found by ldd but seems to be present
opscure Offline
Junior Member

Posts: 2
Threads: 1
Joined: Sep 2012
Reputation: 0
#1
Solved: 8 Years, 10 Months ago Photo  libGLU.so.1 not found by ldd but seems to be present

Good day to all,
I am currently trying to get Amnesia to run on my ubuntu machine. I am using the latest version of the game and am using the proprietary nvidia drivers. When I run an ldd on Amnesia.bin64 it is reporting that libGLU.so.1 is not found. If I run a find on my machine libGLU.so.1 is found in all the normal places (ie. /lib, /usr/lib, etc.). I even put a copy in /usr/games/Amnesia/libs64/all as per the checklibs.sh script. The checklibs.sh script is returning that all is well; however, when attempting to launch the game, it is reporting a wrong ELF Class.

Error:
./Amnesia.bin64: error while loading shared libraries: libGLU.so.1: wrong ELF class: ELFCLASS32

Again, I believe this is due to the binary not locating the libGLU library as reported from ldd.

On a side note, other games are functioning properly (all three Penumbras/Trine 2/etc.).

Any help would be appreciated.

Edit: Some more info...
I tried both the 32bit and 64bit version of the game with the same error.
readelf on libGLU.so.1 reports:
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x16420
Start of program headers: 52 (bytes into file)
Start of section headers: 521668 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 5
Size of section headers: 40 (bytes)
Number of section headers: 25
Section header string table index: 24


This is identical to the version that the Penumbra series works with, so I am unsure as to why Amnesia is not working or locating this file...

I also tried to uninstall and reinstall with symlinks in place (ie /lib, /usr/lib, /usr/lib/x86_64-linux-gnu/) to no avail.

Might try creating the install directory with libGLU.so.1 in the $rootdir/libs64/all dir prior to install, but I'm beginning to feel like I'm beating a dead horse.

Edit 2:
It may be worth noting that all hashes matched up on both the 32bit and 64bit downloads and the install scripts integrity checks both were validated prior to install, so I don't think it is a bad copy of the dl. I would really like to know where specificlly the binary is looking for this library file and if it is seeing symlinks ok. The default for the mesa shared libraries to to make symlinks to the libGLU.so and .so.1 files while maintaining the version in the library file libGLU.so.1.3.08004.

I've also tried updating the ld.so.conf.d directory with the paths to the file and updating with ldconfig, but most paths were already being identified by the binary as seen through the ldd output (so this made little difference):

linux-vdso.so.1 => (0x00007fffac9ff000)
libGL.so.1 => /usr/lib/nvidia-current/libGL.so.1 (0x00007f20188bf000)
libGLU.so.1 => not found
libGLEW.so.1.5 => /home/user/Amnesia/./libs64/libGLEW.so.1.5 (0x00007f2018657000)
libogg.so.0 => /home/user/Amnesia/./libs64/libogg.so.0 (0x00007f2018452000)
libvorbis.so.0 => /home/user/Amnesia/./libs64/libvorbis.so.0 (0x00007f2018227000)
libvorbisfile.so.3 => /home/user/Amnesia/./libs64/libvorbisfile.so.3 (0x00007f201801e000)
libtheora.so.0 => /usr/lib/x86_64-linux-gnu/libtheora.so.0 (0x00007f2017dd2000)
libopenal.so.1 => /home/user/Amnesia/./libs64/libopenal.so.1 (0x00007f2017b81000)
libalut.so.0 => /usr/lib/libalut.so.0 (0x00007f2017978000)
libIL.so.1 => /home/user/Amnesia/./libs64/libIL.so.1 (0x00007f2017668000)
libjpeg.so.62 => /home/user/Amnesia/./libs64/libjpeg.so.62 (0x00007f2017447000)
libSDL-1.2.so.0 => /home/user/Amnesia/./libs64/libSDL-1.2.so.0 (0x00007f20171ba000)
libSDL_ttf-2.0.so.0 => /home/user/Amnesia/./libs64/libSDL_ttf-2.0.so.0 (0x00007f2016fb5000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2016d98000)
libfltk.so.1.1 => /home/user/Amnesia/./libs64/libfltk.so.1.1 (0x00007f2016aec000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f20167ec000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f20164f0000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f20162d9000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2015f1c000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2015d05000)
libnvidia-tls.so.295.40 => /usr/lib/nvidia-current/tls/libnvidia-tls.so.295.40 (0x00007f2015b01000)
libnvidia-glcore.so.295.40 => /usr/lib/nvidia-current/libnvidia-glcore.so.295.40 (0x00007f20137dd000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f20134a9000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f2013297000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2013093000)
libXmu.so.6 => /usr/lib/x86_64-linux-gnu/libXmu.so.6 (0x00007f2012e7a000)
libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007f2012c6a000)
libGLU.so.1 => not found
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f2012a61000)
libpng12.so.0 => /home/user/Amnesia/./libs64/libpng12.so.0 (0x00007f201283d000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f20125a0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2018c09000)
libXft.so.2 => /usr/lib/x86_64-linux-gnu/libXft.so.2 (0x00007f201238b000)
libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f2012188000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f2011f69000)
libXt.so.6 => /usr/lib/x86_64-linux-gnu/libXt.so.6 (0x00007f2011d03000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f2011acc000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f20118c2000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f20116bf000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f20114b8000)
libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007f20112b0000)
libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007f2011096000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f2010e6b000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f2010c66000)

Edit 3:

Penumbra Overture seems to find libGLU.so.1 through ldd:
libGLU.so.1 => /usr/lib/i386-linux-gnu/libGLU.so.1 (0xf754f000)

So, I'm scratching my head a bit at this point.
(This post was last modified: 09-26-2012, 03:45 PM by opscure.)
09-22-2012, 10:16 PM
Find
Urkle Offline
FG - Associate

Posts: 1,172
Threads: 31
Joined: Jul 2006
Reputation: 21
#2
Solved: 8 Years, 10 Months ago RE: libGLU.so.1 not found by ldd but seems to be present

Wrong elf class means the 64bit amnesia is trying to use a 32bit libGLU (which it can not do). Penumbra works as Penumbra is a 32bit only game. Try install a 64bit GLU on your system.

Developing away on one of
Multiple Macs running 10.6, 10.7, 10.8, and 10.9.
Linux, 8-core AMD, 8GB RAM, Fedora 18, nVidia 450 1GB
09-23-2012, 10:32 PM
Website Find
opscure Offline
Junior Member

Posts: 2
Threads: 1
Joined: Sep 2012
Reputation: 0
#3
Solved: 8 Years, 10 Months ago RE: libGLU.so.1 not found by ldd but seems to be present

(09-23-2012, 10:32 PM)Urkle Wrote: Wrong elf class means the 64bit amnesia is trying to use a 32bit libGLU (which it can not do). Penumbra works as Penumbra is a 32bit only game. Try install a 64bit GLU on your system.
Thanks. It's working now. Ubuntu doesn't seem to have the 64bit libGLU in any of it's packages. I think I may have replaced it with another game when installing the ia32-libs package. I grabbed the source from mesa download site (http://www.mesa3d.org/download.html) and compiled my fresh, new libraries. When I copied the 64bit libGLU.so.1.3.08004 over to the $amneisaroot/lib64/all/libGLU.so.1 file and reran the checklibs64 script the game started right up. Quite an endeavor, but hopefully this helps anyone in a similar situation.
09-26-2012, 03:44 PM
Find
Urkle Offline
FG - Associate

Posts: 1,172
Threads: 31
Joined: Jul 2006
Reputation: 21
#4
Solved: 8 Years, 10 Months ago RE: libGLU.so.1 not found by ldd but seems to be present

That is VERY strange.. as Ubuntu 64bit should have the libGLU package.. it is a basic component of OpenGL. A quick search on pkgs.org for 64bit packages reveals libglu1-mesa is available in 64bit form.. I'd say re-install that package.

http://pkgs.org/search/?keyword=glu&sear...rch=64-bit

Developing away on one of
Multiple Macs running 10.6, 10.7, 10.8, and 10.9.
Linux, 8-core AMD, 8GB RAM, Fedora 18, nVidia 450 1GB
09-26-2012, 05:18 PM
Website Find




Users browsing this thread: 1 Guest(s)