Gentoo Archives: gentoo-embedded

From: "Damien Thébault" <damien.thebault@×××××.com>
To: gentoo-embedded@l.g.o
Subject: Re: [gentoo-embedded] GenOM (Gentoo on Openmoko)
Date: Tue, 28 Oct 2008 18:21:22
Message-Id: 9a4a382a0810281121i6325b2cbv84313d64024cd8d9@mail.gmail.com
In Reply to: Re: [gentoo-embedded] GenOM (Gentoo on Openmoko) by Andreas Zuber
1 On Tue, Oct 28, 2008 at 17:40, Andreas Zuber <zuber@××××××.ch> wrote:
2 >> BAD Cross Compile support?
3 >
4 > I tried to cross compile several packages (gdm, gtkmm, xorg-server...).. It
5 > always failed somewhere. There was also a Problem that emerge said the
6 > package is masked for ~amd64, but i tried to compile packages for arm...
7
8 Hell yes, it occured to me too (but with ~x86). It's because there's
9 build dependencies.
10 The concept may seems nice, but sometimes it's a problem.
11 In the end, I took paludis (no offence), there's no crosscompile
12 support at all, but it's easier
13 if you know what to do (add "pretend" packages and so on).
14
15 > How would you call that? Good Cross Compile support?
16 >
17 >> I've got shy of 900 pkgs for that exact CHOST all cross compiled.
18 >> Perl is about the only problem. But then perl does not really belong on
19 >> a phone either..
20 >
21 > Maybe you now say that the packages i try to compile do not belong on a phone
22 > too.. but this doesn't make it better.
23 >
24 > I'm not a specialist in writing ebuilds or make them cross compiling aware so
25 > i try another way to get gentoo on my freerunner.
26
27 With paludis, some patches/ebuilds and some "provided" packets I'm able to
28 build xorg-server and gtk+ on the FreeRunner.
29
30 About cross-compilation in portage, for me, ebuilds are not really
31 granular enough
32 to be able to fine-tune them for cross-compilation, and I don't know if the
33 DEPEND/RDEPEND thing is (currently) good or bad for cross-compilation.
34
35 For example, Xorg protos are listed as build depends ("DEPEND=", see libX11
36 for example).
37 What does really this mean? Install those packages on the host system like any
38 other package? And if the required version is ~arch, is it mandatory to update
39 the host system to be able to install a package on the target system?
40 And then packages have to include those files, but I really don't know how this
41 should be done.
42
43 Gentoo is not the only problem here, there's bugs in many other
44 places, like libtool,
45 which reorders parameters, which is really a problem if you're using --sysroot.
46 (the workaround is using "triplet-gcc --sysroot=..." as CC)
47
48 And there's a problem with autoconf too, when it wants to know some properties
49 of the target system (what does malloc(0) returns? what's the size of
50 <insert type here>, ...).
51 Systems like scratchbox seems to be a solution to a part of the cross
52 compilation
53 problem, it may be great to be able to use something like that,
54 especially if it's
55 integrated in the package manager.
56
57 Anyway, everything is not bad, for example I think that crossdev is
58 really a good thing!
59
60 I think that everything is not done about all of this, so it's interesting!
61
62 Regards,
63 --
64 Damien "tuXXX" Thebault