2015-03-13 13 views
7

Właśnie zainstalowałem Rust na moim Macu i rustc --version --verbose wyświetlaczeCould not exec Łącznikiem `błąd cc` podczas uruchamiania "zbudować cargo"

rustc 1.0.0-nightly (91bdf23f5 2015-03-09) (built 2015-03-08) 
binary: rustc 
commit-hash: 91bdf23f504f79ed59617cde3dfebd3d5e39a476 
commit-date: 2015-03-09 
build-date: 2015-03-08 
host: x86_64-apple-darwin 
release: 1.0.0-nightly 

I sklonowany kilka repozytoriów (postgres-extension i erlang-rust-nif) i pobiegł na cargo build obaj. Zarówno zgłosił błąd

error: could not exec the linker `cc`: No such file or directory (os error 2) 
error: aborting due to previous error 

Dodatkowo, nie był w stanie skompilować prosty plik Rust drukowania "hello world" użyciu rustc. Mogłem je skompilować tylko przekazując flagi rustc -C linker=gcc hello_world.rs.

clang --version wyświetlacze

clang version 3.4.2 (http://llvm.org/git/llvm.git 5c6aa738fb3325ae499454877f1e2926d2368135) 
Target: x86_64-apple-darwin12.2.1 
Thread model: posix 

gcc --version wyświetla

gcc (Homebrew gcc49 4.9.2_1) 4.9.2 
+0

Co zwraca 'który kod cc'? –

+0

Obecnie mam 'alias' w moim' .bash_profile' jako 'alias cc = gcc'. Dlatego nic nie zwraca. – abips

Odpowiedz

7

Wygląda zainstalowaniu gcc i LLVM/szczęk poprzez Homebrew. Po sprawdzeniu shared OS X configurations linker przyjmuje domyślną wartość cc. Mam zainstalowany OS X narzędzi programistycznych:

$ clang --version 
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn) 
Target: x86_64-apple-darwin13.4.0 
Thread model: posix 

$ gcc --version 
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn) 
Target: x86_64-apple-darwin13.4.0 
Thread model: posix 

$ cc --version 
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn) 
Target: x86_64-apple-darwin13.4.0 
Thread model: posix 

To jest coś, co potencjalnie mogłoby Rust sam naprawić, ale trzeba złożyć wniosek bug report/powiększenia. Możliwe, że będziesz w stanie obejść ten problem przez dowiązanie symbolicznego clang jako cc, zamiast tylko go aliasingować, ponieważ aliasy prawdopodobnie nie istnieją w środowisku, z którego wywołuje Rust.

+1

Zainstalowałem 'llvm' i' gcc' przez Narzędzia wiersza poleceń systemu OSX i wszystko działało bez zarzutu. – abips

+1

Tak jak @abips w OSX, zainstalowałem gcc w LInux i rozwiązało to problem. –

+0

Dla potomności problem został rozwiązany na debian przez 'sudo apt-get install gcc' – Aaron3468