[PATCH] cross-compilation for binutils.

Panu Matilainen pmatilai at laiskiainen.org
Thu Jul 24 07:09:42 UTC 2008


On Wed, 23 Jul 2008, Enrico Scholz wrote:

> David Woodhouse <dwmw2 at infradead.org> writes:
>
>> But it would be nice if we could have a 'clean' dependency chain along
>> the lines of:
>>
>>  cross-gcc --> cross-glibc --> cross-libgcc.so
>
> Not easy with current rpm:
>
> * assuming 'rpm' can extract PROVIDES/NEEDED out of cross built binaries,
>  you will run into the problem that there are cross and native packages
>  which are both providing the same 'libc.so.6'.  When another native
>  package requires 'libc.so.6', the cross package might get installed.
>
>  RPM would have to annotate these provides/requires.

There has been some discussion about adding the ISA name to all 
automatically extracted dependencies for disambiguation. For example where 
i386 and ppc currently produce 'libc.so.6' dependency names, it would 
become something like 'libc.so.6(x86-32)' vs 'libc.so.6(ppc-32)'

The problem is, this would be a massive compatibility breakdown which 
would have to be dealt with somehow.

>  I hacked around it by disabling automatic dependencies (--> no
>  --file-requires anymore :( ) and using custom find-provides/requires
>  scripts.  It's very hacky but surprisingly it works since FC-5 till
>  F-9...
>
>
> * you have to package cross-glibc as 'noarch' or as the native arch; it
>  won't be possible to install a package of target arch (at least not
>  without --ignore-arch).

One possibility that's also been (briefly) discussed at various points is 
turning the arch compatibility concept into dependencies, at which point 
an emulator package (such as qemu) could provide the things needed by 
cross-packages. But this too would have pretty big compatibility issues...

 	- Panu -




More information about the fedora-devel-list mailing list