Marco Matthies posted <442A6C24.2090801@...>, excerpted below, on
Wed, 29 Mar 2006 13:14:44 +0200:
> Bertrand Jacquin wrote:
>> The first exemple I wrote was in reality :
>> CFLAGS="-m32" emerge -avt mozilla-firefox
>> To be clear : I don't want a chroot, because it make be 2 gentoo to
>> maintain and a lot of things unecessary ATM.
>> I would like portage build for me a software in 32 bit mode.
>> If it's a lib, I would like portage to install it in /emul/linux/x86
>> if I tell him to do that
> Sorry, i missed the part about you not wanting a chroot. As far as I
> know, portage currently does not support installing 32-bit and 64-bit
> versions of the same package, i.e. it does not know anything about the
> bitness a package was compiled for and therefore doesn't use this
> information for dependency resolution. In other words, it will not know
> that the X11 libs it installed are 64-bit and that the firefox you want
> to compile for 32-bits needs the 32-bit X11 libs.
That's correct. You /will/ eventually trash your system trying to do
this, as portage will get hopelessly confused trying to merge stuff with
dependencies it /thinks/ you have already merged, only you don't, because
you merged them in the other bitness.
The easiest way to keep portage from getting confused is to run two
separate instances of it that don't know about each other. The way you do
that is to run a 32-bit chroot. Yes, it /does/ require a certain amount
of duplication, but if you use a stage-3 x86 install and the binary
packages CD, it's not /too/ bad. You lose a bit of customization going
pre-built binaries, but it's a trade-off between that and the time to
compile all that stuff twice. You can always remerge the specific
packages you want to.
At some point in the future, likely with the ongoing full rewrite
project rewrite that's very possibly a year or two away from release,
altho the feature may well be backported some time before then, it's
planned that portage will have a multi-bitness deps tracker and resolver.
However, that's a /long/ way off. Meanwhile, you can either go 32-bit
only, 64-bit only, or run a multilib system. If you run a multilib
system, you can choose limited 32-bit support based on the 32-bit binary
compatibility libs, or full 32-bit support based on a chroot, with all the
time necessary to maintain it balanced against the better 32-bit support.
Personally, I don't like closed source slaveryware in any case, and
basically won't have it on my machine. If I was content being someone's
slave because they don't respect me as a user enough to give me my rights,
I could have stayed on MSWormOS. After all, I left a decade of knowledge
behind when I switched, and I /could/ have just stayed where I was. I
found it worth my time to switch, and there's no way I'm going to consent
or allow myself to be tied down to unfreedomware now, or why did I switch
in the first place? That makes the 32-bit/64-bit software issue much
easier, since the non-marginal freedomware was ported a long time ago and
has been available in 64-bit native for soome time. It's only the
marginal stuff, and closed source slaveryware that I couldn't/wouldn't run
anyway, that's 32-bit only, now.
Of course, I'm mature enough to realize not everyone holds my values,
neither do I expect them to, so I recognize that those that choose to run
what I consider slaveryware can make that choice, just as I made mine.
Just don't ask me to take part in it.
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman in
firstname.lastname@example.org mailing list