2012-02-15 19 views
5

Sono su Debian e seguendo le istruzioni di compilazione del wiki Rust: https://github.com/mozilla/rust/wiki/Doc-getting-startedImpossibile compilare Rust

ho provato un paio di volte, ma si finisce sempre con il seguente errore:

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 

Modifica:

Il problema si verifica solo in un ambiente debootstrap/chroot, non all'interno di un'installazione Debian completa.

+0

Potrei aver avuto un problema simile, penso di averlo risolto cambiando il mio python predefinito (trova il tuo con 'quale python') in python2 invece di python3 (llvm usa python2 per costruire) – nak

+0

Questo succede ancora? Ho provato in chroot (usando 'systemd-nspawn'), e non ho potuto riprodurre. – Tshepang

risposta

3

Se ti riferisci a queste istruzioni:

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

... posso vedere almeno una cosa di sbagliato con loro. Prova a modificare:

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

Il git submodule update --init è necessario inizializzare sottomoduli di Rust, che comprendono LLVM e libuv.

1

git submodule update non dovrebbe essere necessario, come script di configurazione di Rust cerca di gestire tale sé, ma se si esegue git submodule status e vedere le linee sulle modifiche al src/libuv o src/llvm allora potrebbe essere un problema.

Non ho visto che l'errore prima e non si può dire cosa c'è che non va da questo snippet. È possibile eseguire make clean-all quindi visualizzare l'output completo di ./configure && make, nonché i contenuti di config.mk. Inoltre, probabilmente riceverai più attenzione con questa domanda sul tracker della ruggine: http://github.com/mozilla/rust/issues