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

07-19-2011, 05:16 PM
|
Sarnak
|
|
Join Date: Jul 2011
Posts: 33
|
|
CPU you selected does not support x86-64 instruction set
I've searched for this, but nothing on this site turns up. This error seems common in a number of other projects, but I bet someone here has ran into it.
Yes, I'm trying to build on a 64-bit machine. All of my machines have over 4G, and are running 64-bit OS's. I'm sure EQEmu will appreciate some extra RAM.
During the build, these errors come out on stderr:
cc1plus: error: CPU you selected does not support x86-64 instruction set
(That message came during a "make clean").
When I do a regular make I get 97 of these messages before the build
halts during the compile of common/timer.cpp
I have downloaded the source tree from SVN today, so this is on the most recent code base.
Does anyone have a recommendation? I really want to build this from source, as I would like to make some local changes.
|

07-19-2011, 10:33 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
What is the output from uname -a?
|

07-19-2011, 10:49 PM
|
Sarnak
|
|
Join Date: Jul 2011
Posts: 33
|
|
Linux xxxxxxxxxxxxxxx 2.6.38.8-35.fc15.x86_64 #1 SMP Wed Jul 6 13:58:54 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
|

07-19-2011, 11:39 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
Ok. If you google for that error you'll see it's generally due to one or more of the packages you have installed. I would go through the prereqs for the server like MySQL, Perl, etc, and make sure they are up to date and installed for the appropriate architecture.
|
 |
|
 |

07-20-2011, 02:40 PM
|
Sarnak
|
|
Join Date: Jul 2011
Posts: 33
|
|
I've googled the error, and it didn't seem to me that there was any consensus on what the cause was. I am leaning towards something in a makefile assuming 32-bits, unless people are building this code in a 64-bit environment.
I did check on the installed software, here are the installed packages matching the prereqs in the linux server guides:
Installed Packages
gcc.x86_64 4.6.0-9.fc15 @anaconda-InstallationRepo-201105131943.x86_64
gcc-c++.x86_64 4.6.0-9.fc15 @anaconda-InstallationRepo-201105131943.x86_64
mysql.x86_64 5.5.14-2.fc15 @anaconda-InstallationRepo-201105131943.x86_64
mysql-devel.x86_64 5.5.14-2.fc15 @updates
mysql-server.x86_64 5.5.14-2.fc15 @anaconda-InstallationRepo-201105131943.x86_64
perl.x86_64 4:5.12.4-159.fc15
@anaconda-InstallationRepo-201105131943.x86_64
perl-IO-stringy.noarch
2.110-15.fc15 @fedora
I believe that perl-IO-stringy is noarch since it is not executable code, but rather PERL. The others are the proper 64-bit versions.
|
 |
|
 |
 |
|
 |

07-20-2011, 06:28 PM
|
Sarnak
|
|
Join Date: Jul 2011
Posts: 33
|
|
Think I see the problem
Nothing to do with installed packages.
The default makefiles build with -march=i686 which is causing all of those errors on my 64-bit system.
In several directories I see makefile.a64, so manually issuing a "make -f makefile.a64" gets me further along.
There was one problem in zone where the PERL_FLAGS were not being used, I modified makefile.a64 to work like makefile in that respect.
There were a few directories with no makefile.a64, so I copied makefile to makefile.a64 and switched the architecture.
Everything builds. There are a ton of warnings for various things that shouldn't hurt (comparison between signed and unsigned).
Of course, since it builds it must run correctly.
I'm interested in hearing comments on the above. If folks are building 64-bit just fine, then I am somehow in the minority and would like to know why. If I am one of a handful doing this, then it would be nice to know who is maintaining the a64 makefiles and discuss changes might make others' have an easier time.
I would also feel a ton better if those warnings were gone, and may clean up my build tree. If there is interest we can discuss getting those changes back into subversion at some point.
|
 |
|
 |

07-20-2011, 06:32 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
Many people are able to compile for 64 bit just fine.
Based on my google search, what you're looking for is something specifying -march, -mcpu, or -mtune with an inappropriate value for 64-bit support.
Here's a likely candidate from the makefile in zone. I didn't check any others.
COPTS=$(WFLAGS) -O -g -march=i686 -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE $(DFLAGS) $(MYSQL_FLAGS) $(PERL_FLAGS)
|

07-20-2011, 06:58 PM
|
Sarnak
|
|
Join Date: Jul 2011
Posts: 33
|
|
That is pretty much what I just said.
|

07-20-2011, 09:09 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
Well, I replied before I saw your post. Good luck with your server.
|

08-08-2011, 05:16 PM
|
 |
Sarnak
|
|
Join Date: Mar 2007
Location: NA
Posts: 48
|
|
I changed the -march=686 to -march=athlon64 (I think, been a while) to ensure everything compiled right. Worked like a charm.
Regards,
Mg
|

11-22-2011, 11:03 AM
|
Sarnak
|
|
Join Date: Dec 2007
Posts: 60
|
|
another thing you can do is to just install on an i386 version, and then do a apt-get install linux-image-2.6-686-bigmem (if i recall correctly) to utilize more than 4 gigs of ram.
|

12-17-2011, 11:45 PM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
I did get mine to compile, it even ran with no errors. Unfortunately the zones crash as you go in. My database and source are the same as my Debian 32 bit. I ran everything through the command line, and checked the logs and there are no errors, I just get a message that the zone restarted.
There is another message on the forum with other people getting that same "rebooting zone" message that have tried to run x64. Anyone had success ?
|

12-18-2011, 12:20 AM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
It would help to see a stack trace of the crash. Load a core file in gdb and type 'bt'
|

12-18-2011, 12:37 AM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
Is there a way to force it to do a core dump ? The zone appears to be rebooting, but there is never a core dump to debug.
|

12-18-2011, 12:56 AM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
I ended up removing the -O from the makefiles and all is well.
Just for notation, this is vSphere 5, Debian 6 AMD64 build, with a Xeon 8 core processor.
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 07:56 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |