Can't compile CVS On OS X 10.3

Trying to build your own version of Vega Strike and having problems? Unix users, paste your config.log here (stderr output alone is not helpful).
JunkDNA

Can't compile CVS On OS X 10.3

Post by JunkDNA »

Hi All,

I just tried to compile Vegastrike from CVS under OS X 10.3.5. It fails with:

Code: Select all

Making all in aldrv
source='al_sound.cpp' object='al_sound.o' libtool=no \
depfile='.deps/al_sound.Po' tmpdepfile='.deps/al_sound.TPo' \
depmode=gcc3 /bin/sh ../../depcomp \
g++ -DHAVE_CONFIG_H -I. -I. -I../..   -Wno-long-double  -DHAVE_SDL=1 -DSDL_WINDOWING=1  -I/System/Library/Frameworks/Carbon.framework/Libraries/CIncludes  -I/sw/include -I/sw/include -I/sw/include -DJPEG_SUPPORT -DHAVE_AL=1 -I/Library/Frameworks/OpenAL.framework/Headers  -I/sw/include/python2.3 -DHAVE_PYTHON=1  -DUSE_BOOST_128=1 -I../../src/boost  -I../../src   -I/System/Library/Frameworks/Carbon.framework/Libraries/CIncludes -pipe  -falign-loops=2 -falign-jumps=2 -falign-functions=2  -I/sw/include/SDL -D_THREAD_SAFE -D_REENTRANT -pipe -c -o al_sound.o `test -f 'al_sound.cpp' || echo './'`al_sound.cpp
/Library/Frameworks/OpenAL.framework/Headers/alut.h: In function `bool 
   MacFixedLoadWAVFile(VSFileSystem::VSFile&, ALenum*, ALvoid**, ALsizei*, 
   ALsizei*)':
/Library/Frameworks/OpenAL.framework/Headers/alut.h:43: error: too many 
   arguments to function `ALvoid alutLoadWAVMemory(ALbyte*, ALenum*, ALvoid**, 
   ALsizei*, ALsizei*)'
al_sound.cpp:25: error: at this point in file
make[3]: *** [al_sound.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Any sugesstions?

config.log is here

Thanks in advance
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

this is a case where I had to hack vegastrike build file to work with all versions of MacOSX

you can simply edit al_sound.cpp
and delete the last argument
which should be s9omething like

alutLoadWAVMemory((ALbyte*)buf,format,data,size,freq,&bleh)

change that to

alutLoadWAVMemory((ALbyte*)buf,format,data,size,freq)

unfortunately to make a release it needs to be like the top
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
JunkDNA
Merchant
Merchant
Posts: 51
Joined: Tue Oct 26, 2004 9:30 pm
Location: Iowa

Post by JunkDNA »

Excellent, that did the trick. Many thanks.

Unfortunately, I'm still running into problems compiling. At the moment I'm getting stuck with

Code: Select all

source='gfxlib_struct.cpp' object='gfxlib_struct.o' libtool=no \
depfile='.deps/gfxlib_struct.Po' tmpdepfile='.deps/gfxlib_struct.TPo' \
depmode=gcc3 /bin/sh ../depcomp \
g++ -DHAVE_CONFIG_H -I. -I. -I..   -Wno-long-double  -DHAVE_SDL=1 -DSDL_WINDOWING=1  -I/System/Library/Frameworks/Carbon.framework/Libraries/CIncludes  -I/sw/include -I/sw/include -I/sw/include -DJPEG_SUPPORT -DHAVE_AL=1 -I/Library/Frameworks/OpenAL.framework/Headers  -I/sw/include/python2.3 -DHAVE_PYTHON=1  -DUSE_BOOST_131=1 -I../src/boost129  -I../src   -I/System/Library/Frameworks/Carbon.framework/Libraries/CIncludes -pipe  -falign-loops=2 -falign-jumps=2 -falign-functions=2  -I/sw/include/SDL -D_THREAD_SAFE -D_REENTRANT -pipe -c -o gfxlib_struct.o `test -f 'gfxlib_struct.cpp' || echo './'`gfxlib_struct.cpp
gfxlib_struct.cpp: In function `void BindBuf(unsigned int)':
gfxlib_struct.cpp:26: error: `glBindBufferARB' undeclared (first use this 
   function)
