2012-02-15 25 views
5

estoy en Debian y siguiendo las instrucciones de compilación de la roya wiki: https://github.com/mozilla/rust/wiki/Doc-getting-startedno puede compilar Rust

he intentado un par de veces, pero siempre termina con el siguiente error:

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 

Edit:

El problema solo ocurre en un entorno debootstrap/chroot, no dentro de una instalación Debian completa.

+0

Pude haber tenido un problema similar, creo que lo solucioné cambiando mi pitón predeterminada (busque la suya por 'which python') a python2 en lugar de python3 (llvm usa python2 para compilar) – nak

+0

¿Esto todavía sucede? Intenté en un chroot (usando 'systemd-nspawn'), y no pude reproducir. – Tshepang

Respuesta

3

Si se refiere a las siguientes instrucciones:

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

... puedo ver por lo menos una cosa mal con ellos. Tal vez puedas probar:

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

El git submodule update --init es necesario inicializar submódulos de Rust, que incluyen LLVM y libuv.

1

git submodule update no debe ser necesario, ya que el guión configure de Rust intenta manejar eso sí, pero si se ejecuta git submodule status y ve líneas acerca de los cambios a src/libuv o src/llvm, entonces podría ser un problema.

No he visto ese error antes y no puedo decir qué hay de malo en ese fragmento. Posiblemente ejecute make clean-all y luego obtenga la salida completa de ./configure && make, así como los contenidos de config.mk. Además, probablemente obtendrá más atención con esta pregunta en el rastreador de errores de oxidación: http://github.com/mozilla/rust/issues

Cuestiones relacionadas