2016-01-03 2 views
1

Я хочу скомпилировать Rust 0.9 на OS X как explained in the documentation. К сожалению, во время настройки он не работает.Невозможно скомпилировать Rust 0.9 на OS X

$ ./configure <--------- fails here 
$ make && make install 

со следующей ошибкой:

configure: CFG_PERL    := /usr/bin/perl 
configure: CFG_CURLORWGET  := /usr/bin/curl (curl 7.43.0 (x86_64-apple-darwin14.0) libcurl/7.43.0 SecureTransport zlib/1.2.5) 
configure: CFG_PYTHON   := /usr/bin/python2.7 
configure: CFG_GIT    := /usr/bin/git (git version 2.3.2 (Apple Git-55)) 
configure: git: no git directory. disabling submodules 
configure: CFG_CLANG   := /usr/bin/clang++ (Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)) 
configure: CFG_CCACHE   := 
configure: CFG_GCC    := /usr/bin/gcc (Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)) 
configure: CFG_LD    := /usr/bin/ld 
configure: on OS X 10.9, forcing use of clang 
configure: 
configure: CFG_ENABLE_CLANG  := 1 
configure: error: bad CLANG version: 3.6.0svn, need >=3.0svn 

Когда я запускаю проверку версии для clang на моей машине, я вижу, что у меня есть более поздняя версия:

~/Downloads/rust-0.10$ clang --version 
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) 
Target: x86_64-apple-darwin14.5.0 

Я что «3.6.0svn» должно удовлетворять «need> = 3.0svn».

+0

Почему ... вы хотите это сделать? Текущая версия Rust - 1.5.0 и содержит ** многочисленные ** улучшения/обновления/исправления ошибок. Это версия, которую должен использовать любой пользователь. – Shepmaster

+0

Кроме того, Rust 0.9 старше двух лет на данный момент ... – Shepmaster

+0

Я пытаюсь запустить код https://github.com/ongardie/availsim/tree/d1f120170d4dc6887b002bfbea8543e7a354dca2 и был разработан против Rust v0 .9. Если я попытаюсь скомпилировать с последними, мне нужно сделать изменения кода сгустка, которые собираются занять больше времени, не будучи ржавчиной ninja – ruslander

ответ

2

Если вы проверяете configure script, вы увидите:

case $LLVM_VERSION in 
    (3.[2-5]*) 
     msg "found ok version of LLVM: $LLVM_VERSION" 
     ;; 
    (*) 
     err "bad LLVM version: $LLVM_VERSION, need >=3.0svn" 
     ;; 
esac 

Это ограничивает версию LLVM. Это возможно вы можете обновить его до 3.6. Однако также возможно, что LLVM достаточно изменился между этими версиями, которые на самом деле не будут правильно связаны.

Rust надлежащим образом начал поддерживать 3,6 в commit 8c3db5bc, 6 месяцев после выпуска Rust 0.9.

Я бы не удивился, если бы вы наткнулись на все более странные сбои сборки; строительный код - это тонкая вещь.

+0

он работал, позволяя компиляторам текущего времени – ruslander