News:

Want to praise Simutrans?
Your feedback is important for us ;D.

My First Compile from SVN (linux)

Started by dannyman, October 04, 2009, 09:22:33 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

dannyman

Hello,

I grabbed the trunk from tron and managed to compile.  Here are some notes for anyone else trying to compile with Linux (Ubuntu)

sudo aptitude install libz-dev libpng-dev libsdl-dev libsdl-mixer1.2-dev liballegro-dev

I set these in config.default:

BACKEND = mixer_sdl
COLOUR_DEPTH = 16


The 8bit was breaking compile.

I had to fix two typos in the source code to compile correctly.  After that, make did its thing and left me with a binary called sim which I can copy to my ~/simutrans directory to play the game. :)

Following is my svn diff, which I like to think reflects developers slaving away on the trunk:


Index: simwerkz.cc
===================================================================
--- simwerkz.cc (revision 2686)
+++ simwerkz.cc (working copy)
@@ -2002,7 +2002,7 @@
{
// get a default vehikel
vehikel_besch_t remover_besch( wt, 500, vehikel_besch_t::diesel );
- vehikel_t* test_driver = vehikelrbauer_t::baue(start, sp, NULL, &remover_besch);
+ vehikel_t* test_driver = vehikelbauer_t::baue(start, sp, NULL, &remover_besch);
bool can_built;
if( start != to ) {
can_built = verbindung.calc_route(sp->get_welt(), start, to, test_driver, 0);
Index: dings/gebaeude.cc
===================================================================
--- dings/gebaeude.cc (revision 2686)
+++ dings/gebaeude.cc (working copy)
@@ -151,7 +151,7 @@
}
// have to rotate the tiles :(
if (!haus_besch->can_rotate() && haus_besch->get_all_layouts() == 1) {
- if (welt->get_einstellungen()->get_rotation() & 1) == 0) {
+ if ((welt->get_einstellungen()->get_rotation() & 1) == 0) {
// rotate 180 degree
new_offset = koord(haus_besch->get_b() - 1 - new_offset.x, haus_besch->get_h() - 1 - new_offset.y);
}

dannyman

And any time I want a fresh "nightly" I can:


cd ~/src/tron/simutrans/trunk
svn up
make && cp sim ~/simutrans


It looks like someone is in the middle of working on code now.  (There are some weird display issues in the factory info dialog.)  Danke! Danke!  Danke!

wernieman

You need "liballegro-dev" ?

But you compile for "BACKEND = mixer_sdl"?
I hope you understand my English

dannyman

Quote from: wernieman on October 05, 2009, 07:22:47 AM
You need "liballegro-dev" ?

But you compile for "BACKEND = mixer_sdl"?

Yeah, the documentation says you need to include both sdl-mixer and allegro.  What compile options do you favor for Linux?

-d

Spike

Most likely you need allegro only if you also compile for the allegro backend. But it doesn't hurt to have both installed, SDL and Allegro.

wernieman

You want to know how the nightlys are compiled??? ;o)
I hope you understand my English

dannyman

Quote from: wernieman on October 05, 2009, 01:37:53 PM
You want to know how the nightlys are compiled??? ;o)

I like to think a cron job invokes a bash script, but experience tells me some pig's blood is also involved.  (I'm a SysAdmin by day. ;)

wernieman

In German:
"Herzliches Beileit Leidensgenosse"

The Script is "easy".
1) Check if SVN-Update, when yes then
2) Do SVN Update
3) new compile.default
4) Check if Compile, when not error
5) strip programm
6) READY.... ;o)

It makes only Problems, when you cross-compile ..... (for Windows/MAC)
I hope you understand my English