instalar - rvm install ruby
Error al instalar ruby-1.8.7 en Fedora 15 (5)
Usando RVM, intenté instalar ree-1.8.7-2011.03 después de instalar Fedora 15 y obtengo el siguiente error. El uso de rvm install ree-1.8.7-2011.03
en Ubuntu 11.04 funciona bien ...
Mismo error (y solución) con MRI ruby-1.8.7-p334 en Fedora 15.
¿Alguna idea sobre cómo solucionar esto?
make[1]: Entering directory `/home/ryguy/.rvm/src/ree-1.8.7-2011.03/source/ext/dl''
gcc -I/opt/local/include -I. -I/opt/local/include -I../.. -I../../. -I../.././ext/dl -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR -I. -fPIC -g -O2 -fno-defer-pop -fno-omit-frame-pointer -c ptr.c
gcc -I/opt/local/include -I. -I/opt/local/include -I../.. -I../../. -I../.././ext/dl -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR -I. -fPIC -g -O2 -fno-defer-pop -fno-omit-frame-pointer -c handle.c
Generating callback.func
Generating cbtable.func
gcc -I/opt/local/include -I. -I/opt/local/include -I../.. -I../../. -I../.././ext/dl -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR -I. -fPIC -g -O2 -fno-defer-pop -fno-omit-frame-pointer -c dl.c
In file included from dl.c:104:0:
callback.func:1:1: warning: data definition has no type or storage class [enabled by default]
callback.func:1:7: error: expected identifier or ‘(’ before ‘long’
In file included from dl.c:104:0:
callback.func:78:33: error: expected ‘)’ before ‘(’ token
callback.func:79:3: warning: data definition has no type or storage class [enabled by default]
callback.func:79:24: error: ‘proc’ undeclared here (not in a function)
callback.func:79:39: error: ‘argc’ undeclared here (not in a function)
callback.func:79:45: error: ‘argv’ undeclared here (not in a function)
callback.func:82:1: error: expected identifier or ‘(’ before ‘}’ token
dl.c:106:1: error: expected ‘;’, ‘,’ or ‘)’ before ‘static’
make[1]: *** [dl.o] Error 1
make[1]: Leaving directory `/home/ryguy/.rvm/src/ree-1.8.7-2011.03/source/ext/dl''
make: *** [all] Error 1
El parche del usuario 865548 ahora está disponible en RVM (será 1.9.1
o simplemente rvm get head
)
Esto también sucede al instalar ruby-1.8.7 con rvm en Fedora 15.
La respuesta de Reinier Balt también funciona, en mi caso tuve que instalar el sistema de ruby con yum.
Esto es lo que hice:
cd ~/.rvm/src/ruby-1.8.7-p334/ext/dl
ruby mkcallback.rb > callback.func
ruby mkcbtable.rb > cbtable.func
No sé por qué sucede esto, pero parece que la redirección al archivo no redirige completamente la salida. Como un hack / fix temporal, que lo hace funcionar, puede canalizarlo a través del tee. Hace el trabajo, pero ciertamente no es la solución adecuada.
Parche: https://gist.github.com/1083163
Este parche cuando se aplica así: rvm install --patch /path/to/Fedora-15-ruby-1.8.7-p352.patch%0 ruby-1.8.7
funcionará. Lo probaré con ree también y actualizaré.
EDITAR : Este mismo parche también funciona con ree.
rvm install --patch /path/to/Fedora-15-ruby-1.8.76-p352.patch%0 ree
instaló correctamente un rvm install --patch /path/to/Fedora-15-ruby-1.8.76-p352.patch%0 ree
trabajo para mí.
Yo también vi esto
Entré en el directorio src / ext / dl y generé manualmente callback.func y cbtable.func que están ambos incompletos. Tenía que hacer
rm callback.func
touch callback.func
ruby mkcallback.rb >> callback.func
(repetir para cbtable)
De alguna manera el simple ruby mkcallback.rb > callback.func
no funcionó
luego vuelva a ejecutar rvm install 1.8.7
que no sobrescribirá sus cambios.
https://bugs.ruby-lang.org/issues/5108
[[tl; dr: ver parche en la parte inferior]]