1 |
On Monday 19 March 2012 14:09:00 Joakim Tjernlund wrote: |
2 |
> Mike Frysinger <vapier@g.o> wrote on 2012/03/19 01:51:53: |
3 |
> > On Sunday 18 March 2012 14:53:44 Joakim Tjernlund wrote: |
4 |
> > > What bugs me is that one can generally use /usr/$CTARGET as your root |
5 |
> > > fs on your favourite embedded target. Doing so will loose libgcc_s.so |
6 |
> > > as there isn't one installed. Having to install gcc into /usr/$CTARGET |
7 |
> > > just to get libgcc_s is a bit much. |
8 |
> > |
9 |
> > why does this actually matter ? as noted, this hack is merely there to |
10 |
> > support a split /usr setup. if you're using /usr/$CTARGET as your |
11 |
> > rootfs, then you aren't going to have a split /usr, and thus the lib |
12 |
> > copy is unnecessary. |
13 |
> |
14 |
> I don't quite understand. If I copy /usr/$CTARGET to my target board |
15 |
> as rootfs there will be no libgcc on my target and NPTL needs it. |
16 |
|
17 |
true, but the copying process to /lib is pretty orthogonal to that. if |
18 |
anything, i plan on deprecating the gcc-config logic to only copying to /lib if |
19 |
it detects that /usr is split. |
20 |
|
21 |
as for the libgcc_s.so missing completely, today you have to: |
22 |
ROOT=/usr/${CTARGET} emerge sys-devel/gcc |
23 |
as libgcc_s.so isn't the only library you're missing. none of the gcc libs |
24 |
are installed in there (libstdc++, libmudflap, libgfortran, etc...). |
25 |
|
26 |
might be another useful hack script to include in crossdev ... give it a |
27 |
/usr/$CTARGET to transparently sync gcc libs into from your cross-compiler. |
28 |
obviously if you want to run `gcc` on the target though you're going to have |
29 |
to do what i said above with the ROOT/emerge. |
30 |
|
31 |
> > > Also, would it not be better if glibc showed up in |
32 |
> > > |
33 |
> > > export ROOT=/usr/${CTARGET} PKGDIR=${PORTDIR}/pkgs/${CTARGET}/pkgs |
34 |
> > > |
35 |
> > > quickpkg `qlist -IC` instead of |
36 |
> > > |
37 |
> > > export ROOT=/ PKGDIR=${PORTDIR}/pkgs/${CTARGET}/cross-tools quickpkg |
38 |
> > > |
39 |
> > > `qlist -IC cross-${CTARGET}` ? |
40 |
> > |
41 |
> > no. cross-${CTARGET}/glibc is a cross-compiler glibc, not a native one. |
42 |
> > yes, you can run it through a script to move things around so that it'd |
43 |
> > basically have the same install as a native glibc, but the existing one |
44 |
> > is not. |
45 |
> > |
46 |
> > it might be useful to have crossdev automatically inject glibc into |
47 |
> > package.provided for /usr/$CTARGET since attempting to install a native |
48 |
> > one in there will hit conflicts. |
49 |
> |
50 |
> hmm, I always viewed glibc under /usr/$CTARGET as a native target glibc |
51 |
> which could be copied to the target directly, but now you say it is not? |
52 |
|
53 |
there are some things which we do not currently install with the cross- |
54 |
compiler glibc. in the past, we didn't install any /bin or /sbin executables |
55 |
at all, although that's changed recently. quickly checking the ebuild shows |
56 |
that none of the locale helper scripts are installed. it wasn't my original |
57 |
design decision, but i'm open to bringing down the differences. |
58 |
-mike |