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

Re: [PATCH] cross-compilation for binutils.



On Wed, 23 Jul 2008, Enrico Scholz wrote:

David Woodhouse <dwmw2 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 -


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