2012-02-15 116 views
5

我在Debian及继起的锈维基编译指令:https://github.com/mozilla/rust/wiki/Doc-getting-started不能编译锈

我尝试了几次,但始终与下面的错误结束:

llvm[3]: Compiling opt.cpp for Release+Asserts build 
make[3]: *** No rule to make target `/home/user/rust/llvm/x86_64-unknown-linux- 
gnu/tools/lib/libLLVMipo.a', needed by `/home/user/rust/llvm/x86_64-unknown- 
linux-gnu/Release+Asserts/bin/opt'. Stop. 
make[3]: Leaving directory `/home/user/rust/llvm/x86_64-unknown-linux-gnu/ 
tools/opt' 
make[2]: *** [opt/.makeall] Error 2 
make[2]: Leaving directory `/home/user/rust/llvm/x86_64-unknown-linux-gnu/tools' 
make[1]: *** [all] Error 1 
make[1]: Leaving directory `/home/user/rust/llvm/x86_64-unknown-linux-gnu' 
make: *** [/home/user/rust/llvm/x86_64-unknown-linux-gnu/Release+Asserts/ 
bin/llvm-config] Error 2 

编辑:

该问题只发生在debootstrap/chroot环境中,而不是在完整的Debian安装中。

+0

我可能有类似的问题,我想我通过改变我的默认python(找到你的'哪个python')到python2而不是python3(llvm使用python2来构建) – nak 2012-02-21 22:37:00

+0

这是否仍然会发生?我尝试了一个chroot(使用'systemd-nspawn'),并且无法重现。 – Tshepang 2015-05-06 20:01:02

回答

3

如果你指的这些指令:

git clone git://github.com/mozilla/rust.git 
cd rust 
mkdir build 
cd build 
../configure 
make check 

...我可以看到至少有一点与他们错了。试试这个:

git clone git://github.com/mozilla/rust.git 
cd rust 
git submodule update --init 
./configure 
make 
sudo make install 

git submodule update --init必须初始化锈病的子模块,包括LLVM和libuv。

1

git submodule update不应该是必要的,因为锈病的配置脚本试图处理本身,你要是跑不过git submodule status和看到的变化线src/libuvsrc/llvm那么它可能是一个问题。

我以前没有看到过这个错误,也无法从该片断中看出错误。可能运行make clean-all,然后输出./configure && make的全部输出以及config.mk的内容。此外,你可能会更加关注这个问题的锈迹跟踪:http://github.com/mozilla/rust/issues