CMake مفقود عند إضافة discourse-code-review، أحيانًا

يبدو أن هذا الأمر مشابه لـ https://meta.discourse.org/t/error-cmake-is-required-to-build-rugged/142900، لكنني جربت عملية التمهيد (bootstrap) للتو وفشلت إذا لم أقم بما يلي:

  before_code:
    - exec:
        cd: $home
        cmd:
          - apt update
          - apt -y install cmake

فشلت العملية بهذا الشكل:

I, [2020-06-22T17:13:16.381492 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'    
ERROR:  Error installing rugged:
        ERROR: Failed to build gem native extension.            
                                                                                                           
    current directory: /var/www/discourse/plugins/discourse-code-review/gems/2.6.5/gems/rugged-0.28.4.1/ext/rugged
/usr/local/bin/ruby -I /usr/local/lib/ruby/site_ruby/2.6.0 -r ./siteconf20200622-21455-f9skgp.rb extconf.rb
checking for gmake... no                
checking for make... yes
checking for cmake... no
ERROR: CMake is required to build Rugged.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/local/bin/$(RUBY_BASE_NAME)
        --with-sha1dc
        --without-sha1dc
        --use-system-libraries

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /var/www/discourse/plugins/discourse-code-review/gems/2.6.5/extensions/x86_64-linux/2.6.0-static/rugged-0.28.4.1/mkmf.lo
g

extconf failed, exit code 1

لكن على نظام آخر تمكنت من إضافة الإضافة (plugin) دون ذلك. كلا النظامين يستخدمان ملف web_only.yml قياسي نسبيًا (النظام المعطل يُطلق على كيوبرنيتيز، بينما النظام العامل يستخدم Traefik كعكس وكيل، لكنني لا أرى كيف يمكن أن يؤثر ذلك على تشغيل التمهيد!).

أترك هذا هنا في حال كان حلّ العمل الخاص بي سيساعد شخصًا آخر، أو إذا كان شخص ما يعرف شيئًا ما سيلاحظ شيئًا يجب تغييره.

تحتوي أحدث صورة بالفعل على cmake المثبت. هل عالجت في صورة قديمة؟ إعادة البناء تُحدّثها.

آه، rebuild يقوم بتحديث، لكن bootstrap لا يفعل ذلك. وفي النظام الآخر، قمت بعمل rebuild لشيء ما مؤخرًا. هذا يفسر الأمر، وأظن أنني بحاجة إلى التحقق مرة أخرى من أن عمليات bootstrap الخاصة بي تقوم بتنفيذ git pull.