Bug #1001
closedThe configure script does not check liburcu's binary library
100%
Description
LTTng-tools's configure.ac
only checks for liburcu function declarations in its installed headers using AC_CHECK_DECL()
.
If, for some reason, the system has the headers installed, but not the binary library, the configure
script succeeds, but the build fails later with obvious linking errors.
This situation happens if you set the various environment variables to build a 32-bit version of LTTng-tools (CFLAGS
, LDFLAGS
and so on) but only the 64-bit version of liburcu is installed. In this case, headers are found, for example in /usr/include
, and configure
succeeds, even if no 32-bit liburcu is installed.
It is okay to check the declarations, but AC_CHECK_LIB()
should also be used to check the existence of the chosen symbols in an installed binary liburcu.
See LTTng-UST's configure.ac
which seems to do the right thing.