I'm seriously discouraged after spending hours on trying to figure out what are my problems while compiling a c library (netfilter_queue) for my centos 5.4 machine. I am running centos x64 machine.
When running ./configure I saw an error indicating that my compiler has failed. After inspecting my "config.log" file, created by the ./configure command I saw that it failed compiling a sanity c file (probably used to check whether my compiler works correctly)
It failed with the errors:
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `push`
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `push`
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `pop`
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `pop`
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `pop`
/tmp/iuucsLU.s: Error: Suffix or operands invalid for `push`
When I figured out that my problem is probably the gcc I created the following c file:
#import <stdio.h>
main()
{
return 0;
}
I named the file 'test.c' and tried to compile it using "gcc test.c" and it failed with the same errors. I figured out that my problems are probably 32/64 bit compatibility problems so I tried running it specifying a specific assembler.
- When I executed "gcc -m32 test.c" it failed with the same errors.
When I executed "gcc -m64 test.c" it failed with the following error:
test.c:0: sorry, unimplemented: 64-bit mode not compiled in
I can't figure out what my problem is, I am surely running a 64-bit machine. Just to note, I installed gcc and all its dependencies manually using rpm supplying the rpm files from the CentOS-CD.
Help will be greatly appreciated. Thanks in advance, Lauren.
the problem wat I was using 64 bit machine but I installed 32 bit only gcc and my default assembler was 32 bit which confused my compiler. the problem can be solved by downloading the specific RPMs (ironicly the cd provides only 32 bit RPMs what makes nonsense). thank you Etan!