public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
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 --]

  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