wiki:Compiling Quagents

Version 4 (modified by jpawlick, 13 years ago) (diff)

--

So you've got the source code and are looking to compile it so that it runs in sweet native glory.

Our code now compiles on Linux, Windows, and Mac. However, I'm having trouble getting SDL to link on Windows and MacOSX. Odd that I didn't have that problem under Linux... -Josh

Linux

According to ioquake3's website, you need SDL and the associated development packages, but I've never had to do anything for this step under Linux. Perhaps I was already set up? Well, anyways, that issue aside, just run make and then copy the assets files (as described below).

Yacc vs Bison

Compilation requires yacc. If you have bison you may have problems. Here's how I fixed those problems on the URCS machines:

Link yacc to bison (probably better to install yacc, but...)

	mkdir ~/bin
	cd ~/bin
	ln -T --symbolic yacc /usr/bin/bison

Restart terminal, then try to make

	cd ~/quagents/trunk/ioquake3
	make
	(Make will fail.)

Patch up bison/yacc filename differences (FIXME: we should be able to have the Makefile do this, or configure bison to do it correctly? Or install yacc?).

	mv gram.tab.c y.tab.c
	make

Make should complete successfully.

Mac OSX

There's another shell script to compile for OSX in the top level directory, and it seems to compile fine up until SDL. I don't think I did the right thing to install SDL. :( Maybe someone who has clocked more than 2 hours on a Mac in their life can help me on this one...

Windows

Working on it. Looks like the best solution is MinGW and the make. Try http://wiki.ioquake3.org/Building_ioquake3, and the ioquake3 readme.

Everthing Else

You're currently on your own, sorry. Give the makefile a shot and see what happens.

Copy Assets Files

You need to put all our assets .pk3 files into your build/release-?????-????/quagents3 directory, or your build/release-?????-????/missionpack directory if you would prefer to run the Team Arena mod.

	cp ~/quagents/trunk/openarena_assets/* ~/quagents/trunk/ioquake3/build/release-linux-i386/quagents3/
	cp ~/quagents/trunk/openarena_assets/* ~/quagents/trunk/ioquake3/build/release-linux-i386/missionpack/
	cp ~/quagents/trunk/urochester_assets/* ~/quagents/trunk/ioquake3/build/release-linux-i386/quagents3/
	cp ~/quagents/trunk/urochester_assets/* ~/quagents/trunk/ioquake3/build/release-linux-i386/missionpack/