Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Cross-Platform Development => Topic started by: ni1s on March 01, 2006, 01:31:12 am

Title: Linux CVS HOWTO
Post by: ni1s on March 01, 2006, 01:31:12 am
Hi,

Spreading the news of this(yes, it's been around for some time now):
http://www.hard-light.net/wiki/index.php/Linux_CVS_Howto

Any help would be just dandy.
Title: Re: Linux CVS HOWTO
Post by: Spectre-7 on March 02, 2006, 06:55:24 pm
I just made a buttload of additions to it.  I hope you don't mind, but since fs2_open linux is only available from CVS, I started expanding the article into a more general "Running fs2_open in linux" type of article.  I think that's especially important if new linux users are being pointed to the article for help.
Title: Re: Linux CVS HOWTO
Post by: CaptJosh on March 02, 2006, 07:07:52 pm
Good thinking Spectre. Some folks, like myself, are familiar with CVS stuff and getting things to compile and run in Linux, but there are lots of new users out there all the time.
Title: Re: Linux CVS HOWTO
Post by: Spectre-7 on March 02, 2006, 07:15:52 pm
Quote
...there are lots of new users out there all the time.

Including myself.  :)
Title: Re: Linux CVS HOWTO
Post by: ni1s on March 03, 2006, 12:38:40 am
That's great Spectre!  :)
Quote
I started expanding the article into a more general "Running fs2_open in linux" type of article.
The article should be named something better to reflect it's actual contents.
Quote
Including myself. 
Me too, I missed a Linux centric troubleshooting site when I started, that's why I started this.
Title: Re: Linux CVS HOWTO
Post by: Spectre-7 on March 06, 2006, 01:20:06 pm
Now the magic question...  Is it missing anything?  If only we had a new linux user to test it on.
Title: Re: Linux CVS HOWTO
Post by: Mr_Maniac on March 06, 2006, 01:49:32 pm
Well... Maybe we should mention "configure --help"?
Title: Re: Linux CVS HOWTO
Post by: ossi on March 07, 2006, 04:03:46 am
Hi!
I'm new here and followed the Howto to get fs2 running on linux. First of all, the Howto is very good  :yes: and everything works for me ...well... except for the 'make' part. I don't know if this is only temporary because cvs is changing or somewhat..
The error occurs while processing [lab.o]. Maybe there is some package i am missing for compile dependencies? Does someone compiled the last cvs successfilly? I would be happy to hear so.. because i'd like to try the new mediavps   :D.
Title: Re: Linux CVS HOWTO
Post by: Spectre-7 on March 07, 2006, 04:18:33 am
I just updated from CVS and I'm compiling now.  Hopefully I'll have an answer for you in a couple minutes.  :)
Title: Re: Linux CVS HOWTO
Post by: Spectre-7 on March 07, 2006, 04:27:30 am
Bad news... I didn't run into any problems.  At least, I guess that's bad news.  ;)

Could you post the last 10 or so lines from the failed compile?  Hopefully I can find something useful in there.
Title: Re: Linux CVS HOWTO
Post by: ni1s on March 07, 2006, 04:49:14 am
Now the magic question...  Is it missing anything?  If only we had a new linux user to test it on.
I can think of a billion things that could go in there, I guess we'll add thing as we go...
Getting the game data files from soley within Linux is a hassle, I'm going to see about that later on.
Title: Re: Linux CVS HOWTO
Post by: ni1s on March 07, 2006, 05:48:54 am
The error occurs while processing [lab.o].
I'm also getting this. Maybe it's GCC4 being picky.

