On Tue, Oct 11, 2011 at 13:54:40 -0600, Eric Blake wrote: > Building on Linux with dtrace enabled was failing 'make check': > > CCLD nodeinfotest > ../src/.libs/libvirt_test.a(libvirt_net_rpc_client_la-virnetclient.o): In function `virNetClientNew': > /home/remote/eblake/libvirt/src/rpc/virnetclient.c:162: undefined reference to `libvirt_rpc_client_new_semaphore' > > On looking further, I see some earlier warnings emitted from libtool: > > *** Warning: Linking the shared library libvirt.la against the non-libtool > *** objects probes.o is not portable! > > Since src/probes.o is only built on Linux, and even then, only when > dtrace is enabled, this failure does not affect other platforms, and > despite libtool warning that it is not generally portable, it is not > a problem for our use-case in libvirt.la. But it turns out that while > libtool is willing to jam raw .o files into an installed shared > library (libvirt.la becomes libvirt.so), it is NOT willing to jam > the same .o file into the convenience library libvirt_test.la. > Perhaps this is a bug in libtool, but even if we get libtool fixed, > libvirt must continue to build on platforms with older libtool. So, > the fix is the same as we are already using for the libvirt_lxc > executable - don't rely on the .o file being in the convenience > library, but instead use LDADD to pull it in directly. > > * tests/Makefile.am (PROBES_O): New macro. > (LDADDS): Use it to fix link errors. > --- > > I'm still in the middle of running ./autobuild.sh, but if that > fixes the VPATH build there, then I will push this under the > build-breaker rule. > > tests/Makefile.am | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) I pushed my patch and checked that your patch fixes the make check errors in VPATH build. ACK Jirka -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list