3 ms·
This seems to be pretty hard wired to build 32 bit binaries only, I'm having a little trouble build on Ubuntu w/ amd64. First you need to install multilibs and
by exDM69 15y ago
This seems to be pretty hard wired to build 32 bit binaries only, I'm having a little trouble build on Ubuntu w/ amd64. First you need to install multilibs and 32 bit gcc/g++. But I got stuck when I'd need some other libs in 32 bit versions (zlib, curl and probably openal and others). Ubuntu doesn't seem to ship with 32 bit versions of some libraries as some other distros do (like Arch, for example). Or am I wrong, what packages and what repositories I need to get e.g. zlib 32 bit binaries?
Has anyone had success building this on a 64 bit machine?
Is my only option to set up a virtual machine with a 32 bit distro?
- mackal 15y agomake sure you install g++-multilib so it pulls in the correct version. lib32z1-dev will work for zlib (need to create a symlink since it doesn't look in /usr/lib32). I don't see anything for 32-bit curl though :(
- exDM69 15y agoI did install g++-multilib and a few other packages in order to get the build forward. My build finally failed when trying to link the "doom3" executable due to the lack of 32 bit libs for zlib and curl (maybe others too). I tried to use a very unofficial Ubuntu utility called getlibs (http://frozenfox.freehostia.com/cappy http://frozenfox.freehostia.com/cappy) but that didn't really help, the library search path was wrong and the correct libs were not found.
- sparky 15y agoFix SConscript.curl to look in /usr/lib32 for zlib (package name: lib32z1-dev ), and to pass -m32 to your compiler. /media/d2/sw/doom3.gpl/neo$ git diff diff --git a/neo/sys/scons/SConscript.curl b/neo/sys/scons/SConscript.curl index 4d889b9..7271dfc 100644 --- a/neo/sys/scons/SConscript.curl +++ b/neo/sys/scons/SConscript.curl @@ -14,7 +14,7 @@ class idBuildCurl( scons_utils.idSetupBase ): def Compile( self, target = None, source = None, env = None ): self.TrySimpleCommand( 'cd curl ; make clean' ) - cmd = 'cd curl ; CC=\'' + env['CC'] + '\' ./configure --enable-shared=no --enable-static=yes --enable-http --enable-ftp --disable-gopher --enable-file --disable-lda + cmd = 'cd curl ; CC=\'' + env['CC'] + '\' CFLAGS=\'-m32\' ./configure --enable-shared=no --enable-static=yes --enable-http --enable-ftp --disable-gopher -- enable-fi if ( self.debug ): cmd += '--enable-debug' else: @@ -37,5 +37,5 @@ else: g_env.Command( target_name, None, Action( build.Compile ) ) -curl_libs = [ target_name, '/usr/lib/libz.a' ] +curl_libs = [ target_name, '/usr/lib32/libz.a' ] Return( 'curl_libs' ) Linked for me on Ubuntu 11.04 64-bit.
- exDM69 15y agoThank you, this made it link. I probably would have figured it out by myself, I solve this kinds of things for living. But I was trying to quickly build this before going to work and ran out of time.
- iso8859-1 15y agoThere is a fork with better AMD64 support here: https://github.com/dabroz/doom3.gpl https://github.com/dabroz/doom3.gpl
- exDM69 15y agoThank you for pointing this out, once I get the time to sit down on this for a while, I'll have to take a look at all the action on Doom3 in GitHub. Things have really gone crazy, there's literally hundreds of commits on Doom3 in the first 48 hours after the open source release. It's great that they put it on GitHub and not just on an ftp server. This way we can see all the action going on with it.