EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Linux Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=588)
-   -   Problem compiling in linux (https://www.eqemulator.org/forums/showthread.php?t=20687)

Armanthuz 05-25-2006 05:11 PM

Problem compiling in linux
 
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

Fixed
 
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

Quote:

Originally Posted by Armanthuz
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
Code:

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.


All times are GMT -4. The time now is 07:17 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.