Gentoo Archives: gentoo-dev

From: Mike Frysinger <vapier@g.o>
To: "Michał Górny" <mgorny@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] crossdev and multilib interference
Date: Fri, 28 Mar 2014 06:33:28
Message-Id: 2318673.p2B772y41A@vapier
In Reply to: Re: [gentoo-dev] crossdev and multilib interference by "Michał Górny"
1 On Thu 27 Mar 2014 15:31:31 Michał Górny wrote:
2 > Dnia 2014-03-27, o godz. 10:23:30 Mike Frysinger napisał(a):
3 > > On Thu 27 Mar 2014 10:10:07 Michał Górny wrote:
4 > > > Dnia 2014-03-27, o godz. 03:18:31 Mike Frysinger napisał(a):
5 > > > > On Thu 27 Mar 2014 07:51:32 Michał Górny wrote:
6 > > > > > Dnia 2014-03-27, o godz. 02:13:52 Mike Frysinger napisał(a):
7 > > > > > > On Wed 26 Mar 2014 01:17:14 Mike Frysinger wrote:
8 > > > > > > > (2) use tuples with loaded vendor fields to reduce the chance of
9 > > > > > > > collisions. e.g. having an ABI=amd64 system use
10 > > > > > > > i686-gentoo%multilib-linux-gnu instead of i686-pc-linux-gnu
11 > > > > > > > would
12 > > > > > > > defeat any automatic path searches.
13 > > > > > >
14 > > > > > > this patch keeps the status quo. although the status quo is
15 > > > > > > broken,
16 > > > > > > but
17 > > > > > > we
18 > > > > > > can sort that out independently.
19 > > > > >
20 > > > > > Except that it breaks stuff that is installed at the point and comes
21 > > > > > with no plan of cleaning up the resulting mess.
22 > > > >
23 > > > > such as ... ? vague statements can't be addressed.
24 > > >
25 > > > Such as all the builds that use ${CHOST}-foo currently. If you change
26 > > > CHOST, our users will have to find and rebuild all packages that
27 > > > install ${CHOST}-foos or otherwise random breakage will happen.
28 > >
29 > > again, please give a concrete example
30 >
31 > glib -- ${CHOST}-gdk-pixbuf-query-loaders (used in gnome2-utils.eclass)
32 > gpg-error -- ${CHOST}-gpg-error-config
33 > libgcrypt -- ${CHOST}-libgcrypt-config
34 > llvm -- ${CHOST}-llvm-config
35 > pango -- ${CHOST}-pango-querymodules
36 >
37 > If you change CHOST, all invocations of those tools will fail randomly
38 > until the respective packages are rebuilt. In some cases it will call
39 > the wrong variant (resulting in borked output), in other it will call
40 > non-existing tool.
41
42 so the *-config scripts. we already know these are broken, not only from a
43 conceptual pov, but from real world too -- it relies on CHOST being unique.
44 but this needs to be sorted out anyways since the current system isn't working
45 (independent of crossdev usage), and perhaps that means breaking now so things
46 are cleaner in the future.
47
48 for the gnupg projects, we've already disabled -L paths from being emitted, so
49 the variants will still work (gpg-error-config will give the same answer as
50 $CHOST-gpg-error-config wrt --libs and such).
51
52 the llvm/gdk/pango logic would probably break. we had been looking at
53 rewriting the gdk/pango stuff to not require direct execution (since this
54 logic completely fails when cross-compiling) in Chromium OS, but that's been
55 on the back burner for a while. instead, we hand generate/mung the pango
56 modules cache file, and we've punted gtk/gdk from the image, so we don't care
57 it is broken.
58
59 the pango stuff is also broken because it uses /etc/pango/$CHOST in an attempt
60 to get an ABI unique path. we probably should change that to /etc/pango/$ABI
61 or /etc/pango/$(get_libdir) or move it the multilib dir like the gdk cache
62 does. the gnome guys would know best.
63
64 the llvm impact doesn't look terribly big as very few things use it.
65 -mike

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] crossdev and multilib interference "Michał Górny" <mgorny@g.o>