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 |