Debian/AMD64 compilation: No go
by Ronny Bangsund · in Technical Issues · 12/13/2004 (2:47 pm) · 1 replies
I bought Torque today, and have installed the files on three systems.
One is WindowsXP, where the installer did the right thing, and the
core library compiled without a hitch. Good thing, since I'm shaky on
Visual Studio these days :)
The other box is an Athlon 64 running Debian AMD64. Things didn't go
so smoothly there - first the installer is a 32-bit executable that refuses
to run. I haven't looked into making 32-bit chroot() jails yet, so I used
the third box to install and copied over (this is an old PIII serving up
private SubVersion sourcecode).
Once I got it to the Athlon 64, I had to reconfigure to compile with GCC
3.x, since I got a message that x86-64 wasn't supported. That didn't
help much. Now I get this:
Looks like we're moving into assembly territory here, where I don't
want to be :)
This is on kernel 2.6.9, tested with both GCC 3.3.5-3 and
GCC 3.4.3-2 (prerelease).
Anyone else had success on *any* x86-64 based system, and if so,
what GCC version(s)? I'm not so sure I want to change to another
distro (even if still sticking to one of the Debian AMD64 variants).
Until I find a solution, I'll be digging into the sourcecode from the
Win32 side of things. Any help getting the thing compiling on Linux
is muchly appreciated :)
One is WindowsXP, where the installer did the right thing, and the
core library compiled without a hitch. Good thing, since I'm shaky on
Visual Studio these days :)
The other box is an Athlon 64 running Debian AMD64. Things didn't go
so smoothly there - first the installer is a 32-bit executable that refuses
to run. I haven't looked into making 32-bit chroot() jails yet, so I used
the third box to install and copied over (this is an old PIII serving up
private SubVersion sourcecode).
Once I got it to the Athlon 64, I had to reconfigure to compile with GCC
3.x, since I got a message that x86-64 wasn't supported. That didn't
help much. Now I get this:
:~/src/torque$ make
(skipped successful compile of three files)
--> Compiling lpng/pngget.c
lpng/pngget.c: In function 'png_get_IHDR':
lpng/pngget.c:577: error: unrecognizable insn:
(insn:HI 191 190 93 14 0x2a95c9f420 (set (reg/v:SI 69)
(plus:SI (mult:SI (reg/v:SI 69)
(const_int 2 [0x2]))
(const_int 1 [0x1]))) -1 (insn_list 190 (nil))
(nil))
lpng/pngget.c:577: internal compiler error: in extract_insn, at recog.c:2175
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions, see
<URL:file:///usr/share/doc/gcc-3.3/README.Bugs>.
make[1]: *** [out.GCC3.RELEASE/lpng/pngget.obj] Error 1
make: *** [default] Error 2Looks like we're moving into assembly territory here, where I don't
want to be :)
This is on kernel 2.6.9, tested with both GCC 3.3.5-3 and
GCC 3.4.3-2 (prerelease).
Anyone else had success on *any* x86-64 based system, and if so,
what GCC version(s)? I'm not so sure I want to change to another
distro (even if still sticking to one of the Debian AMD64 variants).
Until I find a solution, I'll be digging into the sourcecode from the
Win32 side of things. Any help getting the thing compiling on Linux
is muchly appreciated :)
About the author
(Waiting for UTF-8 to work again!) ಥ_ಥ
Torque 3D Owner Stephen Zepp
--No known versions of 64 bit nasm (or any yasm that we could get to install properly). This is a show stopper for true 64 bit builds.
--some needed (minor) changes to inline assembler code, specifically the CPU performance checks.
We were able to use 32 bit libs and the 32 bit nasm to successfully compile and execute on our AMD-64 redhat box, and until the time when a 64 bit compliant nasm becomes available, we'll be hanging right there.