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 19:28:06
Message-Id: 17dc8bc70804241228h5477551dp80cf1c687ebfed1a@mail.gmail.com
In Reply to: [gentoo-amd64] Re: building emul-linux-x86 files by Duncan <1i5t5.duncan@cox.net>
1 On Thu, Apr 24, 2008 at 11:40 AM, Duncan <1i5t5.duncan@×××.net> wrote:
2
3 > That's a library search path issue, and would normally be solved by
4 > setting LDPATH appropriately. For that, drop a file as appropriate in
5 > /etc/env.d/ (see the existing files already there), and remember to
6 > rebuild the libloader cache (/etc/ld.so.cache, running env-update does
7 > this among other things) afterward.
8
9 No, LDPATH modifies the ld.so.conf, which affects runtime dynamic
10 linking. It doesn't affect things that don't use the standard ld.so
11 dynamic linker. To give you an example, take a look the gnome-vfs
12 package. It places a bunch of binary files in
13 /usr/lib/gnome-vfs-2.0/modules. The location to these libraries are
14 fixed during configure/compile time via the libpath location given to
15 configure. I can screw with LDPATH and LD_LIBRARY_PATH all I want and
16 it won't make a bit of difference.
17
18 > An exception would be plugins, as for firefox, etc. For 32-bit
19 > executables with plugins, you'll need to properly configure their search
20 > path to look in the 32-bit location.
21
22 Sure, but not all applications allow you to reconfigure the module
23 location at runtime. Many of the gnome libraries, such as gnome-vfs
24 that I gave as an example above, don't have a simple way of overriding
25 where it finds it's modules at runtime.
26
27 > Of course, again, a chroot is a reasonably simple way to manage all
28 > this. Let the 32-bit system run in a chroot so it sees its own
29 > /lib and /usr/lib just as it would on a normal 32-bit system, and mount
30 > --bind stuff like /home (probably /tmp too, and maybe part or all of
31 > /var) as appropriate, so it appears in the chroot location as well. Then
32 > run all your 32-bit apps from the chrooted environment so they aren't
33 > looking at the 64-bit paths but instead their own (chrooted) 32-bit
34 > paths, and the setup I described should work, because as far as the 32-
35 > bit system is concerned, it's running on its own machine and doesn't even
36 > know about nor can it see* the 64-bit system.
37 >
38 > The 32-bit chroot method should be simpler and cleaner for the 64-bit
39 > system as well, which should then be perfectly fine running a no-multilib
40 > profile, with the exception of 32-bit execution turned on in the kernel,
41 > and a script that sets up the 32-bit stuff and enters the chroot. No
42 > more conflicts between 32-bit and 64-bit executables with the same name,
43 > no having to prioritize either 32-bit or 64-bit libraries first in the
44 > search order, etc.
45
46 I don't really want to debates the merits of a multilib vs. chroot
47 system as it's not my point. There are pros and cons for both.
48 Suffice it to say, I'm not happy with a chroot 32-bit environment I
49 don't think it's simpler and cleaner than a multilib environment and
50 it's not acceptable for me to have to deal with a 32-bit chroot
51 environment. Until gentoo moves to a true multilib environment were
52 every library package can be built with both 32-bit and 64-bit I'm
53 more than happy to maintain my own emul-linux-x86-* packages. I just
54 want to know how to do it in a way that's most like how the gentoo
55 devs are creating their packages.
56 --
57 gentoo-amd64@l.g.o mailing list

Replies

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