Mini_racer 0.2.0 يتسبب في فشل bundler

أقوم بترقية Discourse من الإصدار 1.9.6 إلى 2.1.6، ولا أستطيع إكمال أمر bundle install. أستخدم Docker (Ubuntu 16.04) كصورة أساسية لبناء Discourse، مع إصدار Ruby 2.3.0. عند الوصول إلى bundle install، أواجه خطأ في التجميع التالي. مساعدة عاجلة! لست متأكدًا مما قد يكون مفقودًا…

==============================

Gem::Ext::BuildError: ERROR: فشل في بناء الامتداد الأصلي للـ gem.

الدليل الحالي:
/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
التحقق من وجود main() في -lpthread... نعم
إنشاء Makefile

لعرض سبب فشل تجميع هذا الامتداد، يرجى التحقق من ملف mkmf.log الموجود هنا:

/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

الدليل الحالي:
/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

الدليل الحالي:
/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="
تجميع mini_racer_extension.cc
مضمن في:
/usr/local/rbenv/versions/2.3.0/include/ruby-2.3.0/ruby.h:33:0،
                 من mini_racer_extension.cc:2:
mini_racer_extension.cc: في الدالة 'VALUE protected_callback(VALUE)':
/usr/local/rbenv/versions/2.3.0/include/ruby-2.3.0/ruby/ruby.h:882:52: خطأ:
'__builtin_choose_expr' لم يُعلن في هذا النطاق
      OBJ_WB_UNPROTECT((VALUE)(obj)), ((VALUE)(obj))))
                                                    ^
/usr/local/rbenv/versions/2.3.0/include/ruby-2.3.0/ruby/ruby.h:1039:48: ملاحظة في
تعريف الماكرو '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: ملاحظة في
توسيع الماكرو '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: ملاحظة في توسيع الماكرو 'RARRAY_PTR'
         RARRAY_PTR(data->ruby_args));
         ^
Makefile:206: الوصفة للهدف 'mini_racer_extension.o' فشلت
make: *** [mini_racer_extension.o] خطأ 1

فشل make، كود الخروج 2

ستبقى ملفات Gem مثبتة في
/usr/local/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/mini_racer-0.2.0 لفحصها.
النتائج مسجلة في
/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

حدث خطأ أثناء تثبيت mini_racer (0.2.0)، ولا يمكن لـ Bundler الاستمرار.
تأكد من نجاح أمر `gem install mini_racer -v '0.2.0' --source
'https://rubygems.org/'` قبل التجميع.

في Gemfile:
  mini_racer

بالنظر إلى الـ gems قيد التثبيت، أرى هذا (وأعتقد أن هذا ما يعتمد عليه mini_racer):

Fetching libv8 6.7.288.46.1 (x86_64-linux)

Installing libv8 6.7.288.46.1 (x86_64-linux)

Please follow our official install guide: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

5 إعجابات