質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

1回答

1713閲覧

RailsでMySQLを使うために、Gemfileにgem mysql2を記述し、bundle installした際に以下のようなエラーが出てきました。

tomoki-yamamura

総合スコア0

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2021/08/30 13:55

編集2021/08/30 14:01

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 が様々なサイトで散見されますが、そのエラーが上記では見当たりません。 どなたか原因のわかる方がいらっしゃればご教示ください。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KojiDoi

2021/08/30 15:11

Rのタグは関係ないので外してください。
guest

回答1

0

最初からrailsアプリを作り直しても良いなら、newの時にmysqlを指定してみてください。

$ bundle exec rails new . -d mysql

投稿2021/09/01 11:07

technocore

総合スコア7337

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問