PDA

View Full Version : Problem compiling in linux


Armanthuz
05-25-2006, 05:11 PM
libemusharemem and world compile ok but when i try to compile zone it does at ...

In file included from ../common/database.h:26,
from ../common/shareddb.h:6,
from zonedb.h:4,
from entity.h:23,
from masterentity.h:4,
from zone.cpp:37:
../common/dbcore.h:9:19: error: mysql.h: No such file or directory
../common/dbcore.h:25: error: 'MYSQL_RES' has not been declared
../common/dbcore.h:28: error: ISO C++ forbids declaration of 'MYSQL' with no type
../common/dbcore.h:28: error: expected ';' before '*' token
../common/dbcore.h:30: error: expected `;' before 'static'
../common/dbcore.h:36: error: 'MYSQL' does not name a type
../common/database.h:170: error: 'MYSQL_RES' has not been declared
../common/database.h:221: error: 'MYSQL_RES' was not declared in this scope
../common/database.h:221: error: 'result' was not declared in this scope


This continues for awhile then zone dies from errors..., can someone give me a clue what im missing please?

Armanthuz
05-26-2006, 06:32 AM
I assumed zone had CFLAGS set to mysql_config variable. It was set to a directory which my mysql wasnt in. I had to change to match where header files for mysql are.

The one that always trips me up is forwhatever reason you HAVE to put libmysqlclient.so.14, and libemusharemem in the /usr/bin directory to get world.exe to run. If anyone knows why this is id love to know the answer.

On a side note, compiling eqemu on linux was FAR easier overall than on windows using studio 2005. Im no programmar really but talk about frustrating compiling this batch. That being said, there seem to be alot of neat features in now.

johane
05-26-2006, 12:14 PM
The one that always trips me up is forwhatever reason you HAVE to put libmysqlclient.so.14, and libemusharemem in the /usr/bin directory to get world.exe to run. If anyone knows why this is id love to know the answer.


It's hard to be specific without knowing what diustribution you use, but I expect that you'll find that problem to have to do with the linking loader. Lookup

man ld.so
man ldconfig
man ldd

and you'll almost certainly find the answer you're looking for in one of those man pages. Check out the LD_PRELOAD environment variable as well.