From 516cffdaab7cfc55e9d79264adadc453729ad9f9 Mon Sep 17 00:00:00 2001 From: Jonathan Rajotte Date: Mon, 7 Jun 2021 14:21:06 -0400 Subject: [PATCH] Fix: build: libcommon fd-tracker dependency is not available MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Observed issue ============== A build configured with: ./configure -disable-bin-lttng --disable-bin-lttng-crash --disable-bin-lttng-sessiond --disable-bin-lttng-relayd Fails at build time with: make[3]: *** No rule to make target '../../src/common/fd-tracker/libfd-tracker.la', needed by 'libcommon.la'. Stop. make[3]: *** Waiting for unfinished jobs.... CC lttng-elf.lo Cause ===== fd-tracker is required by libcommon. This is introduced by commit 8bb66c3cd60938352927ee865759433387324250 [1] Build of libfd-tracker is disabled at the configure level by build_lib_fd_tracker which in turn is enabled/disabled by the --enable/disable-bin-* options. For the observed issue, the --enable-bin-lttng-consumerd alone does not enable the build of libfd-tracker. Solution ======== All dependencies for libcommon are now always built. All bins require libcommon to be present anyway. This patch also fix a problem where the examples under the doc are build even if liblttng-ctl is not built. Known drawbacks ========= None. References ========== [1] http://git.lttng.org/?p=lttng-tools.git;a=commit;h=8bb66c3cd60938352927ee865759433387324250 Signed-off-by: Jonathan Rajotte Signed-off-by: Jérémie Galarneau Change-Id: I94f5d7cdadcb4f8ff9c2617a675659c1f9eb4709 --- configure.ac | 18 ------------------ doc/examples/Makefile.am | 2 ++ src/common/Makefile.am | 23 ++++++----------------- 3 files changed, 8 insertions(+), 35 deletions(-) diff --git a/configure.ac b/configure.ac index eb0c666bd..17e3533f1 100644 --- a/configure.ac +++ b/configure.ac @@ -864,19 +864,13 @@ AC_ARG_ENABLE([extras], AS_HELP_STRING([--disable-extras], [Disable the build of the extra components])) -# Always build libconfig since it a dependency of libcommon -build_lib_config=yes - -build_lib_compat=no build_lib_consumer=no -build_lib_hashtable=no build_lib_health=no build_lib_index=no build_lib_kernel_consumer=no build_lib_kernel_ctl=no build_lib_lttng_ctl=no build_lib_relayd=no -build_lib_fd_tracker=no build_lib_sessiond_comm=no build_lib_testpoint=no build_lib_ust_consumer=no @@ -911,12 +905,9 @@ AS_IF([test x$enable_bin_lttng_relayd != xno], [ build_lib_lttng_ctl=yes build_lib_sessiond_comm=yes - build_lib_hashtable=yes - build_lib_compat=yes build_lib_index=yes build_lib_health=yes build_lib_testpoint=yes - build_lib_fd_tracker=yes ] ) AS_IF([test x$enable_bin_lttng_sessiond != xno], @@ -924,8 +915,6 @@ AS_IF([test x$enable_bin_lttng_sessiond != xno], build_lib_lttng_ctl=yes build_lib_sessiond_comm=yes build_lib_kernel_ctl=yes - build_lib_hashtable=yes - build_lib_compat=yes build_lib_relayd=yes build_lib_testpoint=yes build_lib_health=yes @@ -936,7 +925,6 @@ AS_IF([test x$enable_bin_lttng_sessiond != xno], AS_IF([test x$build_lib_lttng_ctl = xyes], [ build_lib_sessiond_comm=yes - build_lib_hashtable=yes ] ) @@ -944,8 +932,6 @@ AS_IF([test x$build_lib_consumer = xyes], [ build_lib_sessiond_comm=yes build_lib_kernel_consumer=yes - build_lib_hashtable=yes - build_lib_compat=yes build_lib_relayd=yes AS_IF([test "x$with_lttng_ust" = "xyes"], [build_lib_ust_consumer=yes]) ] @@ -1040,17 +1026,13 @@ AM_CONDITIONAL([BUILD_TESTS], [test x$build_tests = xyes]) AM_CONDITIONAL([BUILD_EXTRAS], [test x$enable_extras != xno]) # Export libraries build conditions. -AM_CONDITIONAL([BUILD_LIB_COMPAT], [test x$build_lib_compat = xyes]) -AM_CONDITIONAL([BUILD_LIB_CONFIG], [test x$build_lib_config = xyes]) AM_CONDITIONAL([BUILD_LIB_CONSUMER], [test x$build_lib_consumer = xyes]) -AM_CONDITIONAL([BUILD_LIB_HASHTABLE], [test x$build_lib_hashtable = xyes]) AM_CONDITIONAL([BUILD_LIB_HEALTH], [test x$build_lib_health = xyes]) AM_CONDITIONAL([BUILD_LIB_INDEX], [test x$build_lib_index = xyes]) AM_CONDITIONAL([BUILD_LIB_KERNEL_CONSUMER], [test x$build_lib_kernel_consumer = xyes]) AM_CONDITIONAL([BUILD_LIB_KERNEL_CTL], [test x$build_lib_kernel_ctl = xyes]) AM_CONDITIONAL([BUILD_LIB_LTTNG_CTL], [test x$build_lib_lttng_ctl = xyes]) AM_CONDITIONAL([BUILD_LIB_RELAYD], [test x$build_lib_relayd = xyes]) -AM_CONDITIONAL([BUILD_LIB_FD_TRACKER], [test x$build_lib_fd_tracker = xyes]) AM_CONDITIONAL([BUILD_LIB_SESSIOND_COMM], [test x$build_lib_sessiond_comm = xyes]) AM_CONDITIONAL([BUILD_LIB_TESTPOINT], [test x$build_lib_testpoint = xyes]) AM_CONDITIONAL([BUILD_LIB_UST_CONSUMER], [test x$build_lib_ust_consumer = xyes]) diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index 89aad3d06..25ef338db 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,3 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-only +if BUILD_LIB_LTTNG_CTL SUBDIRS = rotation trigger-condition-event-matches +endif diff --git a/src/common/Makefile.am b/src/common/Makefile.am index e9bc3d965..0885448b5 100644 --- a/src/common/Makefile.am +++ b/src/common/Makefile.am @@ -3,10 +3,14 @@ AUTOMAKE_OPTIONS = subdir-objects SUBDIRS = \ - string-utils \ + argpar \ bytecode \ + compat \ + config \ + fd-tracker \ + string-utils \ filter \ - argpar + hashtable # Make sure to always distribute all folders # since SUBDIRS is decided at configure time. @@ -120,18 +124,10 @@ libcommon_la_LIBADD = \ $(top_builddir)/src/common/filter/libfilter.la \ $(top_builddir)/src/vendor/msgpack/libmsgpack.la -if BUILD_LIB_COMPAT -SUBDIRS += compat -endif - if BUILD_LIB_HEALTH SUBDIRS += health endif -if BUILD_LIB_HASHTABLE -SUBDIRS += hashtable -endif - if BUILD_LIB_KERNEL_CTL SUBDIRS += kernel-ctl endif @@ -144,9 +140,6 @@ if BUILD_LIB_RELAYD SUBDIRS += relayd endif -if BUILD_LIB_FD_TRACKER -SUBDIRS += fd-tracker -endif if BUILD_LIB_KERNEL_CONSUMER SUBDIRS += kernel-consumer @@ -164,10 +157,6 @@ if BUILD_LIB_INDEX SUBDIRS += index endif -if BUILD_LIB_CONFIG -SUBDIRS += config -endif - if BUILD_LIB_CONSUMER SUBDIRS += consumer endif -- 2.34.1