Architecture of I386 Input File Is Incompatible with I386:X86-64

Linking kernel - i386 architecture of input file is incompatible with i386:x86_64 output

It looks as though you're compiling this code on a 64-bit system. As such, kernel.o is a 64-bit binary, and cannot be linked with the 32-bit kernel_entry.o.

Since you don't have any code in place to get the system into long mode, you probably want to compile the "kernel" as 32-bit code. Use -m32 to trigger this:

gcc -m32 -ffreestanding -c kernel.c -o kernel.o
^^^^

GCC: i386 architecture of input file `../window.ui.o' is incompatible with i386:x86-64 output

"solved" by using gnu-ld instead:

ld -r -b binary ../src/window.ui -o ../window.ui.o

Couldn't figure out why objcopy didn't work though.

linking problem: i386:x86-64 architecture of input file *.o is incompatible with i386 output

Try this:

LDEMULATION="elf_x86_64"
ld -nostdlib -nodefaultlibs -T link.ld -o out.elf start.o main.o

CMake; 386:x86-64 architecture of input file (.. ) is incompatible with i386 output

I think, you copied the object files mp4reader.o, codec_instance_mgmt.o and callbacks.o from somewhere (not compiled on your system), which is causing incompatibility on your system.
You can try to remove all objects and compile it again:

rm *.o

and then compile again.



Related Topics



Leave a reply



Submit