2012-02-15 114 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