Just wanted to give you guys a heads up on an issue with 2.16-rc2.

Background

The hack with moving the devel files around to /usr with an install
hook breaks the values stored in the libblkid.la file and relinking
fails, because the lib devel files are now no longer in /lib but
(silently) moved to /usr/lib:

libtool: relink: gcc -std=gnu99 -shared  .libs/cache.o .libs/dev.o
.libs/devname.o .libs/devno.o .libs/getsize.o .libs/llseek.o
.libs/probe.o .libs/read.o .libs/resolve.o .libs/save.o .libs/tag.o
.libs/version.o .libs/verify.o .libs/encode.o .libs/config.o
.libs/evaluate.o .libs/blkdev.o .libs/linux_version.o
.libs/canonicalize.o .libs/md5.o  -Wl,--whole-archive
probers/.libs/libblkid_probers.a -Wl,--no-whole-archive
-L/var/tmp/util-linux-2.16-build/lib64 -L/lib64 -luuid
-Wl,--version-script=..//..//../shlibs/blkid/src/blkid.sym   -Wl,-soname
-Wl,libblkid.so.1 -o .libs/libblkid.so.1.0.0
/usr/lib64/gcc/x86_64-suse-linux//4.4//..//..//../../x86_64-suse-linux/bin/ld:
cannot find -luuid
collect2: ld returned 1 exit status

That the .so is installed in the root is really the implementation
detail that should be hidden from anything but the ld loader on the
system. I guess, we want to keep the original --libdir value, and use
a --rootlibdir as it's own parameter, or something similar, and just
move the .so image to the root with the install hook (or the spec
file), instead of moving the devel stuff, faking the .pc files and
patching the .la files. :)

Pulled from this article.
http://article.gmane.org/gmane.linux.utilities.util-linux-ng/2400

Here's the patch to fix it.
http://svn.cross-lfs.org/svn/repos/patches/util-linux-ng/util-linux-ng-2.16-rc2-fixes-1.patch
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to