I have a script that builds llvm/clang 3.42 from source (with configure+make). It runs smooth on ubuntu 14.04.5 LTS. When I upgraded to ubuntu 17.04
That seems to be an issue with LLVM 3.4.2tsan (Thread Sanitizer) failing to build with GCC 6.x, as previously reported here:
https://aur.archlinux.org/packages/clang34-analyzer-split
It seems the inclusion of stdlib.h and malloc.h is conflicting, since both define malloc and friends.
It's possible that this issue only manifets in tsan, so if tsan is not instrumental to your LLVM build (which is very likely), and you wish to stick with the system gcc for building LLVM, you may consider disabling tsan completely.
If you're running a CMake build (as in here), you can do so by commenting line 29 of llvm/projects/compiler-rt/lib/CMakeLists.txt:
if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT ANDROID)
add_subdirectory(tsan) # comment out this line
If you're forced to stick to the configure build, my best guess would be removing the tsan-x86_64 target in llvm/projects/compiler-rt/make/clang_linux.mk, line 63:
Configs += full-x86_64 profile-x86_64 san-x86_64 asan-x86_64 --> tsan-x86_64 <--