Gentoo Archives: gentoo-amd64

From: Andy Wang <dopey74@×××××.com>
To: gentoo-amd64@l.g.o
Subject: Re: [gentoo-amd64] Re: building emul-linux-x86 files
Date: Thu, 24 Apr 2008 04:43:20
Message-Id: 17dc8bc70804232143k1572c362pf1b3adfaa8d72f66@mail.gmail.com
In Reply to: [gentoo-amd64] Re: building emul-linux-x86 files by Duncan <1i5t5.duncan@cox.net>
1 On Wed, Apr 23, 2008 at 9:40 PM, Duncan <1i5t5.duncan@×××.net> wrote:
2 > "Andy Wang" <dopey74@×××××.com> posted
3 > If you'd kill the HTML next time, some of us would be grateful. Not
4 > everyone here likes webmail, and HTML based messages can be a security
5 > issue, so some of us choose not to enable it or use clients that handle
6 > it. Thanks.
7
8 Gmail defaults to multipart html and plain text, and as Volker said in
9 his reply, that shouldn't be a problem with any modern mailer. Given
10 that gentoo is a "geek" distribution, I'm sure there are plenty of
11 legacy e-mail client holdouts thus I will make it a point to try to
12 remember to force plain text formatting (which I've done with this
13 message). Given the volume of mail on this list, I sure as hell am
14 not going to use my regular e-mail account's quota given my 6GB+ gmail
15 quota :)
16
17 >
18 > I'd use the 32-bit chroot (or build on a 32-bit machine) and use
19 > FEATURES=buildpkg so all the packages ended up as tbz2 binaries.
20 >
21 > For individual cases that should be enough on the build side. On the
22 > binary package consumer, I'd use a 32-bit chroot again (to keep the 32-
23 > bit packages tracked separately from the 64-bit ones) and either emerge
24 > a more or less full system or use package.provided and/or --nodeps when
25 > merging individual packages if I chose not to do the full 32-bit system.
26 >
27
28 The problem with a 32-bit chroot system is that for things to work
29 properly on a multilib system, 32-bit libraries go in
30 /lib32|/usr/lib32. A standard x86 environment doesn't deal with that.
31 The old instructions at
32 http://www.gentoo.org/proj/en/base/amd64/emul/ basically document
33 doing this with a 32-bit chroot with a custom profile (that's in the
34 portage tree) to deal with the multilib directory structure. However,
35 that howto is obsolete as per Mike Doty's original e-mail on this
36 thread when I started it over half a year ago. Back then the response
37 was maybe in a month or two it would be documented and it still isn't,
38 so I'm asking again just to see if anyone has made any progress on the
39 documentation.
40
41 > For something more suitable for general distribution, IOW, usable
42 > directly from the main system's portage/other-pm, I'd use the binaries
43 > created in the first step as the "sources", and build an ebuild script
44 > wrapper around them to untar and install them manually (and to an
45 > appropriately different location for libs, or name for executables, than
46 > the 64-bit stuff), while tracking them using emul- (or similar) to keep
47 > them separate from the 64-bit packages of the otherwise same name. The
48 > same skeleton untar and install script could be used for all such
49 > packages, with specific extra configuration, etc. attached as necessary.
50
51 This doesn't work for libraries that have additional modules that are
52 located in /usr/lib32/[moduledirectory] as I mentioned in my previous
53 comment when you have libraries built in a regular chroot environment
54 with a libdir of /usr/lib, it's going to look for
55 /usr/lib/[moduledirectory]/module.so which will be the 64-bit library
56 and thus incompatible
57
58 >
59 > That seems fairly straightforward and would the existing portage binary
60 > package capabilities, but is obviously not quite the method they took, as
61 > they have more generalized packages that include binaries (libraries,
62 > etc) from multiple normal packages. The advantage of doing it as above,
63 > however, would be that the generic wrapper ebuild script could be simply
64 > renamed as appropriate to use with 32-bit packages other than those
65 > currently supplied.
66 >
67 > As I said, FWIW... It may or may not be suitable for your purposes.
68
69 Unless you have a suggestion on how to deal with LIBDIR during
70 configure runs and such, your suggest is unfortunately not suitable
71 for my purposes. What little digging I have been able to do shows
72 that ABI=x86 seems to provide some ability to build 32-bit packages so
73 long as all of the dependencies have been built as 32-bit.
74 Unfortunately, some of the packages I want to build have different
75 header files in /usr/include for 64-bit and 32-bit platforms making it
76 very difficult to build without a chroot environment, but the only
77 chroot environment that I know of that partially works is the one that
78 was documented that is now considered obsolete.
79 --
80 gentoo-amd64@l.g.o mailing list

Replies

Subject Author
[gentoo-amd64] Re: building emul-linux-x86 files Duncan <1i5t5.duncan@×××.net>