RailsでMySQLを使うために、Gemfileにgem mysql2を記述し、bundle installした際に以下のようなエラーが出てきました。
発生している問題・エラーメッセージ
エラーメッセージ Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/myname/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/mysql2-0.5.3/ext/mysql2 /Users/myname/.rbenv/versions/3.0.0/bin/ruby -I /Users/myname/.rbenv/versions/3.0.0/lib/ruby/3.0.0 -r ./siteconf20210830-80035-vunz6k.rb extconf.rb --with-ldflags\=-L/opt/homebrew/opt/openssl@1.1/lib --with-cppflags\=-I/opt/homebrew/opt/openssl@1.1/include checking for rb_absint_size()... no checking for rb_absint_singlebit_p()... no checking for rb_wait_for_single_fd()... no Using mysql_config at /opt/homebrew/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 Don't know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not load Setting libpath to /opt/homebrew/Cellar/mysql/8.0.26/lib creating Makefile current directory: /Users/myname/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/mysql2-0.5.3/ext/mysql2 make "DESTDIR=" clean current directory: /Users/myname/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/mysql2-0.5.3/ext/mysql2 make "DESTDIR=" compiling client.c In file included from client.c:13: ./wait_for_single_fd.h:32:10: error: implicit declaration of function 'rb_thread_select' is invalid in C99 [-Werror,-Wimplicit-function-declaration] return rb_thread_select(fd + 1, rfds, wfds, efds, tvp); ^ client.c:787:14: warning: incompatible pointer types passing 'VALUE (void *)' (aka 'unsigned long (void *)') to parameter of type 'VALUE (*)(VALUE)' (aka 'unsigned long (*)(unsigned long)') [-Wincompatible-pointer-types] rb_rescue2(do_send_query, (VALUE)&args, disconnect_and_raise, self, rb_eException, (VALUE)0); ^~~~~~~~~~~~~ /Users/myname/.rbenv/versions/3.0.0/include/ruby-3.0.0/ruby/internal/iterator.h:51:25: note: passing argument to parameter here VALUE rb_rescue2(VALUE(*)(VALUE),VALUE,VALUE(*)(VALUE,VALUE),VALUE,...); ^ client.c:795:16: warning: incompatible pointer types passing 'VALUE (void *)' (aka 'unsigned long (void *)') to parameter of type 'VALUE (*)(VALUE)' (aka 'unsigned long (*)(unsigned long)') [-Wincompatible-pointer-types] rb_rescue2(do_query, (VALUE)&async_args, disconnect_and_raise, self, rb_eException, (VALUE)0); ^~~~~~~~ /Users/myname/.rbenv/versions/3.0.0/include/ruby-3.0.0/ruby/internal/iterator.h:51:25: note: passing argument to parameter here VALUE rb_rescue2(VALUE(*)(VALUE),VALUE,VALUE(*)(VALUE,VALUE),VALUE,...); ^ 2 warnings and 1 error generated. make: *** [client.o] Error 1 make failed, exit code 2 Gem files will remain installed in /Users/myname/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/mysql2-0.5.3 for inspection. Results logged to /Users/myname/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/extensions/arm64-darwin-20/3.0.0/mysql2-0.5.3/gem_make.out An error occurred while installing mysql2 (0.5.3), and Bundler cannot continue. Make sure that `gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'` succeeds before bundling. In Gemfile: mysql2 ### 試したこと brew info opensslで For compilers to find openssl@1.1 you may need to set: export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib" export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include" から $ bundle config --local build.mysql2 "--with-ldflags=-L/opt/homebrew/opt/openssl@1.1/lib --with-cppflags=-I/opt/homebrew/opt/openssl@1.1/include" としライブラリの場所を指定してgemをインストールできないか試しました。 ですが、上記のエラーが出ます。 ### 補足情報(FW/ツールのバージョンなど) エラーのの原因として ld: library not found for -lssl が様々なサイトで散見されますが、そのエラーが上記では見当たりません。 どなたか原因のわかる方がいらっしゃればご教示ください。。
Rのタグは関係ないので外してください。