Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Linux Servers

Support::Linux Servers Support forum for Linux EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 12-18-2012, 05:12 PM
scerion
Fire Beetle
 
Join Date: Dec 2012
Location: United States
Posts: 10
Default EQEmu compile fail - inflateInit2_, defalteInit_

Greetings,
I'm trying to set up EQEmu on my linux server. It's an already exisiting webserver running the following:
CENTOS 6.3 x86_64
Cpanel 11

I've been following the various Linux guides, and adjustments for x64. I'm currently in the process of compiling the code, but it generates the following error:
Code:
./common/packet_functions.o: In function `InflatePacket(unsigned char const*, unsigned int, unsigned char*, unsigned int, bool)':
/home/eqemu/source/EQEmuServer/world/../common/packet_functions.cpp:245: undefined reference to `inflateInit2_'
/home/eqemu/source/EQEmuServer/world/../common/packet_functions.cpp:250: undefined reference to `inflate'
/home/eqemu/source/EQEmuServer/world/../common/packet_functions.cpp:253: undefined reference to `inflateEnd'
/home/eqemu/source/EQEmuServer/world/../common/packet_functions.cpp:272: undefined reference to `inflateEnd'
../common/packet_functions.o: In function `DeflatePacket(unsigned char const*, int, unsigned char*, int)':
/home/eqemu/source/EQEmuServer/world/../common/packet_functions.cpp:155: undefined reference to `deflateInit_'
/home/eqemu/source/EQEmuServer/world/../common/packet_functions.cpp:158: undefined reference to `deflate'
/home/eqemu/source/EQEmuServer/world/../common/packet_functions.cpp:162: undefined reference to `deflateEnd'
/home/eqemu/source/EQEmuServer/world/../common/packet_functions.cpp:167: undefined reference to `deflateEnd'
collect2: ld returned 1 exit status
make[1]: *** [zone] Error 1
make[1]: Leaving directory `/home/eqemu/source/EQEmuServer/zone'
make: *** [all] Error 2
any suggestions?
Reply With Quote
  #2  
Old 12-18-2012, 10:06 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

You are missing zlib-devel.
Reply With Quote
  #3  
Old 12-18-2012, 10:30 PM
scerion
Fire Beetle
 
Join Date: Dec 2012
Location: United States
Posts: 10
Default

thought that might have been it too... but according to cpanel and trying to update it manually though yum...

Package zlib-devel-1.2.3-27.el6.x86_64 already installed and latest version

also have unzip zip zlib and zlib-static

tried to update them all and all appear up to date :-/
maybe its referencing the wrong location for zlib-devel?
Reply With Quote
  #4  
Old 12-18-2012, 11:23 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

There generally aren't locations for files that you need to manage in Linux. either the system library is installed or it isn't.

You can try running ldconfig -v as root and see if zlib is listed. You should also verify that -lz is on the linker line in the makefile. It's there in the default makefile, but if you modified anything perhaps it went missing.
Reply With Quote
  #5  
Old 12-19-2012, 02:18 PM
scerion
Fire Beetle
 
Join Date: Dec 2012
Location: United States
Posts: 10
Default

was was comparing the world makefile to the zone makefile and came across that it was missing -lm -lz from the LINKOPTS line. here they are below:

world makefile
Code:
COPTS=$(WFLAGS) -g -O -pthread -pipe -I../common/SocketLib \
  -DFX -D_GNU_SOURCE -DINVERSEXY -DWORLD $(DFLAGS) $(MYSQL_FLAGS) $(PERL_FLAGS)
LINKOPTS=$(COPTS) -rdynamic -L. -lstdc++ -lm -lz -ldl \
  $(MYSQL_LIB) $(PERL_LIB)
zone makefile
Code:
COPTS=$(WFLAGS) -O -g -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE $(DFLAGS) $(MYSQL_FLAGS) $(PERL_FLAGS)
LINKOPTS=$(COPTS) -rdynamic -L. -lstdc++ -ldl $(MYSQL_LIB) $(PERL_LIB)
So it looks like that portion compiled correctly...the fix by adding "-lm -lz" before "-ldl" in the zone makefile.

Now I got
Code:
make[1]: Leaving directory `/home/eqemu/source/EQEmuServer/queryserv'
make -C utils
make[1]: Entering directory `/home/eqemu/source/EQEmuServer/utils'
g++ cleanipc.cpp -o cleanipc
make[1]: Leaving directory `/home/eqemu/source/EQEmuServer/utils'
at the end of the compilation.
are these errors?
Reply With Quote
  #6  
Old 12-19-2012, 03:45 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

Hmm, the default makefile from SVN is missing -lz for zone as well, so it isn't something you accidentally tweaked. I had only checked the world makefile since it looked like that might be where you were having the issue.

I don't regularly compile on Linux, so I'm not sure if everyone has the issues, or if zlib gets picked up by some other library on a different distribution.

The stuff at the end isn't errors. You should have executables in the output directory.
Reply With Quote
  #7  
Old 12-19-2012, 04:24 PM
scerion
Fire Beetle
 
Join Date: Dec 2012
Location: United States
Posts: 10
Default

yeah I hadn't tweaked that part of the lines.. had only removed the -march flag to compile on x64.
Good to know it wasn't my fault tho
Submitted a thread to the Bug Report forum.

very much thanks for the help lerxst2112
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 10:03 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3