On 07/03/2014 08:34 AM, Michal Privoznik wrote: > The problem is, since 614581f32b domaincapstest is linked with > $(LDADDS) by default. Then, since 94e3f23e8a7 the test may be > conditionally linked with $(qemu_LDADDS) which already contains > $(LDADDS). And some linkers doesn't cope with this nicely: > > CCLD domaincapstest > ../src/libvirt_probes.o:(.probes+0x0): multiple definition of `libvirt_event_poll_add_handle_semaphore' > ../src/libvirt_probes.o:(.probes+0x0): first defined here > ../src/libvirt_probes.o:(.probes+0x2): multiple definition of `libvirt_event_poll_update_handle_semaphore' > ../src/libvirt_probes.o:(.probes+0x2): first defined here > ../src/libvirt_probes.o:(.probes+0x4): multiple definition of `libvirt_event_poll_remove_handle_semaphore' > ../src/libvirt_probes.o:(.probes+0x4): first defined here > ../src/libvirt_probes.o:(.probes+0x6): multiple definition of `libvirt_event_poll_dispatch_handle_semaphore' > ../src/libvirt_probes.o:(.probes+0x6): first defined here > > And so on. > > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > > I'd push this as build breaker, but there's another approach to consider, > create qemu_BARE_LDADDS and fill it with the qemu_impl, etc. Then, let: > qemu_LDADDS = $(qemu_BARE_LDADDS) $(LDADDS) > > What's your preference? > What is below works for me - so to that degree I'd ACK. However, if someone had a preference for whatever it is you're describing as an option, then I suppose that would be fine too. Makefile's are mostly black magic to me :-) John > tests/Makefile.am | 29 +++++++++++++++-------------- > 1 file changed, 15 insertions(+), 14 deletions(-) > > diff --git a/tests/Makefile.am b/tests/Makefile.am > index a262c7b..b9a6345 100644 > --- a/tests/Makefile.am > +++ b/tests/Makefile.am > @@ -509,12 +509,11 @@ endif WITH_STORAGE > if WITH_DTRACE_PROBES > qemu_LDADDS += ../src/libvirt_qemu_probes.lo > endif WITH_DTRACE_PROBES > -qemu_LDADDS += $(LDADDS) > > qemuxml2argvtest_SOURCES = \ > qemuxml2argvtest.c testutilsqemu.c testutilsqemu.h \ > testutils.c testutils.h > -qemuxml2argvtest_LDADD = $(qemu_LDADDS) $(LIBXML_LIBS) > +qemuxml2argvtest_LDADD = $(qemu_LDADDS) $(LDADDS) $(LIBXML_LIBS) > > qemuxml2argvmock_la_SOURCES = \ > qemuxml2argvmock.c > @@ -525,62 +524,64 @@ qemuxml2argvmock_la_LDFLAGS = -module -avoid-version \ > qemuxml2xmltest_SOURCES = \ > qemuxml2xmltest.c testutilsqemu.c testutilsqemu.h \ > testutils.c testutils.h > -qemuxml2xmltest_LDADD = $(qemu_LDADDS) > +qemuxml2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS) > > qemuxmlnstest_SOURCES = \ > qemuxmlnstest.c testutilsqemu.c testutilsqemu.h \ > testutils.c testutils.h > -qemuxmlnstest_LDADD = $(qemu_LDADDS) > +qemuxmlnstest_LDADD = $(qemu_LDADDS) $(LDADDS) > > qemuargv2xmltest_SOURCES = \ > qemuargv2xmltest.c testutilsqemu.c testutilsqemu.h \ > testutils.c testutils.h > -qemuargv2xmltest_LDADD = $(qemu_LDADDS) > +qemuargv2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS) > > qemuhelptest_SOURCES = qemuhelptest.c testutils.c testutils.h > -qemuhelptest_LDADD = $(qemu_LDADDS) > +qemuhelptest_LDADD = $(qemu_LDADDS) $(LDADDS) > > qemumonitortest_SOURCES = qemumonitortest.c testutils.c testutils.h > -qemumonitortest_LDADD = $(qemu_LDADDS) > +qemumonitortest_LDADD = $(qemu_LDADDS) $(LDADDS) > > qemumonitorjsontest_SOURCES = \ > qemumonitorjsontest.c \ > testutils.c testutils.h \ > testutilsqemu.c testutilsqemu.h \ > $(NULL) > -qemumonitorjsontest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS) > +qemumonitorjsontest_LDADD = libqemumonitortestutils.la \ > + $(qemu_LDADDS) $(LDADDS) > > qemucapabilitiestest_SOURCES = \ > qemucapabilitiestest.c \ > testutils.c testutils.h \ > testutilsqemu.c testutilsqemu.h \ > $(NULL) > -qemucapabilitiestest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS) > +qemucapabilitiestest_LDADD = libqemumonitortestutils.la \ > + $(qemu_LDADDS) $(LDADDS) > > qemucaps2xmltest_SOURCES = \ > qemucaps2xmltest.c \ > testutils.c testutils.h \ > $(NULL) > -qemucaps2xmltest_LDADD = $(qemu_LDADDS) > +qemucaps2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS) > > qemuagenttest_SOURCES = \ > qemuagenttest.c \ > testutils.c testutils.h \ > testutilsqemu.c testutilsqemu.h \ > $(NULL) > -qemuagenttest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS) > +qemuagenttest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS) $(LDADDS) > > qemuhotplugtest_SOURCES = \ > qemuhotplugtest.c \ > testutils.c testutils.h \ > testutilsqemu.c testutilsqemu.h \ > $(NULL) > -qemuhotplugtest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS) > +qemuhotplugtest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS) $(LDADDS) > > domainsnapshotxml2xmltest_SOURCES = \ > domainsnapshotxml2xmltest.c testutilsqemu.c testutilsqemu.h \ > testutils.c testutils.h > -domainsnapshotxml2xmltest_LDADD = $(qemu_LDADDS) > +domainsnapshotxml2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS) > else ! WITH_QEMU > EXTRA_DIST += qemuxml2argvtest.c qemuxml2xmltest.c qemuargv2xmltest.c \ > qemuxmlnstest.c qemuhelptest.c domainsnapshotxml2xmltest.c \ > @@ -837,7 +838,7 @@ domaincapstest_LDADD = $(LDADDS) > > if WITH_QEMU > domaincapstest_SOURCES += testutilsqemu.c testutilsqemu.h > -domaincapstest_LDADD += $(qemu_LDADDS) > +domaincapstest_LDADD += $(qemu_LDADDS) $(GNULIB_LIBS) > endif WITH_QEMU > > if WITH_LIBVIRTD > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list