Opened 12 years ago

Closed 12 years ago

Last modified 10 years ago

#3350 closed defect (fixed)

libvirt-glib does not build on LFS 7.1

Reported by: Wayne Blaszczyk Owned by: blfs-book@…
Priority: normal Milestone:
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

Similar to Ticket 3341. The following error occurs during make.

/bin/grep: /lib/libtirpc.la: No such file or directory

/bin/sed: can't read /lib/libtirpc.la: No such file or directory

libtool: link: `/lib/libtirpc.la' is not a valid libtool archive

make[2]: * [libvirt-glib-1.0.la] Error 1

make[2]: Leaving directory `/sources/libvirt-glib-0.0.7/libvirt-glib'

make[1]: * [all-recursive] Error 1

make[1]: Leaving directory `/sources/libvirt-glib-0.0.7'

make: * [all] Error 2

It seems that this is related to an instruction in libtirpc which moves the static libraries from /lib to /usr/lib.

Change History (9)

comment:1 by bdubbs@…, 12 years ago

I can reproduce this. The grep and sed commands are in libtool.sh, a 10,000 line shell script. I'm going to try to track down what is going on. It shouldn't be looking for any .la file in /lib.

comment:2 by bdubbs@…, 12 years ago

Some progress. /usr/lib64/libvirt.la has:

dependency_libs=' -L/lib -ldevmapper -ltirpc -L/usr/lib 
/usr/lib/libgnutls.la /usr/lib/libtasn1.la -lnettle 
-lhogweed /usr/lib/libgmp.la /usr/lib/libgcrypt.la 
/usr/lib/libgpg-error.la /usr/lib/libsasl2.la 
-lresolv /usr/lib/libcurl.la -lssl -lcrypto -lrt -lpcap 
/lib/libtirpc.la -lutil /usr/lib/libxml2.la -lz -lm -ldl 
/lib/libtirpc.la -lnsl -lpthread'

Somehow libvirt.la is picking up /lib/libtirpc.la (twice)

comment:3 by Wayne Blaszczyk, 12 years ago

Not sure if this is significant, but in /usr/lib/libtirpc.la, libdir is set to '/lib'. I don't know enough about these files to know if this is correct or not.

comment:4 by bdubbs@…, 12 years ago

/usr/lib/libtirpc.la needs to point to /lib because that's where libtirpc.so.1.0.10 is located.

This stuff is buried way down in libtool. I don't know why it's getting it wrong, but we need to do something like the following in libvirt:

sed -i -e 's:/lib/libtirpc.la:/usr&:g' /usr/lib/libvirt{,-qemu}.la

With that, libvirt-glib builds OK.

comment:5 by Armin K, 12 years ago

Bruce you are wrong. "lib" from .la file needs to point where .so is located, in this case to /usr/lib. We had same problems with acl and attr not so long ago. One more reason why I don't have any single of those .la files.

in reply to:  5 comment:6 by bdubbs@…, 12 years ago

Replying to Krejzi:

Bruce you are wrong. "lib" from .la file needs to point where .so is located, in this case to /usr/lib. We had same problems with acl and attr not so long ago. One more reason why I don't have any single of those .la files.

I think you misunderstand the sed. It updates the line 'dependency_libs', not 'libdir' in the .la files.

comment:7 by Armin K, 12 years ago

I fully understand the sed. However problem still lies at libtirpc whose .so and .la files are moved into /usr/lib, but .la file still lists /lib as libdir, but should list /usr/lib instead. If that is corrected before libvirt has been compiled, the problem would not exist at all with libvirt nor libvirt-glib.

Again, we had same problem with acl and attr (see their pages for the right sed)

comment:8 by Armin K, 12 years ago

Resolution: fixed
Status: newclosed

I have changed libtirpc instructions. You can recompile libvirt against libtirpc built with new instructions. Everything should be correct then. If the problem persists, reopen this bug. Fixed in r10115

comment:9 by bdubbs@…, 10 years ago

Milestone: current

Milestone current deleted

Note: See TracTickets for help on using tickets.