Yep, you are right Commander
I sort of thought so myself when I saw:-
Code: Select all
src/Core/OOCocoa.h:223: error: cannot find interface declaration for ‘NSObject’
The 'NSObject' smacked of GNUstep - but at nearly 1am I was too tired to confirm it.
This morning I cleaned and re-compiled GNUstep modules from source. Then did a 'make clean' at root level of 1.72 maintenance branch. It got further (cool!) - then bombed...
Code: Select all
Making all for objc_program oolite...
Compiling file src/Core/Entities/DustEntity.m ...
In file included from src/Core/OOSound.h:49,
from src/Core/Universe.h:34,
from src/Core/Entities/DustEntity.m:28:
src/SDL/SDLMusic.h:27:23: error: SDL_mixer.h: No such file or directory
In file included from src/Core/OOSound.h:49,
from src/Core/Universe.h:34,
from src/Core/Entities/DustEntity.m:28:
src/SDL/SDLMusic.h:33: error: expected specifier-qualifier-list before ‘Mix_Music’
make[1]: *** [obj/DustEntity.m.o] Error 1
make: *** [oolite.all.objc-program.variables] Error 2
WTF? No SDL_mixer.h.it was certainly there in /usr/include/SDL dir. But on further prodding it looks like I had bunch of SDL header in /usr/include and ditto in /usr/local/include. SDL_mixer.h was not in /usr/local area so I sym linked it - and all was well. Must assume it's my environment setup
All compiled fine. As normal user I fired it up...
Code: Select all
patb@patb-desktop:/usr/local/src/oolite/1.72-maintenance/oolite.app$ ./oolite
./oolite: error while loading shared libraries: libgnustep-base.so.1.17: cannot open shared object file: No such file or directory
WTF(2). Did a 'locate' to see where this library was...
Code: Select all
root@patb-desktop:/usr/local/src/oolite/1.72-maintenance# locate libgnustep-base.so.1.17
/usr/GNUstep/System/Library/Libraries/libgnustep-base.so.1.17
/usr/GNUstep/System/Library/Libraries/libgnustep-base.so.1.17.0
/usr/local/src/GNUstep/modules/core/base/Source/obj/libgnustep-base.so.1.17
/usr/local/src/GNUstep/modules/core/base/Source/obj/libgnustep-base.so.1.17.0
Then ran 'strace' on oolite.app/oolite
Code: Select all
open("/lib/tls/x86_64/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/tls/x86_64", 0x7fff8b49bc10) = -1 ENOENT (No such file or directory)
open("/lib/tls/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/tls", 0x7fff8b49bc10) = -1 ENOENT (No such file or directory)
open("/lib/x86_64/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64", 0x7fff8b49bc10) = -1 ENOENT (No such file or directory)
open("/lib/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
open("/usr/lib/tls/x86_64/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/tls/x86_64", 0x7fff8b49bc10) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/tls", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/x86_64/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64", 0x7fff8b49bc10) = -1 ENOENT (No such file or directory)
open("/usr/lib/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib", {st_mode=S_IFDIR|0755, st_size=73728, ...}) = 0
open("/lib/x86_64-linux-gnu/tls/x86_64/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/tls/x86_64", 0x7fff8b49bc10) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/tls/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/tls", 0x7fff8b49bc10) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/x86_64/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu/x86_64", 0x7fff8b49bc10) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/x86_64-linux-gnu/tls/x86_64/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/tls/x86_64", 0x7fff8b49bc10) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/tls/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/tls", 0x7fff8b49bc10) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/x86_64/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu/x86_64", 0x7fff8b49bc10) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libgnustep-base.so.1.17", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/x86_64-linux-gnu", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
writev(2, [{"./oolite", 8}, {": ", 2}, {"error while loading shared libra"..., 36}, {": ", 2}, {"libgnustep-base.so.1.17", 23}, {": ", 2}, {"cannot open shared object file", 30}, {": ", 2}, {"No such file or directory", 25}, {"\n", 1}], 10./oolite: error while loading shared libraries: libgnustep-base.so.1.17: cannot open shared object file: No such file or directory
) = 131
exit_group(127) = ?
Process 26270 detached
Doesn't appear to be looking in the /usr/GNUstep area at all! Did a sym link in /usr/lib to point the lib down into /usr/GNUstep/System/Library/Libraries/libgnustep-base.so.1.17 ... oolite now works
Apologies for this noisy post - but it might help other users trying to compile from src for the 1st time.
Code: Select all
patb@patb-desktop:~$ uname -a
Linux patb-desktop 2.6.24-21-generic #1 SMP Tue Oct 21 23:09:30 UTC 2008 x86_64 GNU/Linux
Ubuntu 8.04 (Hardy Heron)