Missing libclang_rt.san-x86_64.a file for Compiler-rt

Hi everyone,

(Sorry if I’m asking at the wrong mail listing, but compiler-rt page tells I’d better write on llvm-dev rather than cfe-dev/cfe-users.)

I’ve just built LLVM/Clang+Compiler-rt (Compiler-rt is put inside llvm/projects folder) and tried the -fsanitize option. But strangely the link failed since it cannot find libclang_rt.san-x86_64.a. The error message is as below:

/usr/bin/ld: cannot find /home/hongxu/RESEARCH/llvm-git/obj/bin/…/lib/clang/3.7.0/lib/linux/libclang_rt.san-x86_64.a: No such file or directory
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)

However inside the folder /home/hongxu/RESEARCH/llvm-git/obj/bin/…/lib/clang/3.7.0/lib/linux/ there are other libraries:

pwd
/home/hongxu/RESEARCH/llvm-git/obj/lib/clang/3.7.0/lib/linux/
ll *.a |grep x86 | awk ‘{print $9}’
libclang_rt.asan_cxx-x86_64.a
libclang_rt.asan-preinit-x86_64.a
libclang_rt.asan-x86_64.a
libclang_rt.builtins-x86_64.a
libclang_rt.dd-x86_64.a
libclang_rt.dfsan-libc-x86_64.a
libclang_rt.dfsan-x86_64.a
libclang_rt.lsan-x86_64.a
libclang_rt.msan-x86_64.a
libclang_rt.profile-x86_64.a
libclang_rt.tsan-x86_64.a
libclang_rt.ubsan_cxx-x86_64.a
libclang_rt.ubsan_standalone_cxx-x86_64.a
libclang_rt.ubsan_standalone-x86_64.a
libclang_rt.ubsan-x86_64.a

I found that “libclang_rt.san-x86_64.a” was present at least for Clang-3.6 for ArchLinux(https://www.archlinux.org/packages/extra/x86_64/clang/files/). So how can I build to get that library?

Trying building from scratch (remove the build directory, sync all llvm subprojects to the same revision, build again)

–kcc

Right. libclang_rt.san is now gone. Fresh compiler-rt build doesn’t contain this library, and fresh Clang is not using it.

Thanks for your information, I’ve successfully built compiler-rt by removing build directories and pull from the latest source code.

Best Regards,
Hongxu