Unable to compile on Fedora Core 3 x86_64

Found a bug? Please report it, but remember to follow the bug reporting guidelines.
Missing a sane feature? Let us know!
But please do NOT request ports to other systems.

Moderator: ZSNES Mods

Post Reply
TetryonX
New Member
Posts: 3
Joined: Tue Mar 15, 2005 12:09 am

Unable to compile on Fedora Core 3 x86_64

Post by TetryonX »

Yeah I know this is probably redundant as hell, but this is quite an annoyance that configure isn't catching properly.
/usr/bin/ld: warning: i386 architecture of input file `chips/sfxproc.o' is incompatible with i386:x86-64 output
...
/usr/bin/ld: warning: i386 architecture of input file `effects/smoke.o' is incompatible with i386:x86-64 output
Any nasm or yasm (for that matter and completely disregarded optimization) compiled 64 bit things are not being accepted by ld. I can do ./configure --target=x86_64, but it will complain. Hell I even tried passing -m32 to gcc as another thread asked to be checked. Definitely a no go still.
./configure --target=x86_64
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-pc-none
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for nasm... nasm
checking for a BSD-compatible install... /usr/bin/install -c
configure: error: This Target is Not Supported
Ok whatever, lets build with ./configure --target=i386
./configure --target=i386
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... i386-pc-none
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for nasm... nasm
checking for a BSD-compatible install... /usr/bin/install -c
configure: error: This Target is Not Supported
Is this a no-win situation?
===
Fedora Core 3 x86_64 [2.6.10-1.766_FC3 / GCC 3.4.2]
Athlon64 3000+ VIA K8T800
[img]http://www.cs.rit.edu/~spb3698/forumsig.png[/img]
TetryonX
New Member
Posts: 3
Joined: Tue Mar 15, 2005 12:09 am

Post by TetryonX »

Hmm snooping through the config.log and ./configure script, i passed ./configure --target=x86_64-linux to get pass that stupid check, which that worked. But again it configured itself for i386 nasm-output. I'll keep picking at this for now. Anyone know any flags for nasm to force it to output 64 bit code?
[img]http://www.cs.rit.edu/~spb3698/forumsig.png[/img]
TetryonX
New Member
Posts: 3
Joined: Tue Mar 15, 2005 12:09 am

Post by TetryonX »

Ok so now I can compile this (oh joy) by using yasm, removing optimizations, and passing -m amd64. HOWEVER, I cannot run this at all because it crashes with Illegal instruction. This is probably caused by my kernel not being optimized for amd64 (I am lazy but if it comes to it I'll recompile the kernel... sorta fitting for the dependancy hell of fedora core)... I digress. Anyhow here is the strace zsnes 2> out.log: http://www.cs.rit.edu/~spb3698/zsnes.crash.log

==
edit: to save posts I'll keep appending here until I get an actual reply.
===
./configure --target=i386-linux still outputs 64bit code with or without -m32... actually that flag causes a whole shit load of undefined references to what appears to what should be standard c calls. Could be another Fedora Core issue though...
And here is the error messages from doing -m32 with the gcc/g++ calls, and using nasm (unchanged): http://www.cs.rit.edu/~spb3698/zsnes.makelog.log
No... I do not know c/c++ yet, nor what the hell I am doing.
[img]http://www.cs.rit.edu/~spb3698/forumsig.png[/img]
Gorgapor

same thing

Post by Gorgapor »

I am trying to compile on SuSe linux 9.2, the 64 bit edition, and am having the exact same problems. The configure script says it is optimizing for 386, and it won't run once I make the program. Do any of the developers have any advice for us?
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

My advice is to get GCC to output 32 bit code, and get a 32 bit linker.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

I made some changes today which should make the AMD64 NX bit happy with ZSNES now, but I can't test it.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
Post Reply