sierra rails mac instalar high ruby compiler-errors osx-lion rvm clang

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