View Single Post
  #1  
Old 01-03-2009, 12:30 AM
movieman
Fire Beetle
 
Join Date: May 2004
Posts: 25
Default Compiling 64-bit?

Not sure which is the correct forum for this, since it's really a development issue but that says it's not a support forum:

Should I expect the SVN code to build on 64-bit Linux?

I just got everything out of SVN and tried to compile it, but various makefiles have '-march=i686' on the command line, and TCPConnection.cpp doesn't compile because it uses size_t rather than socklen_t for the size of the socket address around line 148; oddly, it uses socklen_t for BSD, but size_t for Linux. In the latter case I suspect it builds on 32-bit Linux but not 64-bit, as size_t and socklen_t appear to be typedef-ed to the same type on 32-bit but different types on 64-bit (size_t is 64-bit, socklen_t is 32-bit).

I'm not sure why gcc barfs on compiling for a 32-bit architecture on this 64-bit system as I've done it often at work, but I get 'error: CPU you selected does not support x86-64 instruction set'.

I noticed that 'world' has an AMD64-specific makefile, but the others don't seem to have. Is there a good reason to force a particular CPU build rather than use the default for the system you're compiling on? I presume I can just remove the -march options from all the makefiles and it will build, but having them there by default if there's not a good reason for it seems odd.

Since pretty much every new CPU can run 64-bit (even $80 Atoms), being able to run on a 64-bit server would be nice.
Reply With Quote