the file command claims it's a 64 bit library ("ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped"), which I assume warzone can link to... this should work right?
I changed the prefix to /usr instead of /usr/local for both physfs and warzone, because otherwise it could not find the sdl libraries, ans most other games are installed there too instead of in local, but that shouldn't affect anything right?
installing on 64-bit linux (failing with autopackage and compiling)
-
- New user
- Posts: 5
- Joined: 23 Jan 2007, 16:32
-
- Inactive
- Posts: 1695
- Joined: 01 Sep 2006, 19:17
Re: installing on 64-bit linux (failing with autopackage and compiling)
Er, just noticed: Are you someone else? What's your system configuration then?CattyNebulart wrote:the file command claims it's a 64 bit library ("ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped"), which I assume warzone can link to... this should work right?
Except messing up your package management, and that makes finding bugs more difficult...I changed the prefix to /usr instead of /usr/local for both physfs and warzone, because otherwise it could not find the sdl libraries, ans most other games are installed there too instead of in local, but that shouldn't affect anything right?
We want information... information... information.
- DevUrandom
- Regular
- Posts: 1690
- Joined: 31 Jul 2006, 23:14
Re: installing on 64-bit linux (failing with autopackage and compiling)
He is not trying to link 32bit libs into a 64bit binary. That might even work...
He is trying to link 64bit libs into a 32bit binary. Warzone 2.0 can only compiled in 32bit mode, but his PhysFS is compiled for 64bit. The only way around this is to get a 32bit PhysFS. This in turn will need other 32bit libraries...
He is trying to link 64bit libs into a 32bit binary. Warzone 2.0 can only compiled in 32bit mode, but his PhysFS is compiled for 64bit. The only way around this is to get a 32bit PhysFS. This in turn will need other 32bit libraries...
-
- New user
- Posts: 5
- Joined: 23 Jan 2007, 16:32
Re: installing on 64-bit linux (failing with autopackage and compiling)
ok after a bit of trying and trying to read all the fine manuals I am hopelessly confused. To compile Physfs in 32 bit mode all I should need to do is specify "--target=i486" or some variant of that, right?so why does that command still produce 64 bit libraries (acording to the 'file' command at least.) Is there a simple explanation of how to install warzone on 64 bit ubuntu somewhere like I have read for gentoo? Or am I at least on the right track?
For that matter why can't warzone be compiled in 64 bit mode? (Just curious, don't mean to sound accusing.)
For that matter why can't warzone be compiled in 64 bit mode? (Just curious, don't mean to sound accusing.)
- DevUrandom
- Regular
- Posts: 1690
- Joined: 31 Jul 2006, 23:14
Re: installing on 64-bit linux (failing with autopackage and compiling)
--target=i486? Never heard of that... You probably mean this is a configure switch? There is no such target I know of. Afaik configure lets you choose a compiler toolchain through this switch, not an architecture.
You need to compile PhysFS with CFLAGS=-m32, it doesn't matter what architecture you select.
Eg. compile PhysFS like this: "./configure CFLAGS=-m32 && make". At least I think this should work, I did not test it.
You can't compile Warzone 2.0 in 64bit mode, because the programmers at that time did not think that sometime in the future the size of an integer could be different from the size of a pointer. So they stored pointer values in integer variables, which results in truncated pointers (in 64bit mode pointers can have a value of up to 2^64, while a integer is only 32 bit and thus can only store numbers up to 2^32). Maybe this is not the only problem in 2.0, but probably the main problem.
Current SVN trunk can be compiled and run in 64bit mode, thought it might crash because it is a development version.
You need to compile PhysFS with CFLAGS=-m32, it doesn't matter what architecture you select.
Eg. compile PhysFS like this: "./configure CFLAGS=-m32 && make". At least I think this should work, I did not test it.
You can't compile Warzone 2.0 in 64bit mode, because the programmers at that time did not think that sometime in the future the size of an integer could be different from the size of a pointer. So they stored pointer values in integer variables, which results in truncated pointers (in 64bit mode pointers can have a value of up to 2^64, while a integer is only 32 bit and thus can only store numbers up to 2^32). Maybe this is not the only problem in 2.0, but probably the main problem.
Current SVN trunk can be compiled and run in 64bit mode, thought it might crash because it is a development version.
-
- New user
- Posts: 5
- Joined: 23 Jan 2007, 16:32
Re: installing on 64-bit linux (failing with autopackage and compiling)
well after poking around at it again a few times I think I'll just wait until a 64 bit version comes out. If the Current SVN supports it does that mean that 2.0.6 supports 64 bit or that 2.0.7 will?
- DevUrandom
- Regular
- Posts: 1690
- Joined: 31 Jul 2006, 23:14
Re: installing on 64-bit linux (failing with autopackage and compiling)
Neither 2.0.6 nor any 2.0 will support 64bit natively. The amount of code changes that might have lead to WZ not crashing instantly are simply to big to be backported to the 2.0 branch.
2.1 will, but till we'll release it there will be several months passing by.
2.1 will, but till we'll release it there will be several months passing by.