2012-03-11 7 views
19

Używam RVM, aby go zainstalować, a to daje mi ten błąd:Wydanie aktualizacji Ruby na Mac z Xcode 4.3.1

The provided compiler '/usr/bin/gcc' is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`. 

jestem na Lion 10.7.3 i mam Xcode 4.3.1 .

+0

Najnowsza wersja Ruby obsługuje LLVM. Przynajmniej na moim Macu. –

+0

Tak, ale próbuję zainstalować nową wersję z rvm. – xivo

+0

Niestety, najnowsze LLVM nie działają dobrze z Ruby. Mam zamiar napisać odpowiedź na to .. – shigeya

Odpowiedz

41

Krótka odpowiedź: można pobrać gałąź master RVM (nie jest stabilna), aby zbudować ją z LLVM (nie gcc, początkowo błędnie wpisano). Ma odpowiednie łatki do uruchomienia 1.9.3-p125 (przynajmniej lepszego) z Xcode 4.3.1 domyślnie. Dostarczyłem łatkę. Jeśli zainstalowałeś już RVM, rvm get head zainstaluje główny oddział. Dzięki narzędziom wiersza poleceń zainstalowanym z Xcode 4.3.1, możesz z powodzeniem zainstalować Ruby 1.9.3-p125.

Tło

To zdarzyć z powodu prostej kwestii konfiguracji Ruby 1.9.3-P125, że nie pozwalają na dynamiczne moduły Link do pracy. Dzieje się tak, jeśli używasz Xcode 4.3.x (Ruby Issue#6080).

Ten numer usunięto w change set r34840.

RVM ma system łatek, który zapewnia wersję per-version. Ta poprawka jest zawarta w RVM (gałąź master na razie), a teraz domyślna dla kroków konfiguracji p125.

Xcode 4.3.x Command Line Narzędzie

Po pierwsze, z Xcode 4.3.x, trzeba zainstalować narzędzie wiersza poleceń Po zainstalowaniu Xcode 4.3.x, o następujących kierunkach: 1) Wodowanie Xcode, 2) Otwórz "Preferencje" z elementu "Xcode" na pasku menu. 3) Wybierz zakładkę "Downloads" (ikona). 4) Kliknij przycisk „Install” przycisk „Narzędzia wiersza komend” (kierunki pożyczonych od mojego przyjaciela miejscu here)

Jeśli Xcode 4.3.1 jest zainstalowany poprawnie, a następnie cc --version powinny emitował:

% cc --version 
Apple clang version 3.1 (tags/Apple/clang-318.0.54) (based on LLVM 3.1svn) 
Target: x86_64-apple-darwin11.3.0 
Thread model: posix 

autoconf i automake

Potrzebujesz autoconf i automake, ponieważ Xcode 4.3.x ich nie ma. Zainstalować je zarówno brew lub MacPorts. Z MacPorts:

sudo port install autoconf automake 

Zalecany krok instalacja z RVM

Następnie, aby zainstalować konkretną gałąź RVM można:

REPO=wayneeseguin 
BRANCH=master # stable for the stable branch 
curl -s https://raw.github.com/${REPO}/rvm/${BRANCH}/binscripts/rvm-installer > /tmp/rvm-installer.sh 
bash /tmp/rvm-installer.sh --branch ${REPO}/${BRANCH} 

Lub jeśli RVM jest już zainstalowane:

rvm get head # master branch, for stable branch "rvm get stable" 

Następnie zainstaluj openssl, iconv i readline za pomocą polecenia rvm pkg, aby uzyskać najlepszy wynik. Obserwuję ostatnio. Część tego może wymagać włączenia do RVM ..

rvm pkg install openssl 
rvm pkg install readline # if you prefer GNU readline 

Następnie, nareszcie, zainstaluj Ruby.

rvm install 1.9.3-p125 --patch xcode-debugopt-fix-r34840.diff --with-readline-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr --with-tcl-lib=/usr --with-tk-lib=/usr 

Pomoc rvm pkg polecam inny parametr, pomoc jest zepsuta. Więc użyj powyżej na teraz. Musisz mieć parametry tcl/tk, jeśli masz je przez MacPorts (jak ja).

Przy okazji, możliwe jest zainstalowanie starego Xcode, a następnie uruchomienie rvm z export CC="gcc-4.2" rvm install 1.9.3-p125, ale ja osobiście uważam, że klang (LLVM) jest drogą do wyjścia na przyszłość, jeśli to możliwe.

Mam nadzieję, że to pomoże.

Dodatkowa uwaga na 2012/3/31

iconv nie trzeba instalować, również dodane wymagania autoconf/automake dla wyjaśnienia.

Dodatkowa uwaga na 2012/4/13

najnowszej stabilnej nie obejmuje poprawki wymagają dynamicznego link działa domyślnie. należy dodać --patch xcode-debugopt-fix-r34840.diff podczas budowania wersji 1.9.3-p125.

+0

Próbowałem już zainstalować p125, ale pojawia się ten problem: Błąd podczas uruchamiania "make", przeczytaj /Users/****/.rvm/log/ruby-1.9.3-p125/make.log wystąpił błąd podczas uruchamiania make. Zatrzymanie instalacji. – xivo

+0

Myślę, że różni się od powyższego problemu. Pozwól mi dodać, jak buduję ostatnio ... – shigeya

+0

Tak, jestem trochę nowy, ale nie jestem całkiem pewien, co mam tutaj zrobić z tym. – xivo

3

Myślę, że ludzie są zdezorientowani, że każdy pisze

rvm get head 
rvm get stable 

Zamiast tego należy tylko napisać

rvm get head 

inaczej to nie zadziała (od stabilny nie ma jeszcze odpowiednich łatek).

+0

Dobrze. Zmienię to. Dziękuję Ci. – shigeya

0

Mam zainstalowany i przetestowany z następujących powodów podobnych do powyższych sugestii. Jednak po prostu odinstalowałem wszystko i zrobiłem podstawową instalację dla wszystkich tych. Jedynym wyjątkiem było to, że zamiast używać okna dialogowego preferencji xcode do zainstalowania narzędzi wiersza poleceń (które mi się nie powiodło). Jabłko pisał samodzielnym których użyłem w punkcie 2.)

  1. pobrać i zainstalować Xcode 4.3.2
  2. pobrać i zainstalować Command Line Tools for Xcode późno marca 2012
  3. Set Xcode ścieżka $ Xcode-select -switch /Application/xcode.app/Content/Developer
  4. Zainstaluj Homebrew, a następnie zainstaluj git, autoconf, automake, libyaml, libksba, wget przez Brew.
  5. Install RVM upewnić się, że jest ustawiony w ty shell
  6. RVM zainstalować Ruby-1.9.3-P125

Są tam artykuły zalecające to dla Ruby> = 1.9.3 i to wszystko co mam przetestowane i obecnie używane. Zainstalowałem i używam mysql2, sqlite i zwykłego podejrzanego (GEM) Wszyscy skompilowali i przekazali kilka moich podstawowych testów.

Mam nadzieję, że to pomoże.

+0

Możesz zainstalować z powyższym krokiem, ale niektóre z modułów dynamicznego link nie działa bez stosowania poprawki po p125. Zobacz odniesienie w mojej odpowiedzi. – shigeya

11

Od RVM 1.10.2 wszystko, co potrzebne jest, aby zainstalować pakiet apple-gcc42homebrew i wszystko będzie "Tak działa (TM)":

brew tap homebrew/dupes ; brew install apple-gcc42 ; rvm install ruby-1.9.2

Ciao!

[aktualizowany w oparciu o komentarzach poniżej]

+1

Po prostu chciałem dodać, apple-gcc42 znajduje się w repozytorium duplikatów homebrew, a nie w standardowej instalacji homebrew. https: // github.com/Homebrew/homebrew-dupes/ – danivovich

+0

Oznacza to, że polecenie powinno być 'brew install https: // raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb' Następnie uruchom' CC =/usr /local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 rvm install ruby-1.9.2-p320' gdzie flagi CC zawierają ścieżkę do twojego kompilatora. – Hengjie

+0

Nie potrzebujesz linii CC, ponieważ działa ona "automagicznie" w najnowszej wersji RVM. Zaktualizowałem swoją odpowiedź, aby dodać rzeczy typu "dupes". –

1

Miałem też problem z Ruby-1.9.3-P125, tutaj jest to, co zrobiłem, nadzieję, że może komuś pomóc w dół linię.

rvm install ruby-1.9.3-p194

i sprawdził, że nowa Ruby zainstalowany

rvm list

ruby-1.9.2-p318 [ x86_64 ] 
ruby-1.9.3-p125 [ x86_64 ] I want to remove this one 
ruby-1.9.3-p194 [ x86_64 ] I want to use this one 

Następnie usunięto starą wersję rubinowy

rvm remove ruby-1.9.3-p125

i ustawić nowy ruby ​​ruby-1.9.3 -p194 do użytku i instalacji klejnotów

rvm use ruby-1.9.3-p194

bundle install

Powiązane problemy