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 11-21-2009, 11:15 AM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default Recommended version of Linux for current SVN release

Exactly that, what are the devs that are writing the code using for Linux, which distro and revision ?

I tried OpenSuse 11.2 today with the latest SVN and it totally crapped out on the compile with this.

Code:
../common/perl_EQDBRes.o: In function `XS_EQDBRes_fetch_row_array':
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:137: undefined reference to `Perl_Istack_sp_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:137: undefined reference to `Perl_Imarkstack_ptr_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:137: undefined reference to `Perl_Istack_base_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:144: undefined reference to `Perl_Istack_base_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:145: undefined reference to `Perl_Istack_base_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:145: undefined reference to `Perl_Istack_base_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:145: undefined reference to `Perl_Istack_base_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:145: undefined reference to `Perl_sv_2iv_flags'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:154: undefined reference to `Perl_Istack_base_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:161: undefined reference to `Perl_Istack_max_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:164: undefined reference to `Perl_Istack_base_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:165: undefined reference to `Perl_Istack_base_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:168: undefined reference to `Perl_Istack_sp_ptr'
/home/jkg/EQEmuServer/world/../common/perl_EQDBRes.cpp:168: undefined reference to `Perl_Istack_base_ptr'
collect2: ld returned 1 exit status
make[1]: *** [world] Error 1
make[1]: Leaving directory `/home/jkg/EQEmuServer/world'
make: *** [all] Error 2
Reply With Quote
  #2  
Old 11-21-2009, 01:45 PM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

That's because you're running a newer version of perl than what the server uses (5.8 I think). At least Ubuntu server 9.04 has the same issue, I followed some guide I found online to downgrade to the earlier version of perl and it works fine.

edit: Found the guide: http://use.perl.org/~Ovid/journal/39375
Reply With Quote
  #3  
Old 11-23-2009, 01:51 AM
gaeorn
Developer
 
Join Date: Apr 2009
Location: USA
Posts: 478
Default

I can build on Fedora 11 using perl 5.10 so that shouldn't be a perl issue. One problem I have had is if the source code is copied from one system to another, the .depend files are based on dependencies from the previous system and that can cause compile problems.

So, to be sure, do a make clean, then remove .depend files in the source code tree and then try to compile again. If you still have problems, post the errors and we'll see if we can figure it out.
Reply With Quote
  #4  
Old 11-23-2009, 11:58 AM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

I compile on Ubuntu 9.10 with Perl 5.10 and gcc version 4.3.4. It compiles successfully for me all the time. However, I have to make 1 change to the makefiles to enable successful compiles:

1) Change -march=i686 to -march=athlon64 (if you're using gcc 4.3 you should be able to use -march=native)

I have to make this change because my system uses an Athlon64 x2 CPU where the default makefile appears to be for Intel CPUs. As I noted in parenthesis, you can use -march=native if your gcc version is 4.3 (or newer). Instead of editing all of the makefiles one by one by hand, you can use the following terminal command to hit all of them:

1) Make sure you are in the root of the build tree
2) Run:
grep -Ril i686 * | xargs perl -pi -e 's/i686/native/g'

Using -march=native enables more CPU based optimizations than selecting the actual CPU from the gcc mtune/march optimization flag. All of the mtune/march optimizations that are available can be found here:
http://gcc.gnu.org/onlinedocs/gcc/i3...4-Options.html

And like gaeorn mentioned, you should do a 'make clean' before you attempt to compile... if 'make clean' fails then you will most likely need to change the -march= option before you can do a successful 'make clean' and/or 'make'.
Reply With Quote
  #5  
Old 12-16-2009, 12:20 AM
iggi
Sarnak
 
Join Date: Feb 2006
Posts: 62
Default

I just set a server up on CentOS 5.4, with perl 5.88 and GCC 4.1.2 with no problems on Thanksgiving.

Like gaeorn said, make sure you do a "make clean" and try it again.
Reply With Quote
  #6  
Old 12-24-2009, 12:46 PM
hayward6
Forum Guide
 
Join Date: Jul 2005
Posts: 468
Default

I've been using Debian all along and I have been very happy. You can go pick up the net install for the latest version here and follow the wiki here to set it up.

Good Luck!
__________________
Sayin Silverwolf
Server Op of The Sandbox (Non-Legit)
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 05:58 AM.


 

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