7

我在 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 安装中。

4

2 回答 2

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。

于 2012-02-15T18:35:44.513 回答
1

git submodule update应该不需要,因为 Rust 的配置脚本试图自己处理它,但是如果你运行git submodule status并看到有关更改的行,src/libuv或者src/llvm它可能是一个问题。

我以前没有看到过这个错误,也无法从那个片段中看出什么问题。可能运行make clean-all然后 gist 的完整输出./configure && make,以及 config.mk 的内容。此外,你可能会在 rust bug tracker 上得到更多关注:http: //github.com/mozilla/rust/issues

于 2012-02-15T20:32:51.257 回答