How to build Oolite source on Ubuntu

For discussion of ports to POSIX based systems, especially using GNUStep.

Moderators: winston, another_commander, Getafix

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

There should be. Lines 13 and 15 of the GNUmakefile.postamble should read
BINARY=$(OBJC_PROGRAM_NAME).exe
and
BINARY=$(OBJC_PROGRAM_NAME)
respectively.
User avatar
tinker
Deadly
Deadly
Posts: 166
Joined: Tue Jul 22, 2008 7:45 am
Location: Sachsen

Post by tinker »

Ahha an overambitious replacement of the first couple of lines of the postamble, that solved the problem thank you.
User avatar
Simon B
---- E L I T E ----
---- E L I T E ----
Posts: 836
Joined: Thu Oct 23, 2008 5:54 am
Location: Red Beach NZ
Contact:

Post by Simon B »

tinker wrote:
I have the same error
... heh heh heh - we fall over each other getting you help ;)
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
User avatar
kcallis
Dangerous
Dangerous
Posts: 86
Joined: Sun Jan 25, 2009 2:45 pm
Location: N. Little Rock, AR
Contact:

A possible deb???

Post by kcallis »

I made the mistake of dumping 1.65 (from the repository) and building the 1.71-2 package. That failed miserably! I was looking at the posting and was getting ready to install from source, but wondered if anyone had created a deb for 1.72 in order to make installation a snap?
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8515
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

Have you tried this? Now getafix has sorted it out - it seems to work fine...
Ahruman wrote:
A modified package (oolite-1.72.2.x86.v2.package) is now available. The previous package (oolite-1.72.2.x86.package) accidentally contained hardware-specific files. Anyone who installed the previous package should update to the new one, even if there are no obvious problems with the old one.

This applies only to the Linux binary release.
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
kcallis
Dangerous
Dangerous
Posts: 86
Joined: Sun Jan 25, 2009 2:45 pm
Location: N. Little Rock, AR
Contact:

64-bit build

Post by kcallis »

Thanks to the directions, I got the 64-bit version of Oolite 1.72.1 working nearly flawlessly. The only issue I seem to be having is that I can't seem to get my AddOn loaded.
Is there a way to install system wide? I would rather this be place in /usr/games or some place system wide as opposed to running out of my home directory!
User avatar
_ds_
Deadly
Deadly
Posts: 180
Joined: Thu Jan 22, 2009 5:34 pm
Location: In a cloaked ship behind you

Re: 64-bit build

Post by _ds_ »

kcallis wrote:
Thanks to the directions, I got the 64-bit version of Oolite 1.72.1 working nearly flawlessly. The only issue I seem to be having is that I can't seem to get my AddOn loaded.
Is there a way to install system wide? I would rather this be place in /usr/games or some place system wide as opposed to running out of my home directory!
I build .debs from checked-out source (plus a patch or two). Works fine.
http://tartarus.org/~ds/oolite/patches, Buzzer OXP etc.
User avatar
kcallis
Dangerous
Dangerous
Posts: 86
Joined: Sun Jan 25, 2009 2:45 pm
Location: N. Little Rock, AR
Contact:

Outstanding job

Post by kcallis »

Would you add a text file so that one can know what they are downloading.

Thanks!
User avatar
kcallis
Dangerous
Dangerous
Posts: 86
Joined: Sun Jan 25, 2009 2:45 pm
Location: N. Little Rock, AR
Contact:

Ok...

Post by kcallis »

I was syncing my laptop to my server and thought I would go ahead and get rid of my ~/src/Oolite directory. I am getting old, so I of course forget that I had my executable in the src directory.
Once I build out my source, is there any make directive that will place the executable and libraries in a system wide directory. If not, what files besides the required oolite do I need to place in a directory (for instance /usr/games/oolite) to make the game run?
User avatar
PhantorGorth
---- E L I T E ----
---- E L I T E ----
Posts: 647
Joined: Wed May 20, 2009 6:48 pm
Location: Somewhere off the top left of Galaxy 1 map

Post by PhantorGorth »

Trying to compile trunk (build 2196) on Ubuntu (9.04) on a AMD AthlonXP (32 bit) and I am running into problems. I am compiling SpiderMonkey and the first step of compiling the code in fdlibm works fine. The second step of compiling in the parent directory gives the following errors:

Code: Select all

