La mayoría de las preguntas sobre este problema se deben a la falta de Xcode; Tengo instalado Xcode 4.2.
Intento de instalación:
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 está disponible:
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
Basado en config.log (publicado en la parte inferior debido al tamaño) intenté simular la vinculación de gcc-4.2 a gcc y luego instalar:
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 .
Por lo tanto, probablemente podría tomar gcc en otro lugar, pero me preocupa principalmente por qué sucede esto. ¿No debería ser suficiente instalar Xcode?
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
archivo?Respuestas:
Ruby 1.9.3-p125 y posteriores tienen soporte oficial para clang , por lo que si está instalando una versión de este tipo, no debería necesitar GCC. Si está instalando una versión anterior de Ruby, siga leyendo.
Para compilar Ruby con GCC, necesita una versión de GCC que no sea LLVM, que ya no se incluye con XCode 4.2. Instálelo usted mismo (o cambie a XCode 4.1 temporalmente), luego hágalo
CC=/usr/local/bin/gcc-4.2 rvm install 1.9.3 --enable-shared
(sustituyendo la ruta a su gcc no LLVM).Editar: https://github.com/kennethreitz/osx-gcc-installer/downloads puede ayudar a instalar GCC. También hay información disponible al ejecutar
rvm requirements
.Edición 2: para una solución más fácil, puede intentar agregar
--with-gcc=clang
a los argumentosconfigure
para que Ruby use clang en lugar de GCC.Edición 3 :
rvm install 1.9.3 --with-gcc=clang
hace eso por ti.Nota: Con las versiones actuales de XCode, debe instalar las herramientas de línea de comandos por separado desde el menú XCode -> Preferencias -> Descargas -> Componentes. Este es un requisito previo para realizar cualquier compilación con XCode en la línea de comandos, no solo Ruby.
Nota 2: si algo no funciona después de seguir los pasos, intente reiniciar o volver a iniciar sesión para asegurarse de que el entorno se haya configurado correctamente.
Nota 3: las versiones de Ruby anteriores a 1.9.3-p125 pueden no ser siempre totalmente compatibles con el sonido metálico, por lo tanto, pruebe su software a fondo si usa la solución "editar 3" en un entorno de producción.
fuente
rvm pkg install readline
y pasar un parámetro adicional,rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr
se instaló con éxito.rvm install 1.9.3 --with-gcc=clang
funcionó para mí, pero no es totalmente compatible. También puede usarCC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared
, lo que parece ser mejor compatible. Solíaosx-gcc-installer
obtener 4.2, creo.RESUMEN PARA EL DESBORDAMIENTO DE LA PILA
Intenté instalar SiriProxy en una instalación limpia de Lion en Xcode desde App Store
Seguí recibiendo errores como: El CC proporcionado (/ usr / bin / gcc) está basado en LLVM.
Después de 2 días finalmente lo conseguí trabajando con estas dos líneas:
Antes de eso, había probado todos los artículos de stackoverflow sobre Ruby y Lion, por lo que hacer esto puede haber hecho alguna configuración que ayudó a los 2 pasos anteriores a funcionar:
Las cosas que probé incluyen:
Ejecutar Instalar Xcode.app (lo había descargado de App Store; ejecutar esto hace una instalación posterior)
Instalando
Configurar CC en
más /Users//.bash_profile
La primera línea vino de las instrucciones de instalación de SiriProxy https://github.com/plamoni/SiriProxy
La segunda línea de exportación CC nunca pareció funcionar. Así que no agregues.
Tenía muchas versiones cada señalando que finalmente usé CC = / usr / bin / gcc-4.2 rvm install 1.9.3 --enable-shared
fuente
rvm install 1.9.3 --with-gcc=clang
?rvm get head
de otros usuarios. Esto se extrae de la cabeza del repositorio de git y puede no ser estable.rvm get latest
agarra la última versión estable. Si esto no soluciona este problema,rvm install 1.9.3 --with-gcc=clang
vale la pena intentarlo primero, ya que es menos probable que presente efectos secundariosTrabajó para mi. Esto estaba en un nuevo León con Xcode (no tenía GCC "tradicional").
fuente
OK, no tuve que instalar gcc-4.2 por separado, utilicé el que se entregó en XCode, pero tuve un problema por el que
--with-gcc=clang
no se pasaba. Agregué la siguiente línea a mi.rvmrc
:Trabajó según lo requerido
Tenga en cuenta que mi env es el siguiente
OS
XCode
CCG
Traté de usar la respuesta de pasar
--with-gcc=clang
la línea de comando al comando de actualización de rvm, pero no funcionó, no parecía haber pasado de rvm para configurar. Aparentemente, el problema en RVM de los argumentos que no se pasan a configurar está solucionado (en commit1641ceb0
en 2011), pero incluso después de actualizar RVM a la última (víarvm get latest
) todavía no se pasó. Usar el.rvmrc
archivo era la única forma en que funcionaría para mí.fuente
Edit3: no funciona, intente instalar el gcc por separado desde https://github.com/kennethreitz/osx-gcc-installer/downloads
fuente
Solo respondo aquí porque no puedo votar / comentar sobre el comentario de leandro sobre la pregunta original. Después de pasar días tratando de hacer que esto funcione, su solución fue la que finalmente funcionó para mí:
edit3 no funcionó para mí (Xcode 4.2.1), pero después de instalar readline
y pasando un parámetro extra
Se instaló con éxito.
fuente
Puede intentar instalar Command Line Tools para Xcode , que incluye GCC, LLMV y otras herramientas que se excluyen en Xcode 4.2 y versiones posteriores.
fuente
Voy a sugerir cerveza desde
rvm requirements
que lo ha instalado, mientras que ya he instalado la última versión de Xcode 4.4 (4F250)Y siempre puedes hacer
y luego si es necesario
o cualquier otro programa instalado a través de brew (consulte los documentos para obtener una explicación sobre esos 2 comandos), también puede
en freenode (no #homebrew, creo que es una cerveza casera real y relacionada)
fuente
Solo dígale a configure que use gcc en lugar de gcc-4.2 en Lion (Mac OSX 10.7.2)
Compilando ruby-1.9.3 desde la fuente
Puede ver en su salida de configuración:
Si buscas el
config.log
que ves:Tuve el mismo problema, así que corro
configure
mientras selecciono engcc
lugar degcc-4.2
:(No estoy seguro de cuál es
configure: WARNING: unrecognized options: --with-libyaml-dir
su salida, supongo que lo descubrió).fuente
gcc
agcc-4.2
, que hizo que el comando estuviera disponible, pero reveló el problema subyacente de quegcc
realmente erallvm-gcc
(y no se instaló ningún GCC no LLVM).Descargue y use JewelryBox La GUI oficial de RVM para Mac OS. Dentro de "Agregar Ruby" seleccione su versión de Ruby. Antes de instalar, asegúrese de seleccionar "Usar Clang" tal como lo sugiere la Edición 3 de la respuesta aceptada en este hilo.
fuente
Tengo el mismo problema, ya que estoy usando xcode 4.3.2 y Lion 10.7.3, y cambié mi computadora portátil hace unos días y luego transfiero todo el contenido de la computadora portátil anterior. Aparentemente, algunos binarios no se transfieren, como gcc.
Y luego hice lo siguiente:
fuente
Asegúrate de estar en el último rvm. Usando rvm 1.10.0, ninguno de los anteriores funcionó para mí. Además,
rvm get latest
erróneamente me dijo "¡Ya tienes la última versión!" así que tuve quervm implode
reinstalar rvm (1.15.4), lo que automáticamente me dio ruby 1.9.3-p194 sin problemas.fuente
Para mí, ninguno de los anteriores funcionó tal cual. Lo que finalmente funcionó fue
El truco especial fue eliminar el libsqllite que, según el registro de compilación, no tenía la arquitectura de 64 bits requerida o algo así.
fuente
Una solución más simple y más reciente es usar railsinstaller.org . Tiene osx-gcc empaquetado dentro, por lo que es tan fácil como descargarlo e instalarlo. Después de entrometerme con un nuevo caparazón recientemente, aterricé en mi entorno de rieles. Después de probar muchas de las soluciones anteriores (que anteriormente funcionaba, podría agregar), terminé siguiendo los pasos a continuación para que las cosas funcionen nuevamente:
El instalador se toma un tiempo considerando que instala git, rvm, homebrew y un montón de otras cosas.
fuente
Con brew puedes instalar ruby en una sola línea:
Me salió de la caja en OS X 10.8.4. (Si quieres 2.0, solo corre en su
brew install ruby
lugar)En términos más generales, le
brew search ruby
muestra los diferentes repositorios disponibles, y si desea ser realmente específico, puede usarbrew versions ruby
y verificar una versión específica en su lugar.Es posible que necesite herramientas de xcode y línea de comandos, pero la configuración de brew verificará todo eso por usted.
fuente
Tratar:
fuente