Gentoo Archives: gentoo-embedded

From: Mike Frysinger <vapier@g.o>
To: Joakim Tjernlund <joakim.tjernlund@×××××××××.se>
Cc: gentoo-embedded@l.g.o
Subject: Re: [gentoo-embedded] /lib/libgcc_s.so.1 does not belong to any package?
Date: Mon, 19 Mar 2012 21:10:17
Message-Id: 201203191532.19884.vapier@gentoo.org
In Reply to: Re: [gentoo-embedded] /lib/libgcc_s.so.1 does not belong to any package? by Joakim Tjernlund
On Monday 19 March 2012 14:09:00 Joakim Tjernlund wrote:
> Mike Frysinger <vapier@g.o> wrote on 2012/03/19 01:51:53: > > On Sunday 18 March 2012 14:53:44 Joakim Tjernlund wrote: > > > What bugs me is that one can generally use /usr/$CTARGET as your root > > > fs on your favourite embedded target. Doing so will loose libgcc_s.so > > > as there isn't one installed. Having to install gcc into /usr/$CTARGET > > > just to get libgcc_s is a bit much. > > > > why does this actually matter ? as noted, this hack is merely there to > > support a split /usr setup. if you're using /usr/$CTARGET as your > > rootfs, then you aren't going to have a split /usr, and thus the lib > > copy is unnecessary. > > I don't quite understand. If I copy /usr/$CTARGET to my target board > as rootfs there will be no libgcc on my target and NPTL needs it.
true, but the copying process to /lib is pretty orthogonal to that. if anything, i plan on deprecating the gcc-config logic to only copying to /lib if it detects that /usr is split. as for the libgcc_s.so missing completely, today you have to: ROOT=/usr/${CTARGET} emerge sys-devel/gcc as libgcc_s.so isn't the only library you're missing. none of the gcc libs are installed in there (libstdc++, libmudflap, libgfortran, etc...). might be another useful hack script to include in crossdev ... give it a /usr/$CTARGET to transparently sync gcc libs into from your cross-compiler. obviously if you want to run `gcc` on the target though you're going to have to do what i said above with the ROOT/emerge.
> > > Also, would it not be better if glibc showed up in > > > > > > export ROOT=/usr/${CTARGET} PKGDIR=${PORTDIR}/pkgs/${CTARGET}/pkgs > > > > > > quickpkg `qlist -IC` instead of > > > > > > export ROOT=/ PKGDIR=${PORTDIR}/pkgs/${CTARGET}/cross-tools quickpkg > > > > > > `qlist -IC cross-${CTARGET}` ? > > > > no. cross-${CTARGET}/glibc is a cross-compiler glibc, not a native one. > > yes, you can run it through a script to move things around so that it'd > > basically have the same install as a native glibc, but the existing one > > is not. > > > > it might be useful to have crossdev automatically inject glibc into > > package.provided for /usr/$CTARGET since attempting to install a native > > one in there will hit conflicts. > > hmm, I always viewed glibc under /usr/$CTARGET as a native target glibc > which could be copied to the target directly, but now you say it is not?
there are some things which we do not currently install with the cross- compiler glibc. in the past, we didn't install any /bin or /sbin executables at all, although that's changed recently. quickly checking the ebuild shows that none of the locale helper scripts are installed. it wasn't my original design decision, but i'm open to bringing down the differences. -mike

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies