Opened 6 years ago
Closed 6 years ago
#4345 closed task (fixed)
Clean up unnecessary environments for libraries in /tools/lib
Reported by: | Xi Ruoyao | Owned by: | lfs-book |
---|---|---|---|
Priority: | normal | Milestone: | 8.4 |
Component: | Book | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description
Since r11432 we have symlinks to /tools/lib/lib{blkid,lzma,mount,uuid}.so
in /usr/lib
in section 6.6. So, in e2fsprogs (6.56) testing, LD_LIBRARY_PATH=/tools/lib
is no longer needed. And, in eudev (6.72),
the config.cache
file, LIBRARY_PATH
environment and LD_LIBRARY_PATH
environment are also no longer needed. We can clean them up.
Tested with LFS-8.3.
Change History (5)
follow-up: 2 comment:1 by , 6 years ago
follow-ups: 3 4 comment:2 by , 6 years ago
Replying to thomas:
for eudev, i simply swapped eudev and util-linux (to build util-linux before eudev) because of -lblkid and dropped the config.cache and LIBRARY_PATH tweaks from eudev.
That's a very good idea. I'll investigate a bit more, but I think that will simplify the eudev page. I do not recall right now what else needs util-linux so I'll experiment with removing it from Chapter 5 completely.
I needed util-linux to build before eudev because of doing multilib.
I'm curious what 32-bit packages would need eudev (libeudev). Is it really necessary to have a 32-bit version?
comment:3 by , 6 years ago
Replying to bdubbs:
Replying to thomas: ...
I needed util-linux to build before eudev because of doing multilib.
I'm curious what 32-bit packages would need eudev (libeudev). Is it really necessary to have a 32-bit version?
I've a driver for my laser printer which is (the driver) only available as 32bit executable. Tracking down the dependencies I found
[thomas@ganymed Dell-C2665-Color-MFP]$ ldd DLPSACJFilter linux-gate.so.1 (0xf7fb0000) libcups.so.2 => /usr/lib32/libcups.so.2 (0xf7ed3000) libc.so.6 => /usr/lib32/libc.so.6 (0xf7cf6000) libgnutls.so.30 => /usr/lib32/libgnutls.so.30 (0xf7b2c000) libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf7b0b000) libm.so.6 => /usr/lib32/libm.so.6 (0xf7a3e000) libcrypt.so.1 => /usr/lib32/libcrypt.so.1 (0xf7a0b000) libz.so.1 => /usr/lib32/libz.so.1 (0xf79f2000) /lib/ld-linux.so.2 => /usr/lib/ld-linux.so.2 (0xf7fb2000) libp11-kit.so.0 => /usr/lib32/libp11-kit.so.0 (0xf78b0000) libidn.so.11 => /usr/lib32/libidn.so.11 (0xf787c000) libtasn1.so.6 => /usr/lib32/libtasn1.so.6 (0xf7867000) libnettle.so.6 => /usr/lib32/libnettle.so.6 (0xf782a000) libhogweed.so.4 => /usr/lib32/libhogweed.so.4 (0xf77f1000) libgmp.so.10 => /usr/lib32/libgmp.so.10 (0xf7767000) libffi.so.6 => /usr/lib32/libffi.so.6 (0xf775e000) libdl.so.2 => /usr/lib32/libdl.so.2 (0xf7758000)
and libcups uses libusb which in turn uses libudev. I've not yet tracked down if there might be configure options to get rid of this dependencies but i take it as training for doing multilib-BLFS ...
comment:4 by , 6 years ago
Replying to bdubbs:
Replying to thomas:
for eudev, i simply swapped eudev and util-linux (to build util-linux before eudev) because of -lblkid and dropped the config.cache and LIBRARY_PATH tweaks from eudev.
That's a very good idea. I'll investigate a bit more, but I think that will simplify the eudev page. I do not recall right now what else needs util-linux so I'll experiment with removing it from Chapter 5 completely.
Systemd needs util-linux and I am not sure if we can build util-linux before systemd in Chapter 6.
for eudev, i simply swapped eudev and util-linux (to build util-linux before eudev) because of -lblkid and dropped the config.cache and LIBRARY_PATH tweaks from eudev.
I needed util-linux to build before eudev because of doing multilib. We added lib{,x}32 build instructions to all those packages in chap6 which are relevant for a multilib environment. A functional multilib environment seems to need lib32-eudev as well as lib32-util-linux. lib32-eudev cannot be build in the current order because there are no libblkid.so in /usr/lib32 (and no need to build them in chap5). So, swapping eudev and utillinux easily solves that issue.
In 'classic' LFS, this is no issue due to the symlinks mentioned above but swapping places would ease live doing multilib as there would not be the need to patch the build-order in multilib-LFS. Doing that should have no impact at all on LFS (neither sysv nor systemd).