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