cat: ../../dist/Linux_All_DBG.OBJ/nspr/Version: No such file or directory
cd editline; make -f Makefile.ref all
make[1]: Entering directory `/home/paul/Dev/Oolite/trunk/deps/Cross-platform-deps/SpiderMonkey/js/src/editline'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/paul/Dev/Oolite/trunk/deps/Cross-platform-deps/SpiderMonkey/js/src/editline'
make -f Makefile.ref  Linux_All_DBG.OBJ/libjs.a Linux_All_DBG.OBJ/libjs.so Linux_All_DBG.OBJ/js  Linux_All_DBG.OBJ/jsautocfg.h Linux_All_DBG.OBJ/jscpucfg Linux_All_DBG.OBJ/jscpucfg.o
cat: ../../dist/Linux_All_DBG.OBJ/nspr/Version: No such file or directory
make[1]: Entering directory `/home/paul/Dev/Oolite/trunk/deps/Cross-platform-deps/SpiderMonkey/js/src'
make[1]: Circular jscpucfg.h <- Linux_All_DBG.OBJ/jsautocfg.h dependency dropped.
make[1]: Circular Linux_All_DBG.OBJ/jsautocfg.h <- Linux_All_DBG.OBJ/jsautocfg.h dependency dropped.
gcc -o Linux_All_DBG.OBJ/jsapi.o -c -Wall -Wno-format -g -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX  -DDEBUG -DDEBUG_paul -DJS_C_STRINGS_ARE_UTF8 -UMOZILLA_1_8_BRANCH  -DEDITLINE -ILinux_All_DBG.OBJ  jsapi.c
In file included from jsapi.c:49:
jstypes.h:264:2: error: #error No suitable type for JSInt8/JSUint8
jstypes.h:277:2: error: #error No suitable type for JSInt16/JSUint16
jstypes.h:297:2: error: #error No suitable type for JSInt32/JSUint32
jstypes.h:348:2: error: #error 'sizeof(int)' not sufficient for platform use
In file included from jsapi.c:49:
jstypes.h:393: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘JSBool’
jstypes.h:403: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘JSPackedBool’
.
.
.
Any ideas?

Phantor Gorth
(Paul)
User avatar
pleb87
Dangerous
Dangerous
Posts: 66
Joined: Sat Feb 16, 2008 2:51 pm
Location: Oxford, UK

Post by pleb87 »

I recently compiled Oolite from both 1.72.2 source and the trunk using Ubuntu 8.04 (64-bit) and GNUStep 2.0.2 and had no problems, except I had to rename one of my folders. Try searching this forum for that post (would provide link but im on ps3 and i don't have a usb keyboard and takes hours just to write this!).
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

I think you are trying to build libjs with JS_THREADSAFE defined. Try to see if this macro is defined somewhere in the makefile and make sure you build without it.
User avatar
PhantorGorth
---- E L I T E ----
---- E L I T E ----
Posts: 647
Joined: Wed May 20, 2009 6:48 pm
Location: Somewhere off the top left of Galaxy 1 map

Post by PhantorGorth »

Thanks for the quick response.

Unfortunately, I checked JS_THREADSAFE is not defined anywhere.

By looking deeper in to this it looks like the "Circular" reference bit is stopping jsautocfg.h from being included and that header file contains the macro definitions that hold the size of the differing types for the CPU. Without this the code in jstypes.h baulks. Unfortunately the Circular error line does not provide much info on what is causing it. I looked at the files it gets to before to this see where it goes wrong and they are way to difficult to figure out.

Phantor Gorth
(Paul)
User avatar
PhantorGorth
---- E L I T E ----
---- E L I T E ----
Posts: 647
Joined: Wed May 20, 2009 6:48 pm
Location: Somewhere off the top left of Galaxy 1 map

Post by PhantorGorth »

I seem to have got to the bottom of it and fixed the issue.

The subdirectory Linux_All_DBG.OBJ of .../js/src had copy of the file jsautocfg.h (I assume this was created by the first attempt compiling as the directory doesn't exit in the svn repository) This file had the values required but the copy of the file in the .../js/src directory (also must be generated as again it isn't in the repository) was empty. To fix I copied the content of the subdirectory file into the parent file. Compiling after this worked.

Re-reading the instructions in the first post of this thread I had missed a step that populated the file. This goes to show that you should read the instructions several times and once more again just to be sure!

Phantor Gorth
(Paul)
User avatar
wild turkey
Average
Average
Posts: 9
Joined: Thu Jul 10, 2008 3:12 am

Post by wild turkey »

Just to let everyone know I have just compiled Oolite from svn (V1.73?) on Ubuntu 9.04 64bit successfully using the instruction in this topic. Had to rename the directory

deps/Cross-platform-deps/SpiderMonkey/js/src/Linux_All_DBG.OBJ/

to

deps/Cross-platform-deps/SpiderMonkey/js/src/Linux_All_OPT.OBJ/

Everything else went smoothly. Just thought I'd mentioned it as 9.04 is not mentioned in the instructions.

If needed I can also test 1.72.2. Let me know.
Regards,
WT
Post Reply