我想在OS X上编译Rust 0.9为explained in the documentation。不幸的是,它在配置期间失败了。
$ ./configure <--------- fails here
$ make && make install
出现以下错误:
configure: CFG_PERL := /usr/bin/perl
configure: CFG_CURLORWGET := /usr/bin/curl (curl 7.43.0 (x86_64-apple-darwin14.0) libcurl/7.43.0 SecureTransport zlib/1.2.5)
configure: CFG_PYTHON := /usr/bin/python2.7
configure: CFG_GIT := /usr/bin/git (git version 2.3.2 (Apple Git-55))
configure: git: no git directory. disabling submodules
configure: CFG_CLANG := /usr/bin/clang++ (Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn))
configure: CFG_CCACHE :=
configure: CFG_GCC := /usr/bin/gcc (Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn))
configure: CFG_LD := /usr/bin/ld
configure: on OS X 10.9, forcing use of clang
configure:
configure: CFG_ENABLE_CLANG := 1
configure: error: bad CLANG version: 3.6.0svn, need >=3.0svn
当我在我的盒子上运行clang
的版本检查时,我发现我的版本更高了:
~/Downloads/rust-0.10$ clang --version
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.5.0
我很困惑,因为它似乎&#34; 3.6.0svn&#34;应满足&#34;需要&gt; = 3.0svn&#34;。
答案 0 :(得分:2)
如果您查看configure
script,您会看到:
case $LLVM_VERSION in
(3.[2-5]*)
msg "found ok version of LLVM: $LLVM_VERSION"
;;
(*)
err "bad LLVM version: $LLVM_VERSION, need >=3.0svn"
;;
esac
这限制了LLVM的版本。 可能您可以将其更新为包含3.6。但是,LLVM也可能在那些实际上没有正确链接的版本之间发生了足够的变化。
在Rust 0.9发布后,Rust正式开始支持commit 8c3db5bc中的3.6, 6个月。
如果你偶然发现越来越多奇怪的构建失败,我不会感到惊讶;建筑规范是一件很简单的事情。