La compilación de rubí de 32 bits falla en Lion
Pregunta
Estoy tratando de instalar una compilación de rubí de 32 bits en Lion para poder trabajar con Oracle. Sin embargo, no puedo hacer que construya.
Con 1.9.3-p0 esto es lo más lejos que tengo:
linking miniruby
i686-apple-darwin11-gcc-4.2.1: i386: No such file or directory
make: *** [miniruby] Error 1
Mis variables de construcción son las siguientes:
CC = /usr/bin/gcc-4.2
LD = ld
LDSHARED = /usr/bin/gcc-4.2 -dynamic -bundle
CFLAGS = -O3 -ggdb -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 -arch i386 -pipe
XCFLAGS = -include ruby/config.h -include ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT
CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I. -I.ext/include/i386-darwin11.2.0 -I./include -I.
DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace -arch i386
SOLIBS =
Estoy usando la siguiente configuración:
./configure --with-arch=i386 --prefix=/Users/fenris/.rbenv/versions/32-bit
Cualquier ayuda sería apreciada.
Solución
Usando RVM yo mismo pero también probé en RBENV y funcionó para mí:
RBENV compilando 32 bit Ruby-1.9.3-P0
! instalación Libyaml Antes de hacer esto podría ser necesario
Instalación de Libyaml
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
tar -xzf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure --prefix=$HOME/.rbenv/versions/ruby-1.9.3-p0_32bit
make
make install
Instalación de Ruby
cd
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz
tar -xzf ruby-1.9.3-p0.tar.gz
cd ruby-1.9.3-p0
autoconf
./configure --disable-pthread --with-opt-dir=$HOME/.rbenv/versions/ruby-1.9.3-p0_32bit --with-arch=i386 --prefix=$HOME/.rbenv/versions/ruby-1.9.3-p0_32bit
make
make install
RVM compilando 32 bit Ruby-1.9.3-P0
export rvm_archflags='-arch i386'
export rvm_architectures='i386'
export rvm_configure_flags=--target=i686-apple-darwin11
rvm install ruby-1.9.3-p0 --32 --patch osx-arch-fix -n i386
...
Verifique que esté ejecutando un rubí de 32 bits
$ irb
['foo'].pack('p').size
// should return 8 on 64bit and 4 on 32bit.
Otros consejos
Prueba esto si estás usando RVM:
rvm_architectures="i386" CFLAGS=" -arch i386" LDFLAGS=" -arch i386" rvm install 1.9.3-p0
rvm install 1.9.3-p0 --with-gcc=clang
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow