public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Re: crossdev and multilib interference
Date: Thu, 27 Mar 2014 02:07:36 -0400	[thread overview]
Message-ID: <4273026.i7QpdYDi0u@vapier> (raw)
In-Reply-To: <1395895307.23327.25.camel@rook>

[-- Attachment #1: Type: text/plain, Size: 3381 bytes --]

On Thu 27 Mar 2014 00:41:47 Alexandre Rostovtsev wrote:
> 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.
> 
> 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.

no, it is not

> 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.

sure, and it works just fine when you use the correct toolchain.  if the user 
wants to build an ABI using their default toolchain, they can pass the right 
ABI flag for it.

but that's irrelevant to how our multilib implementation picks its fake 
CHOST_$ABI to take care of implementing things.  if anything, the current 
system is provably broken because the default ends up executing unqualified 
`ar` and `ranlib` friends.
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2014-03-27  6:07 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
2014-03-27  6:07                 ` Mike Frysinger [this message]
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=4273026.i7QpdYDi0u@vapier \
    --to=vapier@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