PDA

View Full Version : Debian Linux, gcc 3.2 and EQEmu CVS compile error..


cipherious
06-04-2003, 03:35 PM
Well, I was experiencing some of the other problems I saw posted about, so I went ahead and updated my system to gcc3.2 et all.

Now I'm getting this when I try to make the world binary:

gcc -c -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wcomment -Wcast-align -Winline -Wno-deprecated -g -march=i686 -O -pthread -pipe -DFX -D_GNU_SOURCE -DINVERSEXY -DWORLD -DDEBUG=1 -DSHAREMEM -DCATCH_CRASH -I/usr/include/mysql -I/usr/mysql/include ../common/crc32.cpp -o ../common/crc32.o
cc1plus: warning: "-Wbad-function-cast" is valid for C/ObjC but not for C++
cc1plus: warning: "-Wnested-externs" is valid for C/ObjC but not for C++
../common/crc32.cpp:78:2: warning: #warning "Comment out i386 define if your arch isn't x86"
../common/crc32.cpp: In static member function `static uint32
CRC32::Update(const int8*, unsigned int, unsigned int)':
../common/crc32.cpp:140: error: asm-specifier for variable `_crc32' conflicts
with asm clobber list
make[1]: *** [../common/crc32.o] Error 1
make[1]: Leaving directory `/home/rsdn/eqemu/NightDumps/Source/world'
make: *** [world/world] Error 2


Any ideas?

Trumpcard
06-04-2003, 11:57 PM
Thats funky....

I'd suggest following the warning and commenting out the define so the assembly isnt compiled...

Those assembly routines were written for gcc3.2, no idea why they would fail, unless gas syntax has changed..

fnemo
06-05-2003, 12:11 AM
are you sure you are using gcc 3.2 ?
"gcc -v" :)

cipherious
06-05-2003, 02:53 AM
Sorry, I'm not using 3.2. It's actually 3.3. x;

I caught the error, but it's definately a 386 (P2400) so I just left it alone. I'll go look into that. Thanks.

Trumpcard
06-05-2003, 03:03 AM
3.3 ?

Im only up to 3.2.3 right now, not moving up to 3.3 until it's had some time to burn in.

I'm looking through their change log, don't see anything relative to modifying those warning flags for c++, or making any asm changes...

Methinks 3.3 might have some undocumented changes (or bugs).

cipherious
06-05-2003, 04:43 AM
Alright, after going through literal hell removing and installing Debian packages (and accidently removing/reinstalling apache and mysql and other misc things) I've finally gotten it to compile past crc32.cpp, the problem was gcc3.3 as far as I can tell.

So now:



gcc -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Wcomment -Wcast-align -Winline -Wno-deprecated -g -march=i686 -O -pthread -pipe -DFX -D_GNU_SOURCE -DINVERSEXY -DWORLD -DDEBUG=1 -DSHAREMEM -DCATCH_CRASH -I/usr/include/mysql -I/usr/mysql/include ../common/EQNetwork.o ../common/timer.o ../common/database.o ../common/packet_dump.o ../common/races.o ../common/unix.o ../common/Mutex.o ../common/MiscFunctions.o ../common/serverinfo.o ../common/packet_functions.o ../common/classes.o ../common/TCPConnection.o ../common/eqtime.o ../common/crc32.o client.o net.o console.o zoneserver.o LoginServer.o ../common/md5.o ../common/dbcore.o ../common/dbasync.o ../common/EMuShareMem.o .obj/debug.o -rdynamic -L. -lstdc++ -lm -lz -L/usr/lib/mysql -L/usr/mysql/lib -lmysqlclient -ldl -o world
../common/database.o(.text+0xc07): In function `Database::HandleMysqlError(unsigned)':
../common/database.cpp:199: undefined reference to `AddEQEMuError(eEQEMuError, bool)'
net.o(.text+0xf23): In function `main':
/home/rsdn/eqemu/NightDumps/Source/world/net.cpp:379: undefined reference to `CheckEQEMuErrorAndPause()'
collect2: ld returned 1 exit status
make[1]: *** [world] Error 1
make[1]: Leaving directory `/home/rsdn/eqemu/NightDumps/Source/world'
make: *** [world/world] Error 2


Any ideas? I *just* grabbed the CVS fresh, so am I wrong in assuming thre's a missing function (or prototype) somewhere?

Thanks again.

Trumpcard
06-05-2003, 05:07 AM
Add

../common/EQEMuError.o to the list of compile objects. You'll need to add doors.o also in the zone makefile.

CVS makefiles havent been updated yet for some new files.

cipherious
06-05-2003, 05:12 AM
Very nice. Thanks a bunch for everything!