How to build Oolite source on Ubuntu

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

Moderators: winston, another_commander, Getafix

Post Reply
User avatar
_ds_
Deadly
Deadly
Posts: 180
Joined: Thu Jan 22, 2009 5:34 pm
Location: In a cloaked ship behind you

Re: Thanks for the work

Post by _ds_ »

[quote="foxbow"][…]
# make -f Makefile dpkg
will build the changelog file but bail out due to a missing 'debuild' utility.[/quote
# aptitude install devscripts

And you only need to be root to install the resulting .deb. (For dpkg-buildpackage, running it via fakeroot is enough.)
http://tartarus.org/~ds/oolite/patches, Buzzer OXP etc.
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 »

also needs debhelp installed.

On my aspire 4315 (i965 gfx, celeron mobile, and 1gig of ram) the screen became unstable with neolite core. de-maximising the window stops that.

With compiz switched off I can run a full neolite system on that machine with full shaders quite happily. Have not tried griffs ships :)
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
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 »

Simon B wrote:
also needs debhelp installed.

On my aspire 4315 (i965 gfx, celeron mobile, and 1gig of ram) the screen became unstable with neolite core. de-maximising the window stops that.

With compiz switched off I can run a full neolite system on that machine with full shaders quite happily. Have not tried griffs ships :)
so Intel do actually make a chipset that supports FULL shaders? Praise Be! I've have been informed on another thread that a netbook I was looking at does not support full shaders because it only has a 950 - bah humbug to Intel.
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6683
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

The i965 chipset is fully capable of doing shaders, it's just that Intel's drivers have only relatively recently caught up. That was the situation with Windows at least, but I don't imagine it would be any different (as in better) for Linux.
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 »

i950 graphics cards, do not seem to support shaders. No.
The Aspire 4315 uses i965.

The emachine EL1600 plays this game jerkily.
It has i950 gfx - when I go to the game options screen it informs me that shaders are not available.

Intel says the chipset supports:
http://www.intel.com/products/chipsets/gma950/index.htm
Texture Decompression for DirectX* and OpenGL*
OpenGL* 1.4 support plus ARB_vertex_buffer and EXT_shadow_funcs extensions and TexEnv shader caching
... this could mean I have the wrong driver or that the entire functionality has not been implimented in this machine. I'll have to look into this.

The intel drivers are usually slightly ahead in linux.

For more detail on the state of play:
https://www.linuxfoundation.org/collabo ... hics-essay

Basically, for ATI, the linux drivers pull ahead and fall back periodically. With nvidia, the linux version is always behind.
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

GMA 950 supports fragment shaders under Mac OS X (vertex shaders are done in software), but the instruction limit is so low that it’s tricky to write interesting shaders that work on it. One of my interesting upcoming projects is to make sure all flavours of the default shaders work on it in simple shader mode.
jpab
Average
Average
Posts: 8
Joined: Thu Dec 24, 2009 1:56 am

Post by jpab »

In Step 2.2, it seems pretty weird to perform a debug build of SpiderMonkey and then *rename* it to pretend it was an optimized release build.
Replacing the two "make -f Makefile.ref" commands (steps 2.2.2 and 2.2.3) with:

Code: Select all

make -f Makefile.ref BUILD_OPT=1
Will do a real optimized build and produce the Linux_All_OPT.OBJ directory that the rest of the Oolite build system expects.

John B
User avatar
Micha
Commodore
Commodore
Posts: 815
Joined: Tue Sep 02, 2008 2:01 pm
Location: London, UK
Contact:

Post by Micha »

Just a reminder, using the included 'Makefile' instead of the default GNUMakefile will perform all the build steps automagically, including building optimised versions of the javascript library.

This is all that should be required for a 'release' build from a clean source tree:

Code: Select all

make -f Makefile release
or, for a 'debug' build:

Code: Select all

make -f Makefile debug
The glass is twice as big as it needs to be.
User avatar
Getafix
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 979
Joined: Tue Apr 01, 2008 12:55 pm
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Contact:

How to build Oolite source on Ubuntu

Post by Getafix »

The first post of this topic has just been updated to simplify the build task without the need of separate javascript build.

Thank you all for your feedback. Keep it coming... 8)

Cheers.
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]
shazbut
Poor
Poor
Posts: 5
Joined: Sat May 01, 2010 7:25 am