gfxlib_struct.cpp:26: error: (Each undeclared identifier is reported only once 
   for each function it appears in.)
gfxlib_struct.cpp:26: error: `GL_ARRAY_BUFFER_ARB' undeclared (first use this 
   function)
gfxlib_struct.cpp: In function `void BindInd(unsigned int)':
gfxlib_struct.cpp:29: error: `GL_ELEMENT_ARRAY_BUFFER_ARB' undeclared (first 
   use this function)
gfxlib_struct.cpp: In member function `void GFXVertexList::RefreshDisplayList()
   ':
gfxlib_struct.cpp:34: error: `glGenBuffersARB' undeclared (first use this 
   function)
gfxlib_struct.cpp:34: error: `glBufferDataARB' undeclared (first use this 
   function)
gfxlib_struct.cpp:34: error: `glMapBufferARB' undeclared (first use this 
   function)
gfxlib_struct.cpp:34: error: `glUnmapBufferARB' undeclared (first use this 
   function)
gfxlib_struct.cpp:45: error: `GL_DYNAMIC_DRAW_ARB' undeclared (first use this 
   function)
gfxlib_struct.cpp:45: error: `GL_STATIC_DRAW_ARB' undeclared (first use this 
   function)
gfxlib_struct.cpp: In member function `virtual void 
   GFXVertexList::BeginDrawState(unsigned char)':
gfxlib_struct.cpp:139: warning: the address of `void glLockArraysEXT(long int, 
   long int)', will always be `true'
gfxlib_struct.cpp: In member function `virtual void 
   GFXVertexList::EndDrawState(unsigned char)':
gfxlib_struct.cpp:151: warning: the address of `void glUnlockArraysEXT()', will 
   always be `true'
gfxlib_struct.cpp: In destructor `virtual GFXVertexList::~GFXVertexList()':
gfxlib_struct.cpp:239: error: `glDeleteBuffersARB' undeclared (first use this 
   function)
gfxlib_struct.cpp: In member function `virtual GFXVertexList::VDAT* 
   GFXVertexList::Map(bool, bool)':
gfxlib_struct.cpp:265: error: `GL_READ_WRITE_ARB' undeclared (first use this 
   function)
gfxlib_struct.cpp:265: error: `GL_READ_ONLY_ARB' undeclared (first use this 
   function)
gfxlib_struct.cpp:265: error: `GL_WRITE_ONLY_ARB' undeclared (first use this 
   function)
cmd/collection.h: At global scope:
cmd/collection.h:54: warning: inline function `void 
   UnitCollection::UnitIterator::GetNextValidUnit()' used but never defined
