gem "mysql2" と gem "reverse_markdown" を追加した後、bundle install が失敗する

新しい Discourse コンテナに「mysql2」と「reverse_markdown」を「Gemfile」に追加して、ipb スクリプトでデータを移行しようとしています。

bundle config unset deployment
bundle install

以下のような結果になります。

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/mysql2-0.5.5/ext/mysql2
/opt/bitnami/ruby/bin/ruby extconf.rb
checking for rb_absint_size()... *** 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=/opt/bitnami/ruby/bin/$(RUBY_BASE_NAME)
/opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:490:in `try_do': The compiler failed to generate an executable file. (RuntimeError)You have to install development tools first.

        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:583:in `try_link0'
        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:601:in `try_link'
        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:812:in `try_func'
        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:1116:in `block in have_func'
        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:989:in `block in checking_for'
        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:354:in `block (2 levels) in postpone'
        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:324:in `open'
        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:354:in `block in postpone'
        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:324:in `open'
        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:350:in `postpone'
        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:988:in `checking_for'
        from /opt/bitnami/ruby/lib/ruby/3.2.0/mkmf.rb:1115:in `have_func'
        from extconf.rb:34:in `<main>'

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

  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0-static/mysql2-0.5.5/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/mysql2-0.5.5 for inspection.
Results logged to /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0-static/mysql2-0.5.5/gem_make.out

  /opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:118:in `run'
  /opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/ext/ext_conf_builder.rb:27:in `build'
  /opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:186:in `build_extension'
  /opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:220:in `block in build_extensions'
  /opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:217:in `each'
  /opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/ext/builder.rb:217:in `build_extensions'
  /opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/installer.rb:845:in `build_extensions'
  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/rubygems_gem_installer.rb:72:in `build_extensions'
  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/rubygems_gem_installer.rb:28:in `install'
  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/source/rubygems.rb:200:in `install'
  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/installer/gem_installer.rb:54:in `install'
  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/installer/gem_installer.rb:16:in `install_from_spec'
  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/installer/parallel_installer.rb:155:in `do_install'
/opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/installer/parallel_installer.rb:146:in `block in worker_pool'
  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/worker.rb:62:in `apply_func'
  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/worker.rb:57:in `block in process_queue'
  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/worker.rb:54:in `loop'
  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/worker.rb:54:in `process_queue'
  /opt/bitnami/discourse/vendor/bundle/ruby/3.2.0/gems/bundler-2.4.1/lib/bundler/worker.rb:90:in `block (2 levels) in create_threads'

An error occurred while installing mysql2 (0.5.5), and Bundler cannot continue.

In Gemfile:
  mysql2

Bitnami はサポートされていません。

インポートを実行しているコンテナまたはマシン内に、mysql の必要なライブラリを追加する必要があります。

標準的なインストールには、このテンプレートを使用するか、bitnami コンテナ内で自分で工夫して追加してください。または、Docker を使用した開発用 Discourse のインストール を使用することもできます(Mac、Windows、Linux 向けのガイドもあります)。

「いいね!」 6

少し奇妙ですね。Bitnamiが公式バージョンだと思っていました。

標準インストールが公式バージョンです。BitnamiイメージはBitnamiによって開発およびサポートされており、ここで使用したことがある人はほとんどいません。Bitnamiバージョンでヘルプが必要な場合は、彼らに問い合わせる必要があります。

「いいね!」 4

この情報ありがとうございます。切り替えます。

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.