senseIY
@senseIY (I Y)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

mysql2がインストールできない

解決したいこと

ruby on rails チュートリアル学習中の入門者です。データベースにmysqlを使おうとしたのですが、mysql2がインストールできないという状況が解決できず、詰まってしまいました。様々なサイトを参考に自分なりに進めてみたのですが、自分のエラーとは違う記事が多く、エラーの原因が分かりませんでした。おそらく、エラーからしてlinuxbrewのディレクトリあたりに問題があるのではないかと思うですが、どうすればエラーを解決できるか分かりません。何かアドバイスがあれば教えていただきたいです。よろしくお願い致します。
その他
・ubuntu20.04を使っています。
・mysqlの再インストールも試しました。
・おそらくですがsslは問題ないです。
・パスに問題があるかもと思いましたが、一応パスは通っているはずです。

発生している問題・エラー

・
・
・
checking for rb_absint_size()... yes
checking for rb_absint_singlebit_p()... yes
checking for rb_wait_for_single_fd()... yes
-----
Using mysql_config at /home/linuxbrew/.linuxbrew/bin/mysql_config
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for SSL_MODE_DISABLED in mysql.h... yes
checking for SSL_MODE_PREFERRED in mysql.h... yes
checking for SSL_MODE_REQUIRED in mysql.h... yes
checking for SSL_MODE_VERIFY_CA in mysql.h... yes
checking for SSL_MODE_VERIFY_IDENTITY in mysql.h... yes
checking for MYSQL.net.vio in mysql.h... yes
checking for MYSQL.net.pvio in mysql.h... no
checking for MYSQL_ENABLE_CLEARTEXT_PLUGIN in mysql.h... yes
checking for SERVER_QUERY_NO_GOOD_INDEX_USED in mysql.h... yes
checking for SERVER_QUERY_NO_INDEX_USED in mysql.h... yes
checking for SERVER_QUERY_WAS_SLOW in mysql.h... yes
checking for MYSQL_OPTION_MULTI_STATEMENTS_ON in mysql.h... yes
checking for MYSQL_OPTION_MULTI_STATEMENTS_OFF in mysql.h... yes
checking for my_bool in mysql.h... no
-----
Setting libpath to /home/linuxbrew/.linuxbrew/Cellar/mysql/8.0.28/lib
-----
creating Makefile
・
・
・
client.c: At top level:
cc1: warning: unrecognized command line option ‘-Wno-self-assign’
cc1: warning: unrecognized command line option ‘-Wno-parentheses-equality’
cc1: warning: unrecognized command line option
‘-Wno-constant-logical-operand’
compiling infile.c
compiling mysql2_ext.c
compiling result.c
compiling statement.c
linking shared-object mysql2/mysql2.so
/home/linuxbrew/.linuxbrew/bin/ld: cannot find -lzstd
collect2: error: ld returned 1 exit status
make: *** [Makefile:262: mysql2.so] エラー 1

make failed, exit code 2
・
・
・

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

In Gemfile:
  mysql2


0

1Answer

/home/linuxbrew/.linuxbrew/bin/ld: cannot find -lzstd

libzstdがインストールされていないということではないですか?

0Like

Comments

  1. @senseIY

    Questioner

    回答していただきありがとうございます。おかげさまでmysql2をインストールすることに成功しました!2日間いろいろ試しても改善しなかったので本当に助かりました。

    以下実行したコマンド
    sudo apt update
    sudo apt install libzstd-dev
    bundle install

Your answer might help someone💌