[cfe-users] Host Clang must be able to find libstdc++4.7 or newer!
Jeffrey Walton
noloader at gmail.com
Wed Apr 1 20:04:29 PDT 2015
I'm suffering through a Cmake build of Clang 3.6. I'm experiencing an
error "Host Clang must be able to find libstdc++4.7 or newer!".
(Suffering because I know this process does not work with
Autotools/Makefiles; so I'm trying Cmake but I know nothing about
Cmake).
I'm using a recipe that can be found at "Clang 3.6 Recipe with libc++
and libc++abi", http://pastebin.com/0yg1Y7RK. It simply fetches
components with wget, unpacks them in-tree, configures and then kicks
off a build. The components that have been downloaded and placed
in-tree are:
* LLVM
* Clang Front End
* Compiler-RT
* Tools Extra
* libcxx
* libcxxabi
>From the build/ directory (and on OS X 10.8.5) I issue the following:
cmake V=1 --enable-optimized --enable-cxx11 --enable-libcpp
--prefix=/usr/local ../llvm
It results in the the error below. Adding `--with-libcxx
--with-libcxxabi` results in the same error.
Line 38 of HandleLLVMOptions is shown after the error. I think its due
to the LLVM_NO_OLD_LIBSTDCXX.
There's a thread with a similar error at
http://marc.info/?l=cfe-dev&m=141691588006254. But as a completely
inexperienced Cmake user, I really can't follow what's being said or
what I should do to resolve the issue.
I thought placing things in-tree was the magic to make
auto-configuration work. I'm not sure if I was mistaken or if I'm
seeing a small issue in configuration.
Does anyone have any ideas how to I can tell the build system I am
trying to build libc++ and libc++abi, and it should not look for it?
Thanks in advance.
===================
$ ./clang-3.6-libcxx-recipe.sh
Configuring build
Present directory: /Users/jwalton/clang-3.6-libcxx/build
-- Target triple: x86_64-apple-darwin12.6.0
-- Native target architecture is X86
-- Threads enabled.
-- Doxygen disabled.
-- Sphinx disabled.
-- Go bindings disabled.
-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH)
-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH)
-- OCaml bindings disabled.
CMake Error at cmake/modules/HandleLLVMOptions.cmake:38 (message):
Host Clang must be able to find libstdc++4.7 or newer!
Call Stack (most recent call first):
CMakeLists.txt:344 (include)
-- Configuring incomplete, errors occurred!
========
# line 33 `#include <atomic>`
# line 38 is `message(FATAL_ERROR...`
#include <atomic>
std::atomic<float> x(0.0f);
int main() { return (float)x; }"
LLVM_NO_OLD_LIBSTDCXX)
if(NOT LLVM_NO_OLD_LIBSTDCXX)
message(FATAL_ERROR "Host Clang must be able to find
libstdc++4.7 or newer!")
endif()
set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
set(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
endif()
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17.0)
message(FATAL_ERROR "Host Visual Studio must be at least 2012
(MSVC 17.0)")
endif()
endif()
endif()
More information about the cfe-users
mailing list