[libvirt] [PATCH] tests: fix domaincapstest linking for libxl

Commit 11567cf added some libxl tests into domaincapstest and added libvirt_driver_libxl_impl.la to domaincapstest_LDADD. This causes link fail on systems without GNU regex implementation: gmake[2]: Entering directory '/usr/home/novel/code/libvirt/tests' CCLD domaincapstest ../src/.libs/libvirt_driver_libxl_impl.a(libvirt_driver_libxl_impl_la-libxl_capabilities.o): In function `libxlMakeCapabilities': libxl/libxl_capabilities.c:(.text+0x6b2): undefined reference to `rpl_regcomp' libxl/libxl_capabilities.c:(.text+0x6d0): undefined reference to `rpl_regerror' libxl/libxl_capabilities.c:(.text+0x803): undefined reference to `rpl_regexec' libxl/libxl_capabilities.c:(.text+0xa58): undefined reference to `rpl_regfree' clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation) This happens because on these system it tries to use gnulib's builtin regex implementation, but doesn't link to gnulib. Fix by adding $(GNULIB_LIBS) along with libvirt_driver_libxl_impl.la to domaincapstest_LDADD. --- tests/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Makefile.am b/tests/Makefile.am index 5714d11..0cd8391 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -953,7 +953,7 @@ endif WITH_QEMU if WITH_LIBXL domaincapstest_SOURCES += testutilsxen.c testutilsxen.h -domaincapstest_LDADD += ../src/libvirt_driver_libxl_impl.la +domaincapstest_LDADD += ../src/libvirt_driver_libxl_impl.la $(GNULIB_LIBS) endif WITH_LIBXL virnetmessagetest_SOURCES = \ -- 2.7.4

On 15.08.2016 01:25, Roman Bogorodskiy wrote:
Commit 11567cf added some libxl tests into domaincapstest and added libvirt_driver_libxl_impl.la to domaincapstest_LDADD.
This causes link fail on systems without GNU regex implementation:
gmake[2]: Entering directory '/usr/home/novel/code/libvirt/tests' CCLD domaincapstest ../src/.libs/libvirt_driver_libxl_impl.a(libvirt_driver_libxl_impl_la-libxl_capabilities.o): In function `libxlMakeCapabilities': libxl/libxl_capabilities.c:(.text+0x6b2): undefined reference to `rpl_regcomp' libxl/libxl_capabilities.c:(.text+0x6d0): undefined reference to `rpl_regerror' libxl/libxl_capabilities.c:(.text+0x803): undefined reference to `rpl_regexec' libxl/libxl_capabilities.c:(.text+0xa58): undefined reference to `rpl_regfree' clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
This happens because on these system it tries to use gnulib's builtin regex implementation, but doesn't link to gnulib.
Fix by adding $(GNULIB_LIBS) along with libvirt_driver_libxl_impl.la to domaincapstest_LDADD. ---
ACK Michal

Michal Privoznik wrote:
On 15.08.2016 01:25, Roman Bogorodskiy wrote:
Commit 11567cf added some libxl tests into domaincapstest and added libvirt_driver_libxl_impl.la to domaincapstest_LDADD.
This causes link fail on systems without GNU regex implementation:
gmake[2]: Entering directory '/usr/home/novel/code/libvirt/tests' CCLD domaincapstest ../src/.libs/libvirt_driver_libxl_impl.a(libvirt_driver_libxl_impl_la-libxl_capabilities.o): In function `libxlMakeCapabilities': libxl/libxl_capabilities.c:(.text+0x6b2): undefined reference to `rpl_regcomp' libxl/libxl_capabilities.c:(.text+0x6d0): undefined reference to `rpl_regerror' libxl/libxl_capabilities.c:(.text+0x803): undefined reference to `rpl_regexec' libxl/libxl_capabilities.c:(.text+0xa58): undefined reference to `rpl_regfree' clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)
This happens because on these system it tries to use gnulib's builtin regex implementation, but doesn't link to gnulib.
Fix by adding $(GNULIB_LIBS) along with libvirt_driver_libxl_impl.la to domaincapstest_LDADD. ---
ACK
Pushed, thanks!
Michal
Roman Bogorodskiy
participants (2)
-
Michal Privoznik
-
Roman Bogorodskiy