我正在使用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安装中。
答案 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/libuv
或src/llvm
更改的行那可能是个问题。
之前我没有看到过这个错误,也无法分辨出该片段的错误。可能运行make clean-all
然后获取./configure && make
的完整输出以及config.mk的内容。此外,您可能会在Rust bug跟踪器上获得更多关注:http://github.com/mozilla/rust/issues