make[3]: *** [gfxlib_struct.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Any advice?
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

you need a newer glext.h

you always need a "newer" one than your distro provides

http://oss.sgi.com/projects/ogl-sample/ABI/glext.h

or type glext.h into google--first hit
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
hazard
Explorer
Explorer
Posts: 15
Joined: Tue Sep 21, 2004 12:35 am
Contact:

I have problems compiling.

Post by hazard »

Well-I'm running into compiling problems also.

Namely, that I have no idea how to do so.

I THINK I've found MOST of the stuff I need to do it. Like the libs
(libpng, libjpeg, libSDL, libSDL_mixer, fink, python (I found some refrence to compiling on X with the search funtion but am lost beyond that).

Of course now I've realized that I don't know where to get the vegastrike files themselves that need TO BE compiled (something to do with a CVS?).

I'd kinna like some help-(or a pre-comiled version :lol: )

I'm running panther /w the updates (and the XCode and all the other devloper stuff installed-not that I really know what any of it does).

I'm really hopeless.
Yea...I'm a terrible pilot too...I crash into stations-that's my docking procedure.
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

I'll get you a prebuilt version soon... it's just a matter of time right now...and I'd also like to get the AI a bit cleaned up...
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
hazard
Explorer
Explorer
Posts: 15
Joined: Tue Sep 21, 2004 12:35 am
Contact:

Post by hazard »

How soon is soon?
Yea...I'm a terrible pilot too...I crash into stations-that's my docking procedure.
JunkDNA
Merchant
Merchant
Posts: 51
Joined: Tue Oct 26, 2004 9:30 pm
Location: Iowa

Post by JunkDNA »

hellcatv wrote:you need a newer glext.h

you always need a "newer" one than your distro provides

http://oss.sgi.com/projects/ogl-sample/ABI/glext.h

or type glext.h into google--first hit
Doh! :oops:

Thanks, it compiled, it runs and I'm now having fun with the SPEC drive.

Hazard: The instructions for downloading the files from CVS are at: http://vegastrike.sourceforge.net/phpwi ... heckoutCvs. Just start up Terminal (it's in the Applications/Utilities folder) then type in the commands. Instructions for compiling are at: http://vegastrike.sourceforge.net/phpwi ... CompileCvs. If I remember correctly, I only needed to install
-python (via fink)
-expat (via fink)
-openal (an OS X package is available at: http://developer.creative.com/articles/ ... =38&aid=97)
-the above-mentioned glext.h file!

Also, during my battles, I noticed that:
1) Running ./configure with the --enable-boost-128 option made bad things happen. Vega Strike compiled just fine without it.
2) My normal path has the fink directories (e.g. /sw/bin) at the start. This seemed to be causing trouble, so I moved them to the end.

Good Luck!
hazard
Explorer
Explorer
Posts: 15
Joined: Tue Sep 21, 2004 12:35 am
Contact:

So clueless.....

Post by hazard »

Well...I'm so clueless.


I installed all the X code stuff, and am wholesomely amused playing with the stuff in the utilities folder (none of which I understand, and its probably dangerous to PLAY with...but its so...shiny....not really but I'm creative).

I can't get some of the binaries I think I need to install to compile (well I got the ./configure thingy to work, but I can't seem to get it to to the make file, maybe I'm just dumb-which is entirely likely).

Figures, giving my MDD blue LEDs in its clear handles, and blue LEDs on the back of my keyboard (all powered by the machine), building my network file server with its 9 harddrives (and an ex-Apple power supply converted to ATX for said 9-drive file server), then building a dedicated download box, and getting RPC to work (so I don't even have to go into my cold basement with the noisy 9-drive fileserver+furnace), heck even building my DNS server was easy compared to this, heck putting together configuring and setting up my DNS server, AND my hotline server (which never gets used-like ever) combined was easier than this.

anyways-I was really just looking forward to having descriptions that worked. Really all that I would need to have in the current version I have to make me happy (well that and a starmap that was useful/made sense/actually told me something I could understand in relation to the jumpgates).

I'd be interested in somehow getting your compiled version junkDNA (somehow-I don't know how to get IRC to work either-I'm hopeless)
Yea...I'm a terrible pilot too...I crash into stations-that's my docking procedure.
JunkDNA
Merchant
Merchant
Posts: 51
Joined: Tue Oct 26, 2004 9:30 pm
Location: Iowa

Post by JunkDNA »

hellcatv wrote:why don't you try sending your binary to hazard while I try to gather some free time with which to release things
Can do!
Hazard, let me know how you'd like the binaries sent to you (email or whatever)
Last edited by JunkDNA on Fri Oct 29, 2004 11:48 pm, edited 1 time in total.
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

Hazard...I actually have a binary mac build from a while ago-- you could just unzip the latest data4.x into there
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
hazard
Explorer
Explorer
Posts: 15
Joined: Tue Sep 21, 2004 12:35 am
Contact:

Post by hazard »

I *think* the easiest way to send me a file (as my e-mail plays dead 67% of the time-and I'm tired of fixing it) is to use my useless hotline server.

hotline client for mac can be found vvvvv.
http://allmacintosh.xs4all.nl/preview/203784.html

my server's address is wirehead.serveftp.com

I made you an account
login: junkdna
password: binary7
(I'm very un-creative)

there are uploads folders scattered around-find one and use it (its a horrible disorganized mess)

Hotline clinet is fairly easy to use. it works fairly OK (if not slowly at times) but its not evill like kazzaa (or however many a's and z's are in it)

Thanks a bunch!

(edit: unless the binary will be damaged by being on a PC-I dunno just an afterthought)
Yea...I'm a terrible pilot too...I crash into stations-that's my docking procedure.
JunkDNA
Merchant
Merchant
Posts: 51
Joined: Tue Oct 26, 2004 9:30 pm
Location: Iowa

Post by JunkDNA »

OK, I've put a compressed archive (vegastrike.zip) into a directory called Local Storage 2/uploads on your hotline doohickey. It weighs in at about 4.3 Mb. When you unpack it you'll find 2 files, the vegastrike binary and a setup binary. The simplest thing is probably to move these into the data4.x directory you snagged from CVS.

Neither of these files is double-clickable I'm afraid - you need to run them from the command line (whilst in the data directory). I included the setup tool because I found that my old ~/.vegastrike/vegastrike.config was causing trouble so I got rid of it. You can run vegastrike from a normal OS X terminal, but setup will need you to be running X11.

Enjoy!
JunkDNA
Merchant
Merchant
Posts: 51
Joined: Tue Oct 26, 2004 9:30 pm
Location: Iowa

Post by JunkDNA »

Incidentally, can anyone explain how I go about building a double-clickalicious OS X bundle? Running ./configure --enable-macosx-bundle didn't seem to change anything. Running from the command line is fine, so it isn't a matter of great urgency.
hazard
Explorer
Explorer
Posts: 15
Joined: Tue Sep 21, 2004 12:35 am
Contact:

Post by hazard »

First off, thanks for helping me.


Not to in any way sound ungrateful-but what do I do now?

The thing(ies) that junk sent me appear to be the compiled game application/run gadget. Which I don't QUITE know what to do with. Nor do I quite understand what the thing you PMed me about hellcat (which I downloaded)

I did manage to download the CVS for vegastrike and the data4.x thingy.

I'm guessing I'm supposed to play "swap the gizmoz!" and then have a sort of manually pre-compiled game file thing. So, where do I put what?


Sorry for being dumb, and cluless.....

but thanks for help!

EDIT: I'm guessing that if I replace the stuff in the "resources" folder of the app package for 0.4.1, then I get the new data. If I load the compiled binary to where the "vegastrike" binary is/was in 0.4.1 I break the runable package....I'm confused (well not really, just highly un-informed at the moement)
Yea...I'm a terrible pilot too...I crash into stations-that's my docking procedure.
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

first try running the package I sent you.... if that works (it's a complete game too) then I'll help you transfer it into the vegastrike data package
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
hazard
Explorer
Explorer
Posts: 15
Joined: Tue Sep 21, 2004 12:35 am
Contact:

Post by hazard »

I've been attempting to compile it myself. With I think-almost limited success.

but at the last command (the configure one) I get:
-bash: ./configure: Permission denied
errors.

the only thing I can think of it possibly being, is having installed some binary wrong/in the wrong place, or doing something else wrong.
Yea...I'm a terrible pilot too...I crash into stations-that's my docking procedure.
hazard
Explorer
Explorer
Posts: 15
Joined: Tue Sep 21, 2004 12:35 am
Contact:

Post by hazard »

it works fine-I think.
Yea...I'm a terrible pilot too...I crash into stations-that's my docking procedure.
JunkDNA
Merchant
Merchant
Posts: 51
Joined: Tue Oct 26, 2004 9:30 pm
Location: Iowa

Post by JunkDNA »

hazard wrote:The thing(ies) that junk sent me appear to be the compiled game application/run gadget. Which I don't QUITE know what to do with.
This is likely redundant if helcatv is on the case but...

1) Copy the file vegastrike into the data4.x folder
2) Start Terminal.app
3) cd to your data4.x folder *
4) type ./vegastrike

*In case you aren't familiar with Terminal.app you can do this by typing "cd " (note the space at the end) then dragging your data folder from the finder onto the terminal window - presto, the path (e.g. /Users/hazard/data4.x) to your data folder will be pasted into the terminal. Hit enter to give the command.
JunkDNA
Merchant
Merchant
Posts: 51
Joined: Tue Oct 26, 2004 9:30 pm
Location: Iowa

Post by JunkDNA »

hazard wrote:but at the last command (the configure one) I get:
-bash: ./configure: Permission denied
errors.
Could be that the permission to execute for configure is messed up. Try typing "chmod u+x ./configure" to fix it.
hazard
Explorer
Explorer
Posts: 15
Joined: Tue Sep 21, 2004 12:35 am
Contact:

Post by hazard »

well-now that I know how to get it to load with the termial+data files, it gives me a

"dyld: ./vegastrike can't open library: /sw/lib/libSDL-1.2.0.dylib (No such file or directory, errno = 2)"

error

which I'm making the blind guess-I didn't install the right libSDL.

sigh-there is no end to my suffering (and my incompetence knows no bounds)

EDIT: maybe my "sdl config script" isn't scripted-as I never recall making one/ever having anything to do with it.

EDIT2: I tried the chmod thing, and it still does not work (I don't know where it compiled to if it did so at all, but it didn't give any errors, and didn't take very long-as in it was done instantly (which I don't think makes sense)
Yea...I'm a terrible pilot too...I crash into stations-that's my docking procedure.
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

just built you folks a nice new mac binary...should work fine... in the package just right click on the binary, click view contents, then click contents then MacOS and then there's the binary--copy that into data4.x/bin
and you won't need SDL or anything to run it ;-)


good luck...the package in question is avail at priv.solsector.net
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
JunkDNA
Merchant
Merchant
Posts: 51
Joined: Tue Oct 26, 2004 9:30 pm
Location: Iowa

Post by JunkDNA »

Outstanding!

I'm d/ling right now. Many, many thanks.

As a side note. I tried compiling a more up to date CVS version last night. The configure script failed with "error: Cannot find GL library". I also notice in config.log:

Code: Select all

onfigure:8853: checking for GL library
configure:8873: gcc -o conftest -g -O2  -Wno-long-double  conftest.c   -F/Devel\
oper/SDKs/MacOSX10.2.8.sdk/System/Library/Frameworks  -framework OpenGL -framew\
ork GLUT -lobjc -L/sw/lib -lSDLmain -lSDL -framework Cocoa -framework OpenGL -L\
/Developer/SDKs/MacOSX10.2.8.sdk/System/Library/Frameworks/OpenGL.framework/Lib\
raries -lGL >&5
ld: warning -L: directory name (/Developer/SDKs/MacOSX10.2.8.sdk/System/Library\
/Frameworks/OpenGL.framework/Libraries) does not exist
ld: can't locate file for: -lGL
Is this related to your battle to get a build that works on all OS X versions? If so would it be better if I stopped messing around with CVS until the dust settles on that one :wink: ?
Thanks again for all your efforts.
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

yes that package should work on all OS X versions...
even comes with a setup utility (you have no idea about the PAIN!)

course the setup utility right now modifies stuff in the .privateer directory instead of .vegastrike
I can will post a vega strike version when the data is in some decent shape to be released--or tellyou hoow to modify it as such
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
JunkDNA
Merchant
Merchant
Posts: 51
Joined: Tue Oct 26, 2004 9:30 pm
Location: Iowa

Post by JunkDNA »

hellcatv wrote:I can will post a vega strike version when the data is in some decent shape to be released--or tellyou hoow to modify it as such
That's very civil of you sir :). Also, getting the Privateer remake as a bonus is good stuff.

Interestingly, I get roughly double the frame rate with the binary you supplied, compared to the one I compiled from CVS.

At the risk of turning this into the thead that wouldn't die, and generally making a nuisance of myself (just say if I am :wink:)...

Could I put in a request for a bit of a HOWTO for compiling from source on OS X. In particular things like:
-Preferred options for things like SDL (e.g. fink vs building by hand)
-How to make a double-clickable bundle
-Compiling using Project Builder/X Code (I failed miserably at this).

It'd be nice to "put something back" into Vega Strike but, as my coding skills don't go much past "Hello World" the only thing I can think of is to keep up to date with CVS and help spot bugs.
Post Reply