Compiling the 114b4 Source (Linux)

Discussion for the original Quake 2 Chaos. (DM & CTF)
Post Reply
Jeff TheDestroyer
Posts: 7
Joined: Mon Oct 10, 2005 7:58 pm

Compiling the 114b4 Source (Linux)

Post by Jeff TheDestroyer »

I received a copy of the 114b4 source today.

Here are a few system details that might help:
uname -a
Linux t30.jeff.com 2.4.18-14 #1 Wed Sep 4 13:35:50 EDT 2002 i686 i686 i386 GNU/Linux
gcc --version
gcc (GCC) 3.2 20020903 (Red Hat Linux 8.0 3.2-7)

I have a ton of memory and HD.


My first attempt at a compile yielded:

Code: Select all

make targets BUILDDIR=debug CFLAGS="-Dstricmp=strcasecmp -DC_ONLY -pedantic -m386 -V2.7.2.3 -g -Wall"
make[1]: Entering directory `/home/mydirname/tmpchaos/114b4src'
gcc -Dstricmp=strcasecmp -DC_ONLY -pedantic -m386 -V2.7.2.3 -g -Wall -fPIC -o debug/c_base.o -c c_base.c `-m386' is deprecated. Use `-march=i386' or `-mcpu=i386' instead.
gcc: installation problem, cannot exec `cc1': No such file or directory
make[1]: *** [debug/c_base.o] Error 1
make[1]: Leaving directory `/home/mydirname/tmpchaos/114b4src'
make: *** [build_debug] Error 2
The two specific errors to be addressed are:

1. `-m386' is deprecated. Use `-march=i386' or `-mcpu=i386' instead.
2. gcc: installation problem, cannot exec `cc1': No such file or directory

I fixed the first problem using the second suggested solution "-mcpu=i386" as I've heard there might be problems with the "-march=i386" argument. I didn't bother to test. I simply changed the Makefile.

The second problem was a bit trickier to figure out.

You wouldn't believe the back-flips I went through verifing my gcc install. cc1 was a valid file and in the proper location. Environment variables were correctly set for cc1 to be found by GCC. It wasn't my gcc--which is correctly installed. It was the -V2.7.2.3. Again, I simply changed the Makefile (completely removing this one argument).

Here are the Makefile changes. I am only documenting the single line in the file that must be modified.

Old Makefile:
BASE_CFLAGS=-Dstricmp=strcasecmp -DC_ONLY -pedantic -m386 -V2.7.2.3

New Makefile:
BASE_CFLAGS=-Dstricmp=strcasecmp -DC_ONLY -pedantic -mcpu=i386

Once I made the two changes to the Makefile, it compiled with numerous warnings, but left me with a viable gamei386.so.

Most of the warnings were:
In file included from q_shared.c:1:
q_shared.h:2:1: warning: C++ style comments are not allowed in ISO C89
q_shared.h:2:1: warning: (this will be reported only once per input file)
--nothing to worry about.

The last warning was:
stdlog.c: At top level:
stdlog.c:36: warning: `_unused_id_stdlog_c' defined but not used
stdlog.c:37: warning: `_unused_id_stdlog_h' defined but not used
--usually unused variables are nothing to worry about.

Need the source? Check here (and post a request):
http://forums.chaoticdreams.org/viewtopic.php?t=4921

I hope this post helps anyone compiling the source.

Good Luck!
Jeff The Destroyer
Linux Server Admin for:
UT
Q1,2,3
HL
....and if only there were a native Linux dedicated server for Red Faction
Post Reply