Re: Cross compilation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/28/06, Steven W. Orr <steveo@xxxxxxxxxxx> wrote:
On Tuesday, Nov 28th 2006 at 18:50 +0100, quoth Fernando Apesteguía:

=>Helo list,
=>
=>I'm using FC6 for x86_64. I need to compile a program for linux 32
=>bits. I tried with the -m32 flag to gcc, but I got:
=>
=>core_recv.c:(.text+0x130): undefined reference to `__umoddi3'
=>
=>and tons of ld warnings:
=>
=>/usr/bin/ld: warning: i386 architecture of input file `main.o' is
=>incompatible with i386:x86-64 output
=>
=>I searched in Google, but couldn't find the solution. For the
=>undefinded references I suppose it is because some missing i386
=>libraries right?
=>
=>And what about the other things? How can I compile a 32 bit
=>application under a 64 bit system?

Sorry, but you need to create a seperate cross compiler. You're running on
a your native system and you're trying to create an executable for another
machine. So you need a whole different toolchain. The easiest way *might*
be to use buildroot (just google it please) but the point is that you need
a whole different setup to target a different machine. gcc, binutils,
libc, gdb, the whole banana, and the whole thing has to be specific to the
version of the kernel you're running on the target system. Just don't even
*try* to figgah out options for your current system. It won't work.

--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list



Hi again,

Yes, the question is that I could make a chroot, but I would prefer
not to do it for several reasons (hard disk space is one of them).

The compiler does his work, the .o are all:
ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped

but then, the ld doesn't manage the situation. The supported emulations are
elf_x86_64 elf_i386 i386linux

I tried with the last two and it didn't work...
The program uses the common standard functions like printf and strcpy
and some other features of libreadline.

I have both i386 and x86_64 (and again both, binaries and devel
packages) installed in my system.

Any more clues?

Thanks in advance


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux