Większość pytań dotyczących tego problemu wynika z braku Xcode; Mam zainstalowany Xcode 4.2.
Próba instalacji:
rvm install 1.9.3
Installing Ruby from source to: /Users/jamie/.rvm/rubies/ruby-1.9.3-p0, this may take a while depending on your cpu(s)...
ruby-1.9.3-p0 - #fetching
ruby-1.9.3-p0 - #extracted to /Users/jamie/.rvm/src/ruby-1.9.3-p0 (already extracted)
Fetching yaml-0.1.4.tar.gz to /Users/jamie/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /Users/jamie/.rvm/src
Configuring yaml in /Users/jamie/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/jamie/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/jamie/.rvm/usr
ruby-1.9.3-p0 - #configuring
ERROR: Error running ' ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr ', please read /Users/jamie/.rvm/log/ruby-1.9.3-p0/configure.log
ERROR: There has been an error while running configure. Halting the installation.
configure.log:
[2011-11-07 04:32:17] ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr
configure: WARNING: unrecognized options: --with-libyaml-dir
checking build system type... x86_64-apple-darwin11.2.0
checking host system type... x86_64-apple-darwin11.2.0
checking target system type... x86_64-apple-darwin11.2.0
checking whether the C compiler works... no
configure: error: in `/Users/jamie/.rvm/src/ruby-1.9.3-p0':
configure: error: C compiler cannot create executables
See `config.log' for more details
GCC jest dostępny:
gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/src/configure --disable-checking --enable-werror --prefix=/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
ls /usr/bin | grep gcc
gcc
i686-apple-darwin11-llvm-gcc-4.2
llvm-gcc
llvm-gcc-4.2
Na podstawie config.log (opublikowanego na dole ze względu na rozmiar) próbowałem dowiązać symbolicznie gcc-4.2 do gcc, a następnie zainstalować:
rvm install 1.9.3
ERROR: The autodetected CC(/usr/bin/gcc-4.2) is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`, and set CC=/path/to/gcc .
Więc prawdopodobnie mógłbym po prostu zdobyć gcc gdzie indziej, ale jestem głównie zaniepokojony, dlaczego tak się dzieje. Czy instalacja Xcode nie powinna wystarczyć?
config.log:
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by configure, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr
## --------- ##
## Platform. ##
## --------- ##
hostname = Wilson.local
uname -m = x86_64
uname -r = 11.2.0
uname -s = Darwin
uname -v = Darwin Kernel Version 11.2.0: Tue Aug 9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64
/usr/bin/uname -p = i386
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = Mach kernel version:
Darwin Kernel Version 11.2.0: Tue Aug 9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64
Kernel configured for up to 4 processors.
4 processors are physically available.
4 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1 2 3
Primary memory available: 8.00 gigabytes
Default processor set: 110 tasks, 546 threads, 4 processors
Load average: 1.28, Mach factor: 2.71
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /Users/jamie/.rvm/usr/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/sbin
PATH: /sbin
PATH: /usr/local/bin
PATH: /usr/X11/bin
PATH: /Users/jamie/bin
PATH: /Users/jamie/.rvm/bin
PATH: /Users/jamie/.rvm/bin
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2764: checking build system type
configure:2778: result: x86_64-apple-darwin11.2.0
configure:2849: checking host system type
configure:2862: result: x86_64-apple-darwin11.2.0
configure:2882: checking target system type
configure:2895: result: x86_64-apple-darwin11.2.0
configure:3376: checking for C compiler version
configure:3385: gcc-4.2 --version >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3385: gcc-4.2 -v >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3385: gcc-4.2 -V >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3385: gcc-4.2 -qversion >&5
./configure: line 3387: gcc-4.2: command not found
configure:3396: $? = 127
configure:3416: checking whether the C compiler works
configure:3438: gcc-4.2 conftest.c >&5
./configure: line 3440: gcc-4.2: command not found
configure:3442: $? = 127
configure:3480: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define CANONICALIZATION_FOR_MATHN 1
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:3485: error: in `/Users/jamie/.rvm/src/ruby-1.9.3-p0':
configure:3487: error: C compiler cannot create executables
See `config.log' for more details
## ---------------- ##
## Cache variables. ##
## ---------------- ##
ac_cv_build=x86_64-apple-darwin11.2.0
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=x86_64-apple-darwin11.2.0
ac_cv_prog_CC=gcc-4.2
ac_cv_target=x86_64-apple-darwin11.2.0
## ----------------- ##
## Output variables. ##
## ----------------- ##
ALLOCA=''
AR=''
ARCHFILE=''
ARCH_FLAG=''
AS=''
ASFLAGS=''
BASERUBY='ruby'
BUILTIN_ENCOBJS=''
BUILTIN_TRANSOBJS=''
BUILTIN_TRANSSRCS=''
CAPITARGET=''
CC='gcc-4.2'
CCDLFLAGS=''
CFLAGS=''
CHDIR=''
COMMON_HEADERS=''
COMMON_LIBS=''
COMMON_MACROS=''
COUTFLAG=''
CP=''
CPP=''
CPPFLAGS=''
CPPOUTFILE=''
CXX='g++-4.2'
CXXFLAGS=''
DEFS=''
DLDFLAGS=''
DLDLIBS=''
DLEXT2=''
DLEXT=''
DLLWRAP=''
DOT=''
DOXYGEN=''
ECHO_C='\c'
ECHO_N=''
ECHO_T=''
EGREP=''
ENABLE_SHARED=''
EXECUTABLE_EXTS=''
EXEEXT=''
EXPORT_PREFIX=''
EXTOUT=''
EXTSTATIC=''
GCC=''
GNU_LD=''
GREP=''
INSTALLDOC=''
INSTALL_DATA=''
INSTALL_PROGRAM=''
INSTALL_SCRIPT=''
LDFLAGS=''
LDSHARED=''
LDSHAREDXX=''
LIBEXT=''
LIBOBJS=''
LIBPATHENV=''
LIBPATHFLAG=''
LIBRUBY=''
LIBRUBYARG=''
LIBRUBYARG_SHARED=''
LIBRUBYARG_STATIC=''
LIBRUBY_A=''
LIBRUBY_ALIASES=''
LIBRUBY_DLDFLAGS=''
LIBRUBY_LDSHARED=''
LIBRUBY_RELATIVE=''
LIBRUBY_SO=''
LIBS=''
LINK_SO=''
LN_S=''
LTLIBOBJS=''
MAINLIBS=''
MAJOR='1'
MAKEDIRS=''
MAKEFILES=''
MANTYPE=''
MINIOBJS=''
MINIRUBY=''
MINOR='9'
MKDIR_P=''
NM=''
NROFF=''
NULLCMD=''
OBJCOPY=''
OBJDUMP=''
OBJEXT=''
OUTFLAG=''
PACKAGE=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_URL=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PKG_CONFIG=''
PREP=''
RANLIB=''
RDOCTARGET=''
RI_BASE_NAME=''
RM=''
RMALL=''
RMDIR=''
RMDIRS=''
RPATHFLAG=''
RUBYW_BASE_NAME='rubyw'
RUBYW_INSTALL_NAME=''
RUBY_BASE_NAME='ruby'
RUBY_INSTALL_NAME=''
RUBY_PROGRAM_VERSION='1.9.3'
RUBY_RELEASE_DATE='2011-10-30'
RUBY_SO_NAME=''
RUNRUBY=''
SET_MAKE=''
SHELL='/bin/sh'
SOLIBS=''
STATIC=''
STRIP=''
SYMBOL_PREFIX=''
TEENY='1'
TEST_RUNNABLE=''
THREAD_MODEL=''
TRY_LINK=''
UNIVERSAL_ARCHNAMES=''
UNIVERSAL_INTS=''
USE_RUBYGEMS=''
WERRORFLAG=''
WINDRES=''
XCFLAGS=''
XLDFLAGS=''
XRUBY=''
XRUBY_LIBDIR=''
XRUBY_RUBYHDRDIR=''
XRUBY_RUBYLIBDIR=''
ac_ct_CC=''
ac_ct_CXX=''
ac_ct_OBJCOPY=''
ac_ct_OBJDUMP=''
arch=''
bindir='${exec_prefix}/bin'
build='x86_64-apple-darwin11.2.0'
build_alias=''
build_cpu='x86_64'
build_os='darwin11.2.0'
build_vendor='apple'
cflags=' ${optflags} ${debugflags} ${warnflags}'
configure_args=''
cppflags=''
cxxflags=' ${optflags} ${debugflags} ${warnflags}'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
debugflags=''
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec=''
exec_prefix='NONE'
host='x86_64-apple-darwin11.2.0'
host_alias=''
host_cpu='x86_64'
host_os='darwin11.2.0'
host_vendor='apple'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
oldincludedir='/usr/include'
optflags=''
pdfdir='${docdir}'
prefix='/Users/jamie/.rvm/rubies/ruby-1.9.3-p0'
program_transform_name='s&^&&'
psdir='${docdir}'
ridir=''
ruby_pc=''
ruby_version=''
rubyhdrdir=''
rubylibprefix=''
rubyw_install_name=''
sbindir='${exec_prefix}/sbin'
setup=''
sharedstatedir='${prefix}/com'
sitearch=''
sitedir=''
sitehdrdir=''
sysconfdir='${prefix}/etc'
target='x86_64-apple-darwin11.2.0'
target_alias=''
target_cpu='x86_64'
target_os='darwin11.2.0'
target_vendor='apple'
try_header=''
vendordir=''
vendorhdrdir=''
warnflags=''
## ----------- ##
## confdefs.h. ##
## ----------- ##
/* confdefs.h */
#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define CANONICALIZATION_FOR_MATHN 1
configure: exit 77
CC=/usr/bin/gcc
?config.log
pliku?Odpowiedzi:
Ruby 1.9.3-p125 i nowsze mają oficjalną obsługę clang , więc jeśli instalujesz taką wersję, nie potrzebujesz GCC. Jeśli instalujesz starszą wersję Ruby, czytaj dalej.
Aby skompilować Ruby z GCC, potrzebujesz wersji GCC innej niż LLVM, która nie jest już dołączona do XCode 4.2. Zainstaluj go samodzielnie (lub tymczasowo zmień wersję na XCode 4.1), a następnie zrób
CC=/usr/local/bin/gcc-4.2 rvm install 1.9.3 --enable-shared
(zastępując ścieżkę do gcc spoza LLVM).Edycja: https://github.com/kennethreitz/osx-gcc-installer/downloads może pomóc w instalacji GCC. Istnieje również kilka informacji dostępnych po uruchomieniu
rvm requirements
.Edycja 2: Dla łatwiejszego rozwiązania możesz spróbować dodać
--with-gcc=clang
argumenty, abyconfigure
Ruby używała clang zamiast GCC.Edycja 3 :
rvm install 1.9.3 --with-gcc=clang
robi to za Ciebie.Uwaga: W aktualnych wersjach XCode narzędzia do wiersza poleceń należy instalować oddzielnie od menu XCode -> Preferencje -> Pobieranie -> Składniki. Jest to warunek wstępny wykonywania jakiejkolwiek kompilacji z XCode w wierszu poleceń, nie tylko Ruby.
Uwaga 2: Jeśli coś nie działa po wykonaniu tych kroków, spróbuj ponownie uruchomić komputer lub ponownie się zalogować, aby upewnić się, że środowisko zostało ustawione poprawnie.
Uwaga 3: Wersje Ruby starsze niż 1.9.3-p125 nie zawsze są w pełni kompatybilne z clang, więc dokładnie przetestuj swoje oprogramowanie, jeśli używasz rozwiązania „edit 3” w środowisku produkcyjnym.
źródło
rvm pkg install readline
i przekazaniu dodatkowego parametrurvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr
został zainstalowany pomyślnie.rvm install 1.9.3 --with-gcc=clang
działało dla mnie, ale nie jest w pełni obsługiwane. Możesz także użyćCC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared
, która wydaje się lepiej obsługiwana. Wydaje mi się, że kiedyśosx-gcc-installer
dostawałem 4.2.PODSUMOWANIE PRZEPŁYWU STOSOWANIA
Próbowałem zainstalować SiriProxy na czystej instalacji Lion na Xcode z App Store
Wciąż pojawiały się błędy, takie jak: Dostarczone CC (/ usr / bin / gcc) jest oparte na LLVM.
Po 2 dniach w końcu zaczęło działać z tymi dwiema liniami:
Wcześniej wypróbowałem każdy artykuł dotyczący przepełnienia stosu na temat Ruby i Lion, więc wykonanie tych czynności mogło pomóc w konfiguracji, która pomogła w wykonaniu powyższych 2 kroków:
Rzeczy, które próbowałem, to:
Uruchamianie Instaluj Xcode.app (pobrałem z App Store - uruchomienie to powoduje późniejszą instalację)
Instalowanie
Skonfiguruj CC w
więcej /Users//.bash_profile
Pierwsza linia pochodzi z instrukcji instalacji SiriProxy https://github.com/plamoni/SiriProxy
Wydaje się, że CC z 2. linii nie działa. Więc nie dodawaj.
Miał wiele wersji, z których każda wskazywała, że w końcu użyłem CC = / usr / bin / gcc-4.2 rvm install 1.9.3 - enable-shared
źródło
rvm install 1.9.3 --with-gcc=clang
?rvm get head
innym użytkownikom. Ściąga to z głowy repozytorium git i może nie być stabilne.rvm get latest
pobiera najnowszą stabilną wersję. Jeśli to nie rozwiąże problemu,rvm install 1.9.3 --with-gcc=clang
warto najpierw spróbować, ponieważ mniej prawdopodobne jest wystąpienie skutków ubocznychPracował dla mnie. To było na nowym Lwie z Xcode (nie miał „tradycyjnego” GCC).
źródło
OK, nie musiałem instalować gcc-4.2 osobno, użyłem tego dostarczonego w XCode, ale miałem problem polegający na tym, że nie mogłem
--with-gcc=clang
przejść. Dodano następujący wiersz do mojego.rvmrc
:Działa zgodnie z wymaganiami
Uwaga moja env jest następująca
OS
XCode
GCC
Próbowałem użyć odpowiedzi polegającej
--with-gcc=clang
na przekazaniu wiersza polecenia do polecenia uaktualnienia rvm, ale to nie zadziałało, nie udało się go przekazać z rvm do skonfigurowania. Najwyraźniej problem w RVM argumentów nieprzekazywanych do skonfigurowania jest naprawiony (w zatwierdzeniu1641ceb0
w 2011 r.), Ale nawet po aktualizacji RVM do najnowszej (przezrvm get latest
) nadal nie został przekazany. Używanie.rvmrc
pliku było jedynym sposobem, w jaki działałoby dla mnie.źródło
Edycja3: nie działa, spróbuj zainstalować gcc oddzielnie od https://github.com/kennethreitz/osx-gcc-installer/downloads
źródło
Odpowiadam tylko tutaj, ponieważ nie mogę głosować / komentować komentarza Leandro do pierwotnego pytania. Po kilku dniach próbowania, aby to zadziałało, jego rozwiązanie było tym, które w końcu sprawiło, że zadziałało :
edit3 nie działało dla mnie (Xcode 4.2.1), ale po zainstalowaniu readline
i przekazanie dodatkowego parametru
zostało pomyślnie zainstalowane.
źródło
Możesz spróbować zainstalować Narzędzia wiersza polecenia dla Xcode , zawiera ono GCC, LLMV i inne narzędzia, które zostały wyłączone z Xcode 4.2 i wyższych.
źródło
Zasugeruję napar z
rvm requirements
zainstalowałem go, gdy już zainstalowałem najnowszą wersję Xcode 4.4 (4F250)I zawsze możesz to zrobić
a następnie w razie potrzeby
lub jakikolwiek inny zainstalowany program poprzez brew (wyjaśnienia dotyczące tych 2 poleceń znajdziesz w dokumentacji), również możesz
na freenode (nie #homebrew Myślę, że to prawdziwe piwo homebrew i podobne)
źródło
Po prostu powiedz configure, aby używał gcc zamiast gcc-4.2 na Lionie (Mac OSX 10.7.2)
Kompilowanie ruby-1.9.3 ze źródła
Możesz zobaczyć w wynikach konfiguracji:
Jeśli szukasz
config.log
, zobaczysz:Miałem ten sam problem, więc uruchamiam
configure
, wybierającgcc
zamiastgcc-4.2
:(Nie jestem pewien, co jest
configure: WARNING: unrecognized options: --with-libyaml-dir
w twoich wynikach Myślę, że wymyśliłeś to?)źródło
gcc
dogcc-4.2
, który wydał polecenie dostępne, ale ujawnił podstawowy problem, że ichgcc
było rzeczywiściellvm-gcc
(a nie non-LLVM GCC został zainstalowany).Pobierz i używaj JewelryBox Oficjalny GUI RVM dla Mac OS. Wewnątrz „Dodaj Ruby” wybierz swoją wersję Ruby. Przed instalacją upewnij się, że wybierasz „Użyj Clang”, tak jak sugeruje to Edycja 3 zaakceptowanej odpowiedzi w tym wątku.
źródło
Mam ten sam problem, ponieważ używam xcode 4.3.2 i Lion 10.7.3 i zmieniłem laptopa kilka dni temu, a następnie przesłałem całą zawartość ze starego laptopa. Najwyraźniej niektóre pliki binarne nie mogą zostać przeniesione, na przykład gcc.
I wtedy zrobiłem następujące:
źródło
Upewnij się, że korzystasz z najnowszej wersji RVM. Używając rvm 1.10.0 żadne z powyższych nie działało dla mnie. Co więcej,
rvm get latest
błędnie powiedział mi „Masz już najnowszą wersję!” więc musiałemrvm implode
ponownie zainstalować Rvm (1.15.4), co automatycznie dało mi ruby 1.9.3-p194 bez żadnych problemów.źródło
Dla mnie żadne z powyższych nie działało w obecnej formie. W końcu zadziałało
Specjalną sztuczką było usunięcie biblioteki libsqllite, która zgodnie z dziennikiem kompilacji nie miała wymaganej 64-bitowej architektury lub czegoś takiego.
źródło
Nowszym prostszym rozwiązaniem jest po prostu użycie railsinstaller.org . Zawiera w sobie osx-gcc, więc jest to tak proste, jak pobranie i instalacja. Niedawno wtrącając się w nową powłokę, wylądowałem, psując środowisko szyn. Po wypróbowaniu wielu powyższych rozwiązań (które wcześniej działały, mógłbym dodać), wylądowałem zgodnie z poniższymi krokami, aby przywrócić działanie:
Instalator zajmuje trochę czasu, biorąc pod uwagę, że instaluje git, rvm, homebrew i kilka innych dodatków.
źródło
Za pomocą naparu możesz zainstalować rubin w jednej linijce:
Działa dla mnie od razu z systemu OS X 10.8.4. (Jeśli chcesz 2.0, po prostu uruchom
brew install ruby
zamiast tego)Mówiąc bardziej ogólnie,
brew search ruby
pokazuje różne dostępne repozytoria, a jeśli chcesz być naprawdę konkretny, możeszbrew versions ruby
zamiast tego użyć i sprawdzić konkretną wersję.Możesz potrzebować xcode i narzędzi wiersza poleceń, ale konfiguracja brew sprawdzi to wszystko za ciebie.
źródło
Próbować:
źródło