This being:
make[1]: Entering directory `/home/ni1s/src/fs2_open/fs2_open/code'
if g++ -DPACKAGE_NAME=\"fs2_open\" -DPACKAGE_TARNAME=\"fs2_open\" -DPACKAGE_VERSION=\"3.6.7\" -DPACKAGE_STRING=\"fs2_open\ 3.6.7\" -DPACKAGE_BUGREPORT=\"\" -DNO_CD_CHECK=1 -DNDEBUG=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIBGL=1 -DSCP_UNIX=1 -DNO_DIRECT3D=1 -DUSE_OPENAL=1  -I. -I.    -g -O2 -Wall -I/usr/include/SDL -D_REENTRANT -fsigned-char -Wno-unknown-pragmas  -Wno-deprecated -Wno-char-subscripts -I../lua  -MT lab.o -MD -MP -MF ".deps/lab.Tpo" -c -o lab.o `test -f 'lab/lab.cpp' || echo './'`lab/lab.cpp; \
then mv -f ".deps/lab.Tpo" ".deps/lab.Po"; else rm -f ".deps/lab.Tpo"; exit 1; fi
./math/floating.h: In function "int fl_round_2048(float)":
./math/floating.h:132: warning: dereferencing type-punned pointer will break strict-aliasing rules
lab/wmcgui.h: At global scope:
lab/wmcgui.h:535: error: extra qualification "TreeItem::" on member "ClearAllItems"
lab/wmcgui.h:630: error: extra qualification "Text::" on member "SetSaveLoc"
lab/lab.cpp: In function "void show_ship(float)":
lab/lab.cpp:864: warning: missing braces around initializer for "vec3d::<anonymous union>"
lab/lab.cpp:864: warning: missing braces around initializer for "vec3d::<anonymous union>::<anonymous struct>"
lab/lab.cpp:864: warning: missing braces around initializer for "vec3d::<anonymous union>"
lab/lab.cpp:864: warning: missing braces around initializer for "vec3d::<anonymous union>::<anonymous struct>"
lab/lab.cpp:864: warning: missing braces around initializer for "vec3d::<anonymous union>"
lab/lab.cpp:864: warning: missing braces around initializer for "vec3d::<anonymous union>::<anonymous struct>"
make[1]: *** [lab.o] Error 1
make[1]: Leaving directory `/home/ni1s/src/fs2_open/fs2_open/code'
make: *** [all-recursive] Error 1
Title: Re: Linux CVS HOWTO
Post by: ossi on March 07, 2006, 06:10:22 am
That's exactly my output ^^
any suggestions?
Title: Re: Linux CVS HOWTO
Post by: Alpha0 on March 07, 2006, 06:33:13 am
Without being able to test this, since I am using GCC 3.4.2, which compiles OK as it is, I would attempt to remove the class names from the declaration of the two functions on the lines that give you the problem, i.e.:
Lines 535 and 630 of wmcgui.h would change from
Code: [Select]
void TreeItem::ClearAllItems();    // Line 535
void Text::SetSaveLoc(short int *sint_ptr, int save_method, short int max_value=SHRT_MAX, short int min_value=SHRT_MIN);    //Line 630

to

Code: [Select]
void ClearAllItems();    //Line 535
void SetSaveLoc(short int *sint_ptr, int save_method, short int max_value=SHRT_MAX, short int min_value=SHRT_MIN); //Line 630

I would expect this should do it, since these functions are declared as members of the TreeItem and Text classes respectively and therefore there is really no need to include the class qualifier name in their declaration.
Title: Re: Linux CVS HOWTO
Post by: ni1s on March 07, 2006, 07:08:09 am
Thanks Alpha0, that fixed it.
Title: Re: Linux CVS HOWTO
Post by: ni1s on March 07, 2006, 08:52:48 am
What's the deal on LUA? is it a nessesary dep? it's not mentioned in configure anymore.
Title: Re: Linux CVS HOWTO
Post by: Mr_Maniac on March 07, 2006, 09:49:17 am
LUA is now activated by default.
It isn't a dep, because it's delivered with the fs2 CVS.
AFAIK, libjpeg and LUA are delivered within the fs2 CVS.
And when you look at the compile-Process of fs2_open, you will see, that those two libs will build right before fs2_open itself.
Title: Re: Linux CVS HOWTO
Post by: ni1s on March 07, 2006, 09:57:24 am
LUA is now activated by default.
It isn't a dep, because it's delivered with the fs2 CVS.
AFAIK, libjpeg and LUA are delivered within the fs2 CVS.
And when you look at the compile-Process of fs2_open, you will see, that those two libs will build right before fs2_open itself.

Ah! Thanks Mr_Maniac
Title: Re: Linux CVS HOWTO
Post by: karajorma on March 07, 2006, 12:22:22 pm
Getting the game data files from soley within Linux is a hassle, I'm going to see about that later on.

Why? The HotU download should have everything you need in a rar/zip package. You may have difficulty getting the files out of the PC versions of the disks admittedly but if you're installing SCP you're probably better off with HotU than the ISOs anyway.
Title: Re: Linux CVS HOWTO
Post by: ni1s on March 07, 2006, 02:54:04 pm
Getting the game data files from soley within Linux is a hassle, I'm going to see about that later on.

Why? The HotU download should have everything you need in a rar/zip package. You may have difficulty getting the files out of the PC versions of the disks admittedly but if you're installing SCP you're probably better off with HotU than the ISOs anyway.
True, the HotU method is probably the best way of going about for Linux users, but I just can't help myself, I have to know.

Btw, karajorma, ever though of 'merging' your FAQ with the Wiki?
Title: Re: Linux CVS HOWTO
Post by: karajorma on March 07, 2006, 05:23:23 pm
Constantly. I simply lack the time. There is an open invitation for people to rip bits out and stick it in the wiki whenever it explains something that isn't already in there.  :)