Estoy actualizando Discourse de la versión 1.9.6 a la 2.1.6 y no puedo completar la instalación de bundle. Estoy utilizando Docker (Ubuntu 16.04) como imagen base para construir Discourse. Versión de Ruby 2.3.0. Al llegar a la instalación de bundle, obtengo el siguiente error de compilación. ¡Ayuda urgente! No estoy seguro de qué más me falta…
==============================
Gem::Ext::BuildError: ERROR: Error al compilar la extensión nativa del gem.
directorio actual:
/usr/local/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/mini_racer-0.2.0/ext/mini_racer_extension
/usr/local/rbenv/versions/2.3.0/bin/ruby -r ./siteconf20190111-14622-1sr4cny.rb
extconf.rb
comprobando main() en -lpthread... sí
creando Makefile
Para ver por qué esta extensión falló al compilar, revise el archivo mkmf.log que se encuentra en:
/usr/local/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/mini_racer-0.2.0/mkmf.log
directorio actual:
/usr/local/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/mini_racer-0.2.0/ext/mini_racer_extension
make "DESTDIR=" clean
directorio actual:
/usr/local/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/mini_racer-0.2.0/ext/mini_racer_extension
make "DESTDIR="
compilando mini_racer_extension.cc
En el archivo incluido desde
/usr/local/rbenv/versions/2.3.0/include/ruby-2.3.0/ruby.h:33:0,
desde mini_racer_extension.cc:2:
mini_racer_extension.cc: En la función 'VALUE protected_callback(VALUE)':
/usr/local/rbenv/versions/2.3.0/include/ruby-2.3.0/ruby/ruby.h:882:52: error:
'__builtin_choose_expr' no se declaró en este ámbito
OBJ_WB_UNPROTECT((VALUE)(obj)), ((VALUE)(obj))))
^
/usr/local/rbenv/versions/2.3.0/include/ruby-2.3.0/ruby/ruby.h:1039:48: nota: en
definición de la macro 'RARRAY_CONST_PTR'
#define RARRAY_CONST_PTR(a) rb_array_const_ptr(a)
^
/usr/local/rbenv/versions/2.3.0/include/ruby-2.3.0/ruby/ruby.h:1059:50: nota: en
expansión de la macro 'RB_OBJ_WB_UNPROTECT_FOR'
#define RARRAY_PTR(a) ((VALUE *)RARRAY_CONST_PTR(RB_OBJ_WB_UNPROTECT_FOR(ARRAY,
a)))
^
mini_racer_extension.cc:850:9: nota: en expansión de la macro 'RARRAY_PTR'
RARRAY_PTR(data->ruby_args));
^
Makefile:206: regla para el objetivo 'mini_racer_extension.o' falló
make: *** [mini_racer_extension.o] Error 1
make falló, código de salida 2
Los archivos del gem permanecerán instalados en
/usr/local/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/mini_racer-0.2.0 para
inspección.
Resultados registrados en
/usr/local/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/mini_racer-0.2.0/gem_make.out
Ocurrió un error al instalar mini_racer (0.2.0), y Bundler no puede
continuar.
Asegúrese de que `gem install mini_racer -v '0.2.0' --source
'https://rubygems.org/'` tenga éxito antes de ejecutar bundle.
En Gemfile:
mini_racer
Al observar los gems que se están instalando, veo esto (que creo que es de lo que depende mini_racer):
Obteniendo libv8 6.7.288.46.1 (x86_64-linux)
Instalando libv8 6.7.288.46.1 (x86_64-linux)