The oolite binary I built was using the OS gnustepbase library:
Code: Select all
libgnustep-base.so.1.25 => /usr/lib/libgnustep-base.so.1.25 (0x00007fb42a7cc000)
CAVEAT: the GNUstep header files are from 1.25, I wasn't able to resolve the dependencies for the 1.20 deb packages I found.
The linker is ignoring the LD_LIBRARY_PATH and the -L command line parameter that tells it to look at deps/Linux-deps/x86_64/lib_linker and using the /usr/lib/libgnustep-base.so symbolic link instead.
I copied the libgnustep-base.so.1.20 file from deps/Linux-deps/x86_64/lib to /usr/lib and overwrite the simbolic link /usr/lib/libgnustep-base.so to point to it.
I also modified the script deps/Linux-deps/x86_64/lib_linker//make_so_links.sh adding (just before the exit):
Code: Select all
if ! [ -f 'libgnustep-base.so' ]; then
ln -s ../lib/libgnustep-base.so.1.20 libgnustep-base.so
fi
if ! [ -f 'libffi.so' ]; then
ln -s ../lib/libffi.so.4 libz.so
fi
if ! [ -f 'libobjc.so' ]; then
ln -s ../lib/libobjc.so.2 libz.so
fi
And now I have:
Code: Select all
ldd oolite.app/oolite |sort
/lib64/ld-linux-x86-64.so.2 (0x00007f0af40d5000)
libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007f0af02c5000)
libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007f0aea429000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f0aeaf7d000)
libcaca.so.0 => /usr/lib/x86_64-linux-gnu/libcaca.so.0 (0x00007f0aef459000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0af0ab3000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f0aed42f000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0af00c1000)
libespeak.so.1 => /usr/lib/x86_64-linux-gnu/libespeak.so.1 (0x00007f0af145a000)
libffi.so.4 => not found
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f0ae9e17000)
libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007f0ae7ddb000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0af0ea4000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f0aeeb56000)
libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f0af05cc000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f0af2eea000)
libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007f0af3176000)
libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f0af0882000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f0aef1d8000)
libgnustep-base.so.1.20 => /usr/lib/libgnustep-base.so.1.20 (0x00007f0af257f000)
libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f0aeee72000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f0aeb770000)
libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f0aeb985000)
libicudata.so.60 => /usr/lib/x86_64-linux-gnu/libicudata.so.60 (0x00007f0ae826e000)
libicuuc.so.60 => /usr/lib/x86_64-linux-gnu/libicuuc.so.60 (0x00007f0aeb3b8000)
libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f0aec380000)
libjack.so.0 => /usr/lib/x86_64-linux-gnu/libjack.so.0 (0x00007f0aead36000)
liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f0ae8052000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f0aeb192000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0af10bc000)
libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5 (0x00007f0aecaf6000)
libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f0aebbb9000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f0aee57b000)
libnspr4.so => /usr/lib/x86_64-linux-gnu/libnspr4.so (0x00007f0af1c7e000)
libobjc.so.2 => not found
libobjc.so.2 => not found
libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007f0aedd2f000)
libopenal.so.1 => /usr/lib/x86_64-linux-gnu/libopenal.so.1 (0x00007f0af22e0000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f0aec59d000)
libpng14.so.14 => not found
libportaudio.so.2 => /usr/lib/x86_64-linux-gnu/libportaudio.so.2 (0x00007f0aedb00000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0af1a5f000)
libpulsecommon-11.1.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-11.1.so (0x00007f0aed67c000)
libpulse-simple.so.0 => /usr/lib/x86_64-linux-gnu/libpulse-simple.so.0 (0x00007f0aefebc000)
libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007f0aefc6c000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f0ae7917000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0aee373000)
libSDL-1.2.so.0 => /usr/lib/x86_64-linux-gnu/libSDL-1.2.so.0 (0x00007f0af2c52000)
libslang.so.2 => /lib/x86_64-linux-gnu/libslang.so.2 (0x00007f0aecd25000)
libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007f0aea62f000)
libsndio.so.6.1 => /usr/lib/x86_64-linux-gnu/libsndio.so.6.1 (0x00007f0aee163000)
libsonic.so.0 => /usr/lib/x86_64-linux-gnu/libsonic.so.0 (0x00007f0aed8fa000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f0af16d6000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f0aeaab2000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f0aebdef000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f0aec8cc000)
libunistring.so.2 => /usr/lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f0aec002000)
libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007f0ae7b32000)
libvorbisfile.so.3 => /usr/lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007f0af1ebb000)
libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007f0aedf38000)
libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f0aea8a8000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f0aef934000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f0aea225000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f0aed207000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f0aea01f000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f0aef722000)
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f0aee795000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0af20c3000)
linux-vdso.so.1 (0x00007ffdc8180000)
Notice that some libraries were not found... I didn't set LD_LIBRARY_PATH before calling ldd;
I put a 'ldd oolite|sort' in oolite-wrapper just before the oolite binary call to see if the definition of LD_LIBRARY_PATH there works, and it does, the supplied deps libraries are being used:
Code: Select all
/lib64/ld-linux-x86-64.so.2 (0x00007fd5dfb17000)
libasound.so.2 => /usr/lib/x86_64-linux-gnu/libasound.so.2 (0x00007fd5d8ee8000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fd5d6af8000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd5dc118000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd5dba2d000)
libespeak.so.1 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libespeak.so.1 (0x00007fd5dccdc000)
libffi.so.4 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libffi.so.4 (0x00007fd5dabfa000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fd5dc509000)
libgcrypt.so.20 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libgcrypt.so.20 (0x00007fd5db1c3000)
libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007fd5dbc31000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fd5de92c000)
libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007fd5debb8000)
libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007fd5dbee7000)
libgmp.so.10 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libgmp.so.10 (0x00007fd5db7b5000)
libgnustep-base.so.1.20 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libgnustep-base.so.1.20 (0x00007fd5ddfbe000)
libgnutls.so.30 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libgnutls.so.30 (0x00007fd5db48d000)
libgpg-error.so.0 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libgpg-error.so.0 (0x00007fd5d97cd000)
libhogweed.so.4 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libhogweed.so.4 (0x00007fd5d99df000)
libicudata.so.60 => /usr/lib/x86_64-linux-gnu/libicudata.so.60 (0x00007fd5d7117000)
libicuuc.so.60 => /usr/lib/x86_64-linux-gnu/libicuuc.so.60 (0x00007fd5d9415000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fd5d91ef000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd5dc721000)
libnettle.so.6 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libnettle.so.6 (0x00007fd5d9c13000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fd5da9e0000)
libnspr4.so => /usr/lib/x86_64-linux-gnu/libnspr4.so (0x00007fd5dd4ed000)
libobjc.so.2 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libobjc.so.2 (0x00007fd5dcabf000)
libogg.so.0 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libogg.so.0 (0x00007fd5da3a7000)
libopenal.so.1 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libopenal.so.1 (0x00007fd5ddd6c000)
libpng14.so.14 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libpng14.so.14 (0x00007fd5dd72a000)
libportaudio.so.2 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libportaudio.so.2 (0x00007fd5da181000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd5dd2ce000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fd5da7d8000)
libSDL-1.2.so.0 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libSDL-1.2.so.0 (0x00007fd5de691000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fd5dcf45000)
libvorbisfile.so.3 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libvorbisfile.so.3 (0x00007fd5dd94e000)
libvorbis.so.0 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libvorbis.so.0 (0x00007fd5da5ad000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fd5d9e49000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fd5d6f13000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fd5d8cc0000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fd5d6d0d000)
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fd5dae02000)
libz.so.1 => /home/dybal/pessoal/oolite/GNUstep/Applications/Oolite-trunk/oolite-deps/lib/libz.so.1 (0x00007fd5ddb56000)
linux-vdso.so.1 (0x00007fff29d40000)
Aborted (core dumped)
Erk. It looks like Oolite-trunk died with an error. When making an error
report, please copy + paste the log above into the report.
(Press Ctrl-C to continue)
So now it's linked to the correct GNUstep library... but it crashes
When I let it link to the GNUstep 1.25 version (as I've been doing for months), there are some differences in the defaults file (besides being name oolite.plist instead of .GNUstepDefaults), and oolite freezes now and then.