On Mon, 2018-04-30 at 10:59 +0100, Daniel P. Berrangé wrote: > On Mon, Apr 30, 2018 at 11:47:33AM +0200, Andrea Bolognani wrote: > > Mocking canonicalize_file_name() causes a linking error: > > > > ../gnulib/lib/.libs/libgnu.a(canonicalize-lgpl.o): In function `canonicalize_file_name': > > .../libvirt/gnulib/lib/canonicalize-lgpl.c:417: multiple definition of `canonicalize_file_name' > > .libs/virpcimock.o:.../libvirt/tests/virpcimock.c:983: first defined here > > > > This is not a problem on Linux, where canonicalize_file_name() is > > provided by libc, but FreeBSD is using the gnulib implementation > > instead, leading to the issue above. > > AFAIK, the only way is to not link virpcimock.la to gnulib. > > If we're lucky all the functions it needs would be present in the libvirt.so > already, so might just need a few things added to the export list ? That compiles fine, but fails at runtime with $ ./tests/qemumemlocktest Missing symbol 'canonicalize_file_name' Abort trap (core dumped) I've tried a different approach: getting rid of the problematic function altogether. Patches are on the list. -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list