From: Alexandre Rostovtsev <tetromino@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Re: crossdev and multilib interference
Date: Thu, 27 Mar 2014 00:41:47 -0400 [thread overview]
Message-ID: <1395895307.23327.25.camel@rook> (raw)
In-Reply-To: <4392318.HzopIDRGrh@vapier>
[-- Attachment #1: Type: text/plain, Size: 2772 bytes --]
On Wed, 2014-03-26 at 22:41 -0400, Mike Frysinger wrote:
> On Wed 26 Mar 2014 12:23:53 Ian Stakenvicius wrote:
> > On 26/03/14 12:12 PM, Mike Frysinger wrote:
> > > that's bs. people install crossdev to get a cross-compile
> > > environment, not to get something that only works through `emerge`.
> > > attempting to restrict it so it only works through `emerge` is
> > > unacceptable and it has never been that way.
> >
> > it -does- make sense though to limit anything that one wants to EMERGE
> > with the crossdev, to require the use of cross-emerge. Would it not
> > be possible to somehow ensure the crossdev tools are ignored
> > in/removed from/cannot pollute the standard emerge environment? Are
> > there any use cases where one -would- want the crossdev to be used in
> > a standard emerge environment instead of using cross-emerge ?
>
> you've lost me. when you `emerge-$CTARGET`, that package doesn't go anywhere
> near your ROOT=/ system. it's entirely contained in /usr/$CTARGET/.
>
> when you run `crossdev $CTARGET`, it installs all the standard $CTARGET-xxx
> tools in /usr/bin. this isn't "polluting" the environment at all ... in fact,
> they're living right alongside existing tools.
>
> as i pointed out elsewhere in this thread, the problem is that multilib relies
> on automatic detection of the toolchain *failing* so that it falls back to the
> native value. in other words, when you run `./configure --host=i686-pc-linux-
> gnu`, it tries to find e.g. i686-pc-linux-gnu-ar. it doesn't exist so the
> fallback is used (plain `ar`). multilib is using these tuples so that the
> standard checks (autoconf/eclasses/etc...) trigger in the right ways for the
> cpu/os/userland combinations.
>
> since crossdev installs a full proper toolchain for the target, the one
> multilib was using to lie now exists and its toolchain is used instead.
> -mike
Crossdev is "polluting the environment" in the specific case that we are
talking about - secondary native ABIs on a multilib system.
An amd64 multilib system is not expected to build MIPS binaries that
would be hosted on itself. So of course anyone using amd64 undersands
that mips-pc-linux-gnu-ar is part of a cross-compile toolchain, no
matter whether it's in /usr/bin or /usr/libexec/crossdev or anywhere in
the filesystem.
However, an i686 crossdev on an amd64 multilib system is a fundamentally
different situation. An amd64 multilib system *is* expected to build x86
binaries that would be hosted on itself. So i686-pc-linux-gnu-ar is
expected to be not a part of any cross-compile toolchain, but a part of
the native toolchain for the machine's secondary native ABI. Especially
when i686-pc-linux-gnu-ar is in /usr/bin.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2014-03-27 4:42 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-12 15:46 [gentoo-dev] crossdev and multilib interference hasufell
2014-03-12 16:06 ` Alexandre Rostovtsev
2014-03-12 18:56 ` Alexis Ballier
2014-03-16 11:50 ` Greg Turner
2014-03-26 6:07 ` Mike Frysinger
2014-03-26 12:25 ` [gentoo-dev] " Steven J. Long
2014-03-26 16:12 ` Mike Frysinger
2014-03-26 16:23 ` Ian Stakenvicius
2014-03-27 2:41 ` Mike Frysinger
2014-03-27 4:41 ` Alexandre Rostovtsev [this message]
2014-03-27 6:07 ` Mike Frysinger
2014-03-27 6:31 ` Alexandre Rostovtsev
2014-03-27 6:41 ` Mike Frysinger
2014-03-27 6:51 ` Michał Górny
2014-03-27 7:23 ` Mike Frysinger
2014-03-27 6:58 ` Samuli Suominen
2014-03-27 8:41 ` [gentoo-dev] " Steven J. Long
2014-03-28 6:36 ` Mike Frysinger
2014-03-30 9:53 ` [gentoo-dev] " Steven J. Long
2014-06-15 20:35 ` hasufell
2014-06-15 20:43 ` Chí-Thanh Christopher Nguyễn
2014-06-16 13:37 ` hasufell
2014-06-16 18:42 ` Steev Klimaszewski
2014-06-16 19:31 ` hasufell
2014-06-16 19:42 ` Jeroen Roovers
2014-06-16 19:47 ` hasufell
2014-06-16 20:05 ` Joshua Kinard
2014-06-16 20:24 ` hasufell
2014-06-16 20:59 ` Joshua Kinard
2014-06-16 22:10 ` hasufell
2014-06-16 23:38 ` Joshua Kinard
2014-06-17 1:47 ` hasufell
2014-06-17 2:17 ` Joshua Kinard
2014-06-17 12:30 ` hasufell
2014-06-17 12:49 ` Rich Freeman
2014-06-17 13:53 ` hasufell
2014-06-17 14:17 ` Joshua Kinard
2014-06-17 14:56 ` Alexandre Rostovtsev
2014-06-17 15:10 ` Michał Górny
2014-06-18 15:24 ` Peter Stuge
2014-06-19 7:58 ` Michał Górny
2014-06-17 15:20 ` Joshua Kinard
2014-06-18 5:08 ` Alexandre Rostovtsev
2014-06-18 6:24 ` Joshua Kinard
2014-06-18 14:18 ` Ian Stakenvicius
2014-06-19 21:20 ` [gentoo-dev] " Steven J. Long
2014-06-20 20:10 ` [gentoo-dev] " Ian Stakenvicius
2014-06-21 10:31 ` Greg Turner
2014-06-21 20:47 ` Michał Górny
2014-08-01 9:05 ` Steven J. Long
2014-08-01 14:36 ` Ian Stakenvicius
2014-08-01 18:17 ` [gentoo-dev] " Steven J. Long
2014-06-18 4:29 ` [gentoo-dev] " Ryan Hill
2014-06-17 14:04 ` [gentoo-dev] Re: " Joshua Kinard
2014-06-17 14:38 ` hasufell
2014-06-17 15:02 ` Joshua Kinard
2014-06-17 15:18 ` hasufell
2014-06-17 15:37 ` hasufell
2014-06-17 12:48 ` hasufell
2014-06-17 14:31 ` Joshua Kinard
2014-06-17 13:25 ` Ian Stakenvicius
2014-06-17 14:22 ` Michał Górny
2014-06-17 14:34 ` Joshua Kinard
2014-06-16 23:25 ` Patrick Lauer
2014-06-16 20:27 ` Ian Stakenvicius
2014-06-16 21:42 ` [gentoo-dev] " Jeroen Roovers
2014-06-17 0:03 ` Joshua Kinard
2014-06-16 20:25 ` [gentoo-dev] Re: Re: " hasufell
2014-06-16 2:24 ` [gentoo-dev] " Ryan Hill
2014-06-16 13:27 ` hasufell
2014-06-17 4:52 ` Ryan Hill
2014-06-17 12:29 ` hasufell
2014-03-29 1:21 ` [gentoo-dev] " Maciej Mrozowski
2014-03-16 12:01 ` Greg Turner
2014-03-13 8:55 ` Michał Górny
2014-03-13 12:20 ` Alexandre Rostovtsev
2014-03-26 5:17 ` Mike Frysinger
2014-03-27 6:13 ` Mike Frysinger
2014-03-27 6:51 ` Michał Górny
2014-03-27 7:18 ` Mike Frysinger
2014-03-27 9:10 ` Michał Górny
2014-03-27 14:23 ` Mike Frysinger
2014-03-27 14:31 ` Michał Górny
2014-03-28 6:33 ` Mike Frysinger
2014-03-29 21:39 ` Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1395895307.23327.25.camel@rook \
--to=tetromino@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox