libGLU.so.1 not found by ldd but seems to be present - Printable Version +- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum) +-- Forum: Technical Support (https://www.frictionalgames.com/forum/forum-57.html) +--- Forum: Technical Support - Amnesia: The Dark Descent (https://www.frictionalgames.com/forum/forum-31.html) +---- Forum: Linux - ATDD (https://www.frictionalgames.com/forum/forum-32.html) +---- Thread: libGLU.so.1 not found by ldd but seems to be present (/thread-18458.html) |
libGLU.so.1 not found by ldd but seems to be present - opscure - 09-22-2012 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. RE: libGLU.so.1 not found by ldd but seems to be present - Urkle - 09-23-2012 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. RE: libGLU.so.1 not found by ldd but seems to be present - opscure - 09-26-2012 (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. RE: libGLU.so.1 not found by ldd but seems to be present - Urkle - 09-26-2012 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&search_on=name&distro=53&arch=64-bit |