CMake manquant lors de l'ajout de discourse-code-review, parfois

Cela semble similaire à ERROR: CMake is required to build Rugged, mais j’ai simplement essayé un bootstrap et cela a échoué si je n’exécutais pas

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

L’échec s’est produit comme ceci.

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

Mais sur un autre système, j’ai pu ajouter le plugin sans cela. Les deux sont des fichiers web_only.yml assez standards (celui qui est cassé se lance sur Kubernetes, celui qui fonctionne utilise Traefik comme proxy inverse, mais je ne vois pas comment cela pourrait affecter l’exécution du bootstrap !).

Je laisse cela ici au cas où mon contournement aiderait quelqu’un d’autre ou si quelqu’un qui sait quelque chose reconnaîtrait ce qui devrait être changé.

La dernière image contient déjà cmake installé. Êtes-vous bloqué sur une ancienne image ? Une reconstruction met à jour.

Aha. rebuild effectue une mise à jour, mais bootstrap ne le fait pas. Et sur l’autre système, j’avais effectué un rebuild plus récemment pour quelque chose. Cela explique tout, et je suppose que je dois vérifier que mes bootstraps effectuent bien un git pull.