PDA

View Full Version : Linux Port


Raptor
01-22-2002, 08:46 PM
Will there be a Linux Port available?

I have compiled 0.2.0 successfully, but there are some quirks with the Login Server, but maybe its just missing the EQ Data Files :) Where do i have to put them on my box?

steve
01-23-2002, 07:17 PM
How did you get it to compile?

Attempted on RedHat 7.2, below is the process:

[steve@steve emu]$ ls
Boot5zones.bat db.ini LoginServer.ini Server.opt World.exe
common db.sql readme-LS.txt Windows_Install_Guide.txt zone
dbconnectinfo.linux.txt EQEMu-0.2.0.zip Server.dsw world Zone.exe
[steve@steve emu]$ cd zone
[steve@steve zone]$ make
gcc -c -g -m486 -pthread -pipe -DFX -I/usr/include/mysql ../common/EQFragment.cpp -o ../common/EQFragment.o
gcc -c -g -m486 -pthread -pipe -DFX -I/usr/include/mysql ../common/EQPacket.cpp -o ../common/EQPacket.o
gcc -c -g -m486 -pthread -pipe -DFX -I/usr/include/mysql ../common/EQPacketManager.cpp -o ../common/EQPacketManager.o
gcc -c -g -m486 -pthread -pipe -DFX -I/usr/include/mysql ../common/timer.cpp -o ../common/timer.o
gcc -c -g -m486 -pthread -pipe -DFX -I/usr/include/mysql ../common/database.cpp -o ../common/database.o
gcc -c -g -m486 -pthread -pipe -DFX -I/usr/include/mysql ../common/packet_dump.cpp -o ../common/packet_dump.o
gcc -c -g -m486 -pthread -pipe -DFX -I/usr/include/mysql ../common/packet_functions.cpp -o ../common/packet_functions.o
gcc -c -g -m486 -pthread -pipe -DFX -I/usr/include/mysql ../common/unix.cpp -o ../common/unix.o
gcc -c -g -m486 -pthread -pipe -DFX -I/usr/include/mysql ../common/packet_dump_file.cpp -o ../common/packet_dump_file.o
gcc -c -g -m486 -pthread -pipe -DFX -I/usr/include/mysql zone.cpp -o zone.o
zone.cpp: In method `Zone::Zone (char *, char *, short unsigned int)':
zone.cpp:81: `PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP' undeclared (first
use this function)
zone.cpp:81: (Each undeclared identifier is reported only once for each
function it appears in.)
zone.cpp:82: `pthread_mutex_lock' undeclared (first use this function)
zone.cpp:83: `pthread_mutex_unlock' undeclared (first use this
function)
make: *** [zone.o] Error 1
[steve@steve zone]$ cd ..
[steve@steve emu]$ ls
Boot5zones.bat db.ini LoginServer.ini Server.opt World.exe
common db.sql readme-LS.txt Windows_Install_Guide.txt zone
dbconnectinfo.linux.txt EQEMu-0.2.0.zip Server.dsw world Zone.exe
[steve@steve emu]$ cd world
[steve@steve world]$ ls
client.cpp console.cpp LoginServer.cpp makefile net.h World.dsp World.opt zoneserver.h
client.h console.h LoginServer.h net.cpp TCPConnection.h World.dsw zoneserver.cpp
[steve@steve world]$ make
gcc -c -g -m486 -O3 -pthread -pipe -DFX -I/usr/include/mysql ../common/races.cpp -o ../common/races.o
gcc -c -g -m486 -O3 -pthread -pipe -DFX -I/usr/include/mysql client.cpp -o client.o
client.cpp: In method `ClientList::ClientList ()':
client.cpp:482: `PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP' undeclared
(first use this function)
client.cpp:482: (Each undeclared identifier is reported only once for
each function it appears in.)
client.cpp:483: `pthread_mutex_lock' undeclared (first use this
function)
client.cpp:484: `pthread_mutex_unlock' undeclared (first use this
function)
make: *** [client.o] Error 1

It dies after both of these makes. Am I missing something? Unzip the emu, and then do the above?

n00b8472
01-23-2002, 08:09 PM
Happens for everyone at the moment :(

Raptor made it compile by hacking the files himself, fiddling with them until it would work, but when I was retracing his steps I couldn't make it work.

<-- Slackware 8.0, I believe Raptor is using Suse 7.2

steve
01-23-2002, 08:14 PM
Ugh :( Perhaps he could send you the files he editted to make it work?

Tried on FreeBSD 4.4 and got different errors:

steve$ cd world
steve$ make
c++ -O -pipe -c ../common/EQFragment.cpp
c++ -O -pipe -c ../common/EQPacket.cpp
In file included from ../common/EQPacket.cpp:8:
/usr/include/netinet/in.h:233: syntax error before `;'
/usr/include/netinet/in.h:285: syntax error before `;'
In file included from /usr/include/netinet/in.h:475,
from ../common/EQPacket.cpp:8:
/usr/include/netinet6/in6.h:122: syntax error before `['
/usr/include/netinet6/in6.h:144: syntax error before `;'
/usr/include/netinet6/in6.h:149: syntax error before `;'
/usr/include/netinet6/in6.h:610: syntax error before `*'
/usr/include/netinet6/in6.h:612: syntax error before `*'
/usr/include/netinet6/in6.h:613: syntax error before `*'
/usr/include/netinet6/in6.h:614: syntax error before `*'
/usr/include/netinet6/in6.h:629: type specifier omitted for parameter
/usr/include/netinet6/in6.h:630: type specifier omitted for parameter
/usr/include/netinet6/in6.h:634: syntax error before `*'
/usr/include/netinet6/in6.h:636: type specifier omitted for parameter
../common/EQPacket.cpp: In method `int32 CEQPacket::GenerateCRC(unsigned int, unsigned int, uchar *)':
../common/EQPacket.cpp:89: implicit declaration of function `int htonl(...)'
../common/EQPacket.cpp: In method `void CEQPacket::DecodePacket(short unsigned int, uchar *)':
../common/EQPacket.cpp:113: implicit declaration of function `int ntohs(...)'
*** Error code 1

Stop in /usr/home/steve/emu/world.

Raptor
01-24-2002, 06:00 AM
Maybe we should wait for the next version, I heard Quagmire saying in the IRC, that he compiled 0.2.1 (cvs) successfully ;)

In the meantime, I'll kick around that &

n00b8472
01-24-2002, 02:57 PM
If you could share that source would be great.. I'm anxious to get it working on Linux, but unfortunately I don't have much coding knowledge and can't do it on my own :(