Estou atualizando o Discourse da versão 1.9.6 para a 2.1.6 e não consigo concluir o bundle install. Estou usando Docker (Ubuntu 16.04) como imagem base para construir o Discourse. A versão do Ruby é 2.3.0. Ao chegar no bundle install, obtenho o seguinte erro de compilação. Ajuda urgente! Não tenho certeza do que mais estou deixando de fora…
==============================
Gem::Ext::BuildError: ERRO: Falha ao construir extensão nativa do gem.
diretório atual:
/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
verificando main() em -lpthread... sim
criando Makefile
Para saber por que esta extensão falhou ao compilar, verifique o mkmf.log, que pode ser encontrado aqui:
/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
diretório atual:
/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
diretório atual:
/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
Arquivo incluído em
/usr/local/rbenv/versions/2.3.0/include/ruby-2.3.0/ruby.h:33:0,
de mini_racer_extension.cc:2:
mini_racer_extension.cc: Na função 'VALUE protected_callback(VALUE)':
/usr/local/rbenv/versions/2.3.0/include/ruby-2.3.0/ruby/ruby.h:882:52: erro:
'__builtin_choose_expr' não foi declarado neste escopo
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 em
definição da 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 em
expansão da 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 em expansão da macro 'RARRAY_PTR'
RARRAY_PTR(data->ruby_args));
^
Makefile:206: receita para alvo 'mini_racer_extension.o' falhou
make: *** [mini_racer_extension.o] Erro 1
make falhou, código de saída 2
Os arquivos do gem permanecerão instalados em
/usr/local/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/mini_racer-0.2.0 para
inspeção.
Resultados registrados em
/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
Ocorreu um erro ao instalar o mini_racer (0.2.0), e o Bundler não pode
continuar.
Certifique-se de que `gem install mini_racer -v '0.2.0' --source
'https://rubygems.org/'` tenha sucesso antes de executar o bundler.
No Gemfile:
mini_racer
Olhando para os gems sendo instalados, vejo isso (o que acredito ser uma dependência do mini_racer):
Buscando libv8 6.7.288.46.1 (x86_64-linux)
Instalando libv8 6.7.288.46.1 (x86_64-linux)