From ccb19569716f805421716b5efde0e3156a6757e3 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Tue, 25 Mar 2014 10:00:28 -0400 Subject: [PATCH] Fix: don't accept configure --disable-shared Building LTTng-UST with --disable-shared compiles fine, but the resulting installed static libraries silently fails to trace, because tracepoint fails to dlopen liblttng-ust-tracepoint.so. So don't allow this unsupported configure option. Also document this requirement in the README. Signed-off-by: Mathieu Desnoyers --- README | 4 +++- configure.ac | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/README b/README index e449576a..1d731ab7 100644 --- a/README +++ b/README @@ -56,7 +56,9 @@ INSTALLATION INSTRUCTIONS: installs. However, this path is not part of most distributions' default library path which will cause builds depending on liblttng-ust to fail unless '-L/usr/local/lib' is added to LDFLAGS. You may provide a custom prefix to - configure by using the --prefix switch. + configure by using the --prefix switch. Note that LTTng-UST needs to + be a shared library, even if the tracepoint probe provider is statically + linked into the application. USAGE: diff --git a/configure.ac b/configure.ac index 83079442..d4926e42 100644 --- a/configure.ac +++ b/configure.ac @@ -267,6 +267,16 @@ AS_IF([test "x$with_sdt" = "xyes"],[ ]) ]) +AC_MSG_CHECKING([whether shared libraries are enabled]) +AS_IF([test "x$enable_shared" = "xyes"], + [ + AC_MSG_RESULT([yes]) + ], + [ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([LTTng-UST requires shared libraries to be enabled]) + ]) + AC_ARG_WITH([lttng-system-rundir], AS_HELP_STRING([--with-lttng-system-rundir], [Location of the system directory where LTTng-UST expects the system-wide lttng-sessiond runtime files. The default is "/var/run/lttng".]), -- 2.39.5