/usr/bin/ld: cannot find -lpng14

Post by shazbut »

I can't get it to build any more, using the steps in section 2.4 of the OP. Built fine on 26/4/10, but I've just done:

Code: Select all

svn up 
make -f Makefile clean 
make -f Makefile release
and it fails with:

Code: Select all

/usr/bin/ld: cannot find -lpng14
collect2: ld returned 1 exit status
make[3]: *** [obj.spk/oolite] Error 1
make[2]: *** [internal-objc_program-all_] Error 2
make[1]: *** [oolite.all.objc-program.variables] Error 2
I can see libpng14.so.14 in trunk/deps/Linux-deps/x86_64/lib, but ld can't find it. I don't know too much about make-ing/compiling so I don't know where to look to try and fix it.

Also, does compiling it this way produce an x86_64 binary automatically, or do I need to specify it somehow?

All this because Ubuntu still ships with 1.60 in the repos (and that version won't even run for some reason), and because my save files are getting corrupted as per topic p=107992

(which I've just noticed now has a second page...) :oops:
User avatar
Getafix
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 979
Joined: Tue Apr 01, 2008 12:55 pm
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Contact:

/usr/bin/ld: cannot find -lpng14

Post by Getafix »

Welcome aBoard shazbut.

For gaming purposes I suggest you use 1.73.4 test-release.
You may download the packaged version (distro deps free) from here or (if your distro matches) add one of these apt-source lines to your system configuration.

However, if you still want to build from source for the moment use:

Code: Select all

$ make -f Makefile distro-release
This should build the source using your system's libraries.

Currently, there is an ongoing restructuring for Linux dependencies, and judging from the feedback I get (to put it politely :roll: ) it's not yet in its final form.
Is anything working for you from the above suggestions?
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]
shazbut
Poor
Poor
Posts: 5
Joined: Sat May 01, 2010 7:25 am

Re: /usr/bin/ld: cannot find -lpng14

Post by shazbut »

Getafix wrote:
Welcome aBoard shazbut.

Is anything working for you from the above suggestions?
Hi, and thanks for the swift response.
I downloaded the oolite-1.73.4-test.x86_64.package but don't know what to do with it... :oops:

I looked at the apt sources but I am on U10.04.

I tried the distro release (after installing libespeak-dev, which it complained about the first try) I get:

Code: Select all

Making all for objc_program oolite...
 Linking objc_program oolite ...
./obj.spk/OOPNGTextureLoader.m.o: In function `-[OOPNGTextureLoader(OOPrivate) doLoadTexture]':
/home/brett/Games/oolite-dev/trunk/src/Core/Materials/OOPNGTextureLoader.m:134: undefined reference to `png_set_longjmp_fn'
collect2: ld returned 1 exit status
make[3]: *** [obj.spk/oolite] Error 1
make[2]: *** [internal-objc_program-all_] Error 2
make[1]: *** [oolite.all.objc-program.variables] Error 2
make[1]: Leaving directory `/home/brett/Games/oolite-dev/trunk'
make: *** [distro-release] Error 2
User avatar
Getafix
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 979
Joined: Tue Apr 01, 2008 12:55 pm
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Contact:

Post by Getafix »

Execute it! 8)

Code: Select all

$ chmod +x <packagename>.package
$ ./<packagename>.package
EDIT:
Answer yes when it asks to download runtime and GTK.
(the runtime and GTK is downloaded only the first time)

When you will be asked for your password the oolite installation has started.
Give it for system-wide installation; no password for user-only installation

EDIT#2:
For your build error, try installing libpng12-dev
(or which ever version is distributed by your distro).
Then perform a clean install.

Code: Select all

$ make -f Makefile clean
$ make -f Makefile distro-release
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]
shazbut
Poor
Poor
Posts: 5
Joined: Sat May 01, 2010 7:25 am

Post by shazbut »

Gah! That was easy, although I'm not sure I like the idea of another package manager messing with my system, but the end result is what counts.

My old save with the spinning question mark of doom (tm) now loads correctly so I am happy. Thanks for your assistance.
User avatar
Getafix
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 979
Joined: Tue Apr 01, 2008 12:55 pm
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Contact:

How to build Oolite source on Ubuntu

Post by Getafix »

First post has been updated to handle trunk oolite Linux deps restructure.
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]
Post Reply