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

Re: Cross-compilers.



dwmw2 infradead org (David Woodhouse) writes:

>
> Stuff like crosstool makes it relatively simple, but it's still slow --
> I'd really like to be able to easily and quickly install cross-compiler
> packages for random architectures like ARM, MIPS, i386, etc.
>
> I'd like to ship a multi-arch capable binutils like Debian's
> 'binutils-multi'

I see the following problems with such a '--enable-targets=all' binutils
package:

* it slows down linker/assembler on some platforms (see [1])

* the '--with-sysroot=...' switch would not work with such a multi-arch
  package


> and a set of cross-compilers -- preferably the same versions of each
> as the one in Core.

This will create a huge amount of variations:

* soft-float/hard-float
* little/big-endianess
* cpu optimized libs (e.g. ARM XScale, EP9301, Thumb/non-thumb); multi-lib
  support would be probably too much overkill for embedded platforms and I
  run into heavy inter-package dependency problems when experimenting with
  this
* used libc (GNU Libc, uclibc)
* X11-based/non-X11 based

Some of this options can/are encoded in the arch string
(e.g. 'arm-xscale-linux-gnu', 'armb-xscale_softfloat-linux-uclibc') but
things like X11-support not.


Then: rpm must be enhanced to create proper Provides:/Requires:. E.g. it
would be bad when a ARM package contains.

| Provides: libc.so.6  

which might be installed instead of the host glibc. I hacked around this
problem by using custom find-requires/provides scripts so that

| Provides: libc.so.6(arm-xscale-linux-gnu)

are generated. But it requires

| %define _use_internal_dependency_generator 0

which is discouraged.



Enrico

Footnotes: 
[1]  https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=63618

Attachment: pgpy4zoiaXChM.pgp
Description: PGP signature


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