On Tue, Oct 28, 2008 at 17:40, Andreas Zuber <[EMAIL PROTECTED]> wrote:
>> BAD Cross Compile support?
>
> I tried to cross compile several packages (gdm, gtkmm, xorg-server...).. It
> always failed somewhere. There was also a Problem that emerge said the
> package is masked for ~amd64, but i tried to compile packages for arm...

Hell yes, it occured to me too (but with ~x86). It's because there's
build dependencies.
The concept may seems nice, but sometimes it's a problem.
In the end, I took paludis (no offence), there's no crosscompile
support at all, but it's easier
if you know what to do (add "pretend" packages and so on).

> How would you call that? Good Cross Compile support?
>
>> I've got shy of 900 pkgs for that exact CHOST all cross compiled.
>> Perl is about the only problem. But then perl does not really belong on
>> a phone either..
>
> Maybe you now say that the packages i try to compile do not belong on a phone
> too.. but this doesn't make it better.
>
> I'm not a specialist in writing ebuilds or make them cross compiling aware so
> i try another way to get gentoo on my freerunner.

With paludis, some patches/ebuilds and some "provided" packets I'm able to
build xorg-server and gtk+ on the FreeRunner.

About cross-compilation in portage, for me, ebuilds are not really
granular enough
to be able to fine-tune them for cross-compilation, and I don't know if the
DEPEND/RDEPEND thing is (currently) good or bad for cross-compilation.

For example, Xorg protos are listed as build depends ("DEPEND=", see libX11
for example).
What does really this mean? Install those packages on the host system like any
other package? And if the required version is ~arch, is it mandatory to update
the host system to be able to install a package on the target system?
And then packages have to include those files, but I really don't know how this
should be done.

Gentoo is not the only problem here, there's bugs in many other
places, like libtool,
which reorders parameters, which is really a problem if you're using --sysroot.
(the workaround is using "triplet-gcc --sysroot=..." as CC)

And there's a problem with autoconf too, when it wants to know some properties
of the target system (what does malloc(0) returns? what's the size of
<insert type here>, ...).
Systems like scratchbox seems to be a solution to a part of the cross
compilation
problem, it may be great to be able to use something like that,
especially if it's
integrated in the package manager.

Anyway, everything is not bad, for example I think that crossdev is
really a good thing!

I think that everything is not done about all of this, so it's interesting!

Regards,
-- 
Damien "tuXXX" Thebault

Reply via email to