Mike Frysinger <[email protected]> wrote on 2013/05/03 21:04:50:
> 
> On Thursday 02 May 2013 16:27:04 Joakim Tjernlund wrote:
> > Note the KEYWORDS, installing pkgs using crossdev directly doesn't 
care
> > about KEYWORDS
> > but installing the same as binary pkgs respects KEYWORDS, a bit 
asymmetric
> > but not a big deal
> 
> that's not really accurate.  crossdev sets up keywords in 
> /etc/portage/package.keywords/ so that it uses versions that correspond 
to the 
> target arch.  so if you're generating a cross-compiler for powerpc, you 
don't 
> want to install a glibc version that has KEYWORDS=-ppc just because it 
also 
> has KEYWORDS=amd64 (and your host system is amd64).
> 
> when installing the binpkgs, the /etc/portage/package.keywords/ setting 
isn't 
> in place, so now you have to lie by using a hack like your 
ACCEPT_KEYWORDS.

Right, just a bit surprising.

> 
> > However this is somewhat confusing, I had to run
> >  binutils-config powerpc-softfloat_4.5.3-linux-gnu-2.21.1
> > manually after installing the binary pkgs, is that expected?
> 
> no, you shouldn't have to do that.  you can see the pkg_postinst for 
binutils:
> toolchain-binutils_pkg_postinst() {
>     # Make sure this ${CTARGET} has a binutils version selected
>     [[ -e ${ROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
>     binutils-config ${CTARGET}-${BVER}
> }
> 
> your CTARGET should have been set to 
'powerpc-softfloat_4.5.3-linux-gnu', and 
> if you didn't have that target already installed on that system, things 
should 
> have "just worked".
> 
> if you did already have a binutils installed for that target, then 
binutils-
> config would have (rightfully) not been run.

Ah, it might have been something like that. I did another install but this
time I really cleared out the old install properly, even ran 
binutils-config -u
to remove all traces. 
That did the trick and everything just worked.

> 
> > On a side note I can mention, installing a binary x86 binutils on a 
amd64
> > host requires CHOST:
> >   CHOST=i686-pc-linux-gnu binutils-config
> > powerpc-softfloat_4.5.3-linux-gnu-2.21.1
> 
> trying to mix x86 & amd64 packages are known not to work.  no one is 
> interested in supporting that today (ever?).

Well, I first installed our old 32 binary cross ppc toolchain and that
required the above "trick", gcc-config just worked so I figured I should 
mention it.

> 
> although, if this is the same setup as when you installed the binpkgs 
above, 
> then that's probably why.

Yes, I figured that too :)

> 
> > Finally, running gdb yields:
> >  # powerpc-softfloat_4.5.3-linux-gnu-gdb
> > Python Exception <type 'exceptions.NameError'> name 'os' is not 
defined:
> 
> if this is the same binpkg as you described above (built for x86 but 
deployed 
> to amd64), then this makes sense.  gdb has been configured against a 
32bit 
> python, but your host has only a 64bit python.

No, this was my new amd64 built gdb. Seems to be a gdb issue though as I 
backed gdb to
latest stable 7.5.1 and that worked.

 Jocke

Reply via email to