无法编译Rust

时间:2012-02-15 17:45:23

标签: llvm rust

我正在使用Debian并遵循Rust wiki的编译说明: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安装中。

2 个答案:

答案 0 :(得分: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

初始化Rust的子模块需要git submodule update --init,其中包括LLVM和libuv。

答案 1 :(得分:1)

不应该需要

git submodule update,因为Rust的配置脚本会尝试自己处理,但如果您运行git submodule status并查看有关src/libuvsrc/llvm更改的行那可能是个问题。

之前我没有看到过这个错误,也无法分辨出该片段的错误。可能运行make clean-all然后获取./configure && make的完整输出以及config.mk的内容。此外,您可能会在Rust bug跟踪器上获得更多关注:http://github.com/mozilla/rust/issues