Jeffrey, On 11/21/2013 03:26 PM, Jeffrey Walton wrote:
I'm trying to evaluate a third party library based on autotools. The evaluation includes some basic dynamic analysis using Clang 3.3 (the analysis is provided by the sanitzers). `make check` is failing due to missing symbols: libjpeg.a(jmemmgr.o): In function `do_sarray_io': /home/jwalton/Desktop/jpeg-6b/jmemmgr.c:695: undefined reference to `__ubsan_handle_type_mismatch' /home/jwalton/Desktop/jpeg-6b/jmemmgr.c:695: undefined reference to `__ubsan_handle_type_mismatch' /home/jwalton/Desktop/jpeg-6b/jmemmgr.c:696: undefined reference to `__ubsan_handle_type_mismatch' ... However, I'm including the required clang library through LDLIBS: export LDLIBS="/usr/local/lib/clang/lib/linux/3.3/libclang_rt.full-x86_64.a /usr/local/lib/clang/lib/linux/3.3/libclang_rt.ubsan-x86_64.a" export CC=/usr/local/bin/clang export CXX=/usr/local/bin/clang++ export CFLAGS="-g3 -fsanitize=address -fsanitize=undefined" export CXXFLAGS="-g3 -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr" The missing functions are part of the libs specified in LDLIBS:
it should be LIBS instead of LDLIBS, see the section 'Some influential environment variables' in the configure --help output. There is also no need to export variables as you can set them on the command line:
./configure [OPTION]... [VAR=VALUE]... Hope that helps, Christian
$ nm --defined libclang_rt.ubsan-x86_64.a | grep -i __ubsan_handle_type_mismatch 0000000000000000 T __ubsan_handle_type_mismatch 0000000000000740 T __ubsan_handle_type_mismatch_abort ... How does one force the incusion of a library when using autotools? Thanks in advance. _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx https://lists.gnu.org/mailman/listinfo/autoconf
_______________________________________________ Autoconf mailing list Autoconf@xxxxxxx https://lists.gnu.org/mailman/listinfo/autoconf