Project

General

Profile

Bug #1001

Updated by Philippe Proulx over 8 years ago

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@":https://github.com/lttng/lttng-ust/blob/master/configure.ac which seems to do the right thing.

Back