rails - No se puede compilar ruby 1.9.3
rvm install ruby mac (5)
Cuando corro
rvm install 1.9.3 --with-gcc=clang
en Mac OSX Lion, ruby no compila, y recibo el siguiente error en (.rvm / log / ruby-1.9.3-p374 / make.log)
[2013-01-29 16:31:05] make
CC = clang
LD = ld
LDSHARED = clang -dynamic -bundle
CFLAGS = -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration -pipe
XCFLAGS = -include ruby/config.h -include ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT
CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/Users/will/.rvm/usr/include -I. -I.ext/include/x86_64-darwin12.2.1 -I./include -I.
DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace
SOLIBS =
compiling regparse.c
regparse.c:582:15: error: implicit conversion loses integer precision: ''st_index_t'' (aka ''unsigned long'') to ''int'' [-Werror,-Wshorten-64-to-32]
return t->num_entries;
~~~~~~ ~~~^~~~~~~~~~~
1 error generated.
make: *** [regparse.o] Error 1
¿Cómo puedo obtener ruby 1.9.3 para instalar en Lion?
Con Xcode 4.6 también estaba teniendo este problema. Instalé las herramientas de línea de comandos que hicieron que gcc estuviera disponible en / usr / bin / gcc.
Me las arreglé para hacerlo funcionar usando:
rvm install 1.9.3 --with-gcc=gcc
NÓTESE BIEN. No tengo instalado homebrew.
Resolví esto utilizando Macports.
Tuve problemas para compilar y obtuve el error " Ruby ''ruby-1.9.3-p374'' fue creado con un chisme, pero no está (totalmente) soportado, espera errores " .
Github también estuvo fuera de servicio por lo que no pude intentar compilar usando brew como se sugirió en la respuesta anterior ... Esto es lo que hice, y se compiló bien en Mountain Lion 10.8.2:
Primero instale Macports
http://www.macports.org/install.php
Entonces corre:
sudo port selfupdate
puerto sudo instalar apple-gcc42
sudo rvm install ruby-1.9.3-p374 --with-gcc = gcc-apple-4.2
Si está utilizando rbenv y ruby-build en lugar de rvm, debe definir qué compilador se debe usar para construir ruby:
# this export must be done before every new ruby build
export CC=gcc
# use the version you wish to install
rbenv install 1.9.3-p385
Si no funciona, primero debes instalar Gnu C Compiler (gcc):
brew update
brew tap homebrew/dupes
# install gcc, only once needed
brew install gcc
# You can view the installed GCC version, currently gcc-8
brew info gcc
# Maybe you have to tell, which gcc version must be used,
# to get it working.
export CC=gcc-8
Para sistemas más antiguos o sistemas no actualizados, instale la versión anterior de GCC 4.2:
brew update
brew tap homebrew/dupes
# install apple-gcc, only once needed
brew install apple-gcc42
# Maybe you have to tell, which gcc version must be used,
# to get it working on newer systems
export CC=gcc-4.2
Hasta que la gente de ruby cree una versión de ruby compatible con clang, debe exportar la variable CC antes de cada compilación de una nueva versión de ruby o simplemente agregar la exportación a su archivo .bashrc oder .zshenv.
Si no tiene rvm ya instalado, los requisitos de rvm no funcionarán. Instale gcc 4.2 con homebrew y reinicie la instalación de rvm. Trabajó para mi.
brew update
brew tap homebrew/dupes
brew install apple-gcc42
está usando clang
, de acuerdo con este ticket http://bugs.ruby-lang.org/issues/5883 - no está "totalmente" soportado - debe intentar usar gcc-4.2
, obtiene instrucciones para homebrew con los rvm requirements
ejecución .
Aquí está el ticket RVM para este problema https://github.com/wayneeseguin/rvm/issues/1480
ACTUALIZACIÓN: Ruby-2.0.0 en realidad compila mejor con clang
luego con gcc-4.2
, más detalles aquí: https://.com/a/15655034/497756