predominant
08-13-2003, 05:47 PM
Hi all,
I'm having a few issues with the compilation of 0.5.0 under Redhat Linux.
I understand that redHat may have issues with the RPM install of mysql, but we'll see of that is actually the problem.
I;ve modified the EMuShareMem/makefile to read:
# LINKOPTS=-L. -lstdc++ -lm -lz `mysql_config --libs`
LINKOPTS=-L. -lstdc++ -lm -lz -L/usr/lib/mysql
( Note the first line is the original, and the second line is my version )
This compiles EMuShareMem correctly, as far as I can see. I end up with 'libEMuShareMem.so' in that directory.
onto 'world'.
cd ../world
$ make
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=5 -DSHAREMEM -DCATCH_CRASH -DNO_PIDLOG -I/usr/include/mysql -I/usr/mysql/include ../common/eqtime.cpp -o ../common/eqtime.o
In file included from ../common/eqtime.h:5,
from ../common/eqtime.cpp:20:
../common/database.h:30:19: mysql.h: No such file or directory
In file included from ../common/database.h:32,
from ../common/eqtime.h:5,
from ../common/eqtime.cpp:20:
../common/dbcore.h:8:19: mysql.h: No such file or directory
In file included from ../common/database.h:32,
from ../common/eqtime.h:5,
from ../common/eqtime.cpp:20:
../common/dbcore.h:24: type specifier omitted for parameter `MYSQL_RES'
../common/dbcore.h:24: parse error before `*' token
../common/dbcore.h:32: 'MYSQL' is used as a type, but is not defined as a type.
../common/dbcore.h:178: type specifier omitted for parameter `MYSQL_RES'
../common/dbcore.h:178: parse error before `*' token
../common/dbcore.h:199: syntax error before `*' token
In file included from ../common/eqtime.h:5,
from ../common/eqtime.cpp:20:
../common/database.h:226: `MYSQL_RES' was not declared in this scope
../common/database.h:226: `result' was not declared in this scope
../common/database.h:226: parse error before `*' token
../common/database.h:228: `MYSQL_RES' was not declared in this scope
../common/database.h:228: `result' was not declared in this scope
../common/database.h:228: parse error before `*' token
../common/database.h:269: `MYSQL_RES' was not declared in this scope
../common/database.h:269: `result' was not declared in this scope
../common/database.h:269: invalid data member initialization
../common/database.h:269: (use `=' to initialize static data members)
../common/database.h:310: `MYSQL_RES' was not declared in this scope
../common/database.h:310: `result' was not declared in this scope
../common/database.h:310: parse error before `*' token
make: *** [../common/eqtime.o] Error 1
I assume this is a mysql fault. Are there command-line parameteres that I can supply, or some weel-known modifications to the makefile that I can make?
Also, I dont believe I *have* mysql.h - Where do I get it, and where do I put it?
onto 'zone'
cd ../zone
$ make
gcc -c -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wbad-function-cast -Wstrict-prototypes -Wno-deprecated -Wnested-externs -Wcomment -Wcast-align -O -ggdb -march=i686 -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE -DDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DSPELL_EFFECT_SPAM -I/usr/local/mysql/include ../common/packet_dump_file.cpp -o ../common/packet_dump_file.o
gcc -c -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wbad-function-cast -Wstrict-prototypes -Wno-deprecated -Wnested-externs -Wcomment -Wcast-align -O -ggdb -march=i686 -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE -DDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DSPELL_EFFECT_SPAM -I/usr/local/mysql/include zone.cpp -o
zone.o
In file included from zone.h:26,
from zone.cpp:38:
../common/database.h:30:19: mysql.h: No such file or directory
In file included from ../common/database.h:32,
from zone.h:26,
from zone.cpp:38:
../common/dbcore.h:8:19: mysql.h: No such file or directory
In file included from ../common/database.h:32,
from zone.h:26,
from zone.cpp:38:
../common/dbcore.h:24: type specifier omitted for parameter `MYSQL_RES'
../common/dbcore.h:24: parse error before `*' token
../common/dbcore.h:32: 'MYSQL' is used as a type, but is not defined as a type.
../common/dbcore.h:178: type specifier omitted for parameter `MYSQL_RES'
../common/dbcore.h:178: parse error before `*' token
../common/dbcore.h:199: syntax error before `*' token
In file included from zone.h:26,
from zone.cpp:38:
../common/database.h:226: `MYSQL_RES' was not declared in this scope
../common/database.h:226: `result' was not declared in this scope
../common/database.h:226: parse error before `*' token
../common/database.h:228: `MYSQL_RES' was not declared in this scope
../common/database.h:228: `result' was not declared in this scope
../common/database.h:228: parse error before `*' token
../common/database.h:269: `MYSQL_RES' was not declared in this scope
../common/database.h:269: `result' was not declared in this scope
../common/database.h:269: invalid data member initialization
../common/database.h:269: (use `=' to initialize static data members)
../common/database.h:310: `MYSQL_RES' was not declared in this scope
../common/database.h:310: `result' was not declared in this scope
../common/database.h:310: parse error before `*' token
In file included from object.h:23,
from zone.cpp:46:
../common/eq_opcodes.h:243:1: warning: "OP_WearChange" redefined
../common/eq_opcodes.h:23:1: warning: this is the location of the previous definition
zone.cpp:70: type specifier omitted for parameter `MYSQL_RES'
zone.cpp:70: parse error before `*' token
zone.cpp: In static member function `static bool Zone::Bootup(unsigned int,
bool)':
zone.cpp:103: `MYSQL_ERRMSG_SIZE' undeclared (first use this function)
zone.cpp:103: (Each undeclared identifier is reported only once for each
function it appears in.)
zone.cpp:100: warning: unused variable `PlayerProfile_Struct*pp'
zone.cpp:101: warning: unused variable `int char_num'
zone.cpp:102: warning: unused variable `long unsigned int*lengths'
zone.cpp: In member function `void Zone::LoadZoneDoors(const char*)':
zone.cpp:219: warning: comparison is always false due to limited range of data
type
zone.cpp: In member function `bool
Database::LoadStaticZonePoints(LinkedList<ZonePoin t*>*, const char*)':
zone.cpp:739: `MYSQL_RES' undeclared (first use this function)
zone.cpp:739: `result' undeclared (first use this function)
zone.cpp:740: `MYSQL_ROW' undeclared (first use this function)
zone.cpp:740: parse error before `;' token
zone.cpp:743: `errbuf' undeclared (first use this function)
zone.cpp:746: `row' undeclared (first use this function)
zone.cpp:746: `mysql_fetch_row' undeclared (first use this function)
zone.cpp:764: `mysql_free_result' undeclared (first use this function)
zone.cpp: In member function `bool Database::PopulateZoneLists(const char*,
LinkedList<ZonePoint*>*, SpawnGroupList*)':
zone.cpp:781: parse error before `;' token
zone.cpp: In member function `bool Database::PopulateZoneSpawnList(const char*,
LinkedList<Spawn2*>&, unsigned int)':
zone.cpp:831: parse error before `;' token
zone.cpp: In member function `sint8 Database::LoadZoneState(const char*,
LinkedList<Spawn2*>&)':
zone.cpp:1012: parse error before `;' token
zone.cpp:1030: `mysql_num_rows' undeclared (first use this function)
zone.cpp:1034: `mysql_fetch_lengths' undeclared (first use this function)
zone.cpp: At global scope:
zone.cpp:1189: type specifier omitted for parameter `MYSQL_RES'
zone.cpp:1189: parse error before `*' token
zone.cpp: In function `void CleanupLoadZoneState(...)':
zone.cpp:1190: `spawn2_dump' undeclared (first use this function)
zone.cpp:1191: `spawn2_loaded' undeclared (first use this function)
zone.cpp:1192: `gmspawntype_dump' undeclared (first use this function)
zone.cpp:1193: `npc_dump' undeclared (first use this function)
zone.cpp:1194: `npc_loaded' undeclared (first use this function)
zone.cpp:1195: `npcloot_dump' undeclared (first use this function)
zone.cpp: In member function `Spawn2*
Database::LoadSpawn2(LinkedList<Spawn2*>&, unsigned int, unsigned int)':
zone.cpp:1206: parse error before `;' token
zone.cpp: In member function `bool
Database::GetDecayTimes(npcDecayTimes_Struct*)':
zone.cpp:1283: parse error before `;' token
zone.cpp: In member function `bool Database::LoadZonePoints(const char*,
uint8**, int32*)':
zone.cpp:1376: parse error before `;' token
make: *** [zone.o] Error 1
Again, I feel this is a mysql invoked issue, but I dont know how to resolve it.
Any thoughts would be great. Thanks :)
Cheers,
Predominant
I'm having a few issues with the compilation of 0.5.0 under Redhat Linux.
I understand that redHat may have issues with the RPM install of mysql, but we'll see of that is actually the problem.
I;ve modified the EMuShareMem/makefile to read:
# LINKOPTS=-L. -lstdc++ -lm -lz `mysql_config --libs`
LINKOPTS=-L. -lstdc++ -lm -lz -L/usr/lib/mysql
( Note the first line is the original, and the second line is my version )
This compiles EMuShareMem correctly, as far as I can see. I end up with 'libEMuShareMem.so' in that directory.
onto 'world'.
cd ../world
$ make
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=5 -DSHAREMEM -DCATCH_CRASH -DNO_PIDLOG -I/usr/include/mysql -I/usr/mysql/include ../common/eqtime.cpp -o ../common/eqtime.o
In file included from ../common/eqtime.h:5,
from ../common/eqtime.cpp:20:
../common/database.h:30:19: mysql.h: No such file or directory
In file included from ../common/database.h:32,
from ../common/eqtime.h:5,
from ../common/eqtime.cpp:20:
../common/dbcore.h:8:19: mysql.h: No such file or directory
In file included from ../common/database.h:32,
from ../common/eqtime.h:5,
from ../common/eqtime.cpp:20:
../common/dbcore.h:24: type specifier omitted for parameter `MYSQL_RES'
../common/dbcore.h:24: parse error before `*' token
../common/dbcore.h:32: 'MYSQL' is used as a type, but is not defined as a type.
../common/dbcore.h:178: type specifier omitted for parameter `MYSQL_RES'
../common/dbcore.h:178: parse error before `*' token
../common/dbcore.h:199: syntax error before `*' token
In file included from ../common/eqtime.h:5,
from ../common/eqtime.cpp:20:
../common/database.h:226: `MYSQL_RES' was not declared in this scope
../common/database.h:226: `result' was not declared in this scope
../common/database.h:226: parse error before `*' token
../common/database.h:228: `MYSQL_RES' was not declared in this scope
../common/database.h:228: `result' was not declared in this scope
../common/database.h:228: parse error before `*' token
../common/database.h:269: `MYSQL_RES' was not declared in this scope
../common/database.h:269: `result' was not declared in this scope
../common/database.h:269: invalid data member initialization
../common/database.h:269: (use `=' to initialize static data members)
../common/database.h:310: `MYSQL_RES' was not declared in this scope
../common/database.h:310: `result' was not declared in this scope
../common/database.h:310: parse error before `*' token
make: *** [../common/eqtime.o] Error 1
I assume this is a mysql fault. Are there command-line parameteres that I can supply, or some weel-known modifications to the makefile that I can make?
Also, I dont believe I *have* mysql.h - Where do I get it, and where do I put it?
onto 'zone'
cd ../zone
$ make
gcc -c -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wbad-function-cast -Wstrict-prototypes -Wno-deprecated -Wnested-externs -Wcomment -Wcast-align -O -ggdb -march=i686 -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE -DDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DSPELL_EFFECT_SPAM -I/usr/local/mysql/include ../common/packet_dump_file.cpp -o ../common/packet_dump_file.o
gcc -c -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wbad-function-cast -Wstrict-prototypes -Wno-deprecated -Wnested-externs -Wcomment -Wcast-align -O -ggdb -march=i686 -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE -DDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DSPELL_EFFECT_SPAM -I/usr/local/mysql/include zone.cpp -o
zone.o
In file included from zone.h:26,
from zone.cpp:38:
../common/database.h:30:19: mysql.h: No such file or directory
In file included from ../common/database.h:32,
from zone.h:26,
from zone.cpp:38:
../common/dbcore.h:8:19: mysql.h: No such file or directory
In file included from ../common/database.h:32,
from zone.h:26,
from zone.cpp:38:
../common/dbcore.h:24: type specifier omitted for parameter `MYSQL_RES'
../common/dbcore.h:24: parse error before `*' token
../common/dbcore.h:32: 'MYSQL' is used as a type, but is not defined as a type.
../common/dbcore.h:178: type specifier omitted for parameter `MYSQL_RES'
../common/dbcore.h:178: parse error before `*' token
../common/dbcore.h:199: syntax error before `*' token
In file included from zone.h:26,
from zone.cpp:38:
../common/database.h:226: `MYSQL_RES' was not declared in this scope
../common/database.h:226: `result' was not declared in this scope
../common/database.h:226: parse error before `*' token
../common/database.h:228: `MYSQL_RES' was not declared in this scope
../common/database.h:228: `result' was not declared in this scope
../common/database.h:228: parse error before `*' token
../common/database.h:269: `MYSQL_RES' was not declared in this scope
../common/database.h:269: `result' was not declared in this scope
../common/database.h:269: invalid data member initialization
../common/database.h:269: (use `=' to initialize static data members)
../common/database.h:310: `MYSQL_RES' was not declared in this scope
../common/database.h:310: `result' was not declared in this scope
../common/database.h:310: parse error before `*' token
In file included from object.h:23,
from zone.cpp:46:
../common/eq_opcodes.h:243:1: warning: "OP_WearChange" redefined
../common/eq_opcodes.h:23:1: warning: this is the location of the previous definition
zone.cpp:70: type specifier omitted for parameter `MYSQL_RES'
zone.cpp:70: parse error before `*' token
zone.cpp: In static member function `static bool Zone::Bootup(unsigned int,
bool)':
zone.cpp:103: `MYSQL_ERRMSG_SIZE' undeclared (first use this function)
zone.cpp:103: (Each undeclared identifier is reported only once for each
function it appears in.)
zone.cpp:100: warning: unused variable `PlayerProfile_Struct*pp'
zone.cpp:101: warning: unused variable `int char_num'
zone.cpp:102: warning: unused variable `long unsigned int*lengths'
zone.cpp: In member function `void Zone::LoadZoneDoors(const char*)':
zone.cpp:219: warning: comparison is always false due to limited range of data
type
zone.cpp: In member function `bool
Database::LoadStaticZonePoints(LinkedList<ZonePoin t*>*, const char*)':
zone.cpp:739: `MYSQL_RES' undeclared (first use this function)
zone.cpp:739: `result' undeclared (first use this function)
zone.cpp:740: `MYSQL_ROW' undeclared (first use this function)
zone.cpp:740: parse error before `;' token
zone.cpp:743: `errbuf' undeclared (first use this function)
zone.cpp:746: `row' undeclared (first use this function)
zone.cpp:746: `mysql_fetch_row' undeclared (first use this function)
zone.cpp:764: `mysql_free_result' undeclared (first use this function)
zone.cpp: In member function `bool Database::PopulateZoneLists(const char*,
LinkedList<ZonePoint*>*, SpawnGroupList*)':
zone.cpp:781: parse error before `;' token
zone.cpp: In member function `bool Database::PopulateZoneSpawnList(const char*,
LinkedList<Spawn2*>&, unsigned int)':
zone.cpp:831: parse error before `;' token
zone.cpp: In member function `sint8 Database::LoadZoneState(const char*,
LinkedList<Spawn2*>&)':
zone.cpp:1012: parse error before `;' token
zone.cpp:1030: `mysql_num_rows' undeclared (first use this function)
zone.cpp:1034: `mysql_fetch_lengths' undeclared (first use this function)
zone.cpp: At global scope:
zone.cpp:1189: type specifier omitted for parameter `MYSQL_RES'
zone.cpp:1189: parse error before `*' token
zone.cpp: In function `void CleanupLoadZoneState(...)':
zone.cpp:1190: `spawn2_dump' undeclared (first use this function)
zone.cpp:1191: `spawn2_loaded' undeclared (first use this function)
zone.cpp:1192: `gmspawntype_dump' undeclared (first use this function)
zone.cpp:1193: `npc_dump' undeclared (first use this function)
zone.cpp:1194: `npc_loaded' undeclared (first use this function)
zone.cpp:1195: `npcloot_dump' undeclared (first use this function)
zone.cpp: In member function `Spawn2*
Database::LoadSpawn2(LinkedList<Spawn2*>&, unsigned int, unsigned int)':
zone.cpp:1206: parse error before `;' token
zone.cpp: In member function `bool
Database::GetDecayTimes(npcDecayTimes_Struct*)':
zone.cpp:1283: parse error before `;' token
zone.cpp: In member function `bool Database::LoadZonePoints(const char*,
uint8**, int32*)':
zone.cpp:1376: parse error before `;' token
make: *** [zone.o] Error 1
Again, I feel this is a mysql invoked issue, but I dont know how to resolve it.
Any thoughts would be great. Thanks :)
Cheers,
Predominant