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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

3回答

3837閲覧

gem install mysql -v '2.9.1'ができません

jianghan

総合スコア9

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2016/04/11 05:43

編集2016/04/11 06:33

###環境
vagrant、CentOS7
mysql Ver 14.14 Distrib 5.6.29, for Linux (x86_64) using EditLine wrapper
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
Rails 4.2.6
###発生している問題・エラーメッセージ
railsのmysql環境を作っていますが、mysqlをgem installする所で以下のようなエラーになりました。

[vagrant@localhost app]$ gem install mysql -v '2.9.1' Fetching: mysql-2.9.1.gem (100%) Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension. current directory: /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/mysql-2.9.1/ext/mysql_api /home/vagrant/.rbenv/versions/2.3.0/bin/ruby -r ./siteconf20160411-16570-1k8dx32.rb extconf.rb checking for mysql_ssl_set()... *** 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=/home/vagrant/.rbenv/versions/2.3.0/bin/$(RUBY_BASE_NAME) --with-mysql-config --without-mysql-config /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:541:in `try_link0' from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:556:in `try_link' from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:765:in `try_func' from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:1051:in `block in have_func' from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:942:in `block in checking_for' from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:350:in `block (2 levels) in postpone' from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:320:in `open' from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:350:in `block in postpone' from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:320:in `open' from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:346:in `postpone' from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:941:in `checking_for' from /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/2.3.0/mkmf.rb:1050:in `have_func' from extconf.rb:45:in `<main>' To see why this extension failed to compile, please check the mkmf.log which can be found here: /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/mysql-2.9.1/mkmf.log extconf failed, exit code 1 Gem files will remain installed in /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/mysql-2.9.1 for inspection. Results logged to /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/mysql-2.9.1/gem_make.out

##追記
mysql-develがないことが原因みたいですが、yum install mysql-develもうまくいけないです。以下のエラーが出ました。

[vagrant@localhost ~]$ sudo yum install mysql-devel 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: ftp.kddilabs.jp * extras: ftp.iij.ad.jp * remi-php70: mirror.innosol.asia * remi-safe: mirror.innosol.asia * updates: ftp.iij.ad.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ mariadb-devel.x86_64 1:5.5.47-1.el7_2 を インストール --> 依存性の処理をしています: mariadb-libs(x86-64) = 1:5.5.47-1.el7_2 のパッケージ: 1:mariadb-devel-5.5.47-1.el7_2.x86_64 --> トランザクションの確認を実行しています。 ---> パッケージ mariadb-libs.x86_64 1:5.5.47-1.el7_2 を インストール Removing mariadb-libs.x86_64 1:5.5.47-1.el7_2 - u due to obsoletes from installed mysql-community-libs-5.6.29-2.el7.x86_64 --> 新しい変更と依存性の解決を再開しています。 --> トランザクションの確認を実行しています。 ---> パッケージ mariadb-libs.x86_64 1:5.5.47-1.el7_2 を インストール --> 依存性の処理をしています: mariadb-libs(x86-64) = 1:5.5.47-1.el7_2 のパッケージ: 1:mariadb-devel-5.5.47-1.el7_2.x86_64 --> 依存性解決を終了しました。 エラー: パッケージ: 1:mariadb-devel-5.5.47-1.el7_2.x86_64 (updates) 要求: mariadb-libs(x86-64) = 1:5.5.47-1.el7_2 利用可能: 1:mariadb-libs-5.5.44-2.el7.centos.x86_64 (base) mariadb-libs(x86-64) = 1:5.5.44-2.el7.centos 利用可能: 1:mariadb-libs-5.5.47-1.el7_2.i686 (updates) ~mariadb-libs(x86-32) = 1:5.5.47-1.el7_2 問題を回避するために --skip-broken を用いることができます。 これらを試行できます: rpm -Va --nofiles --nodigest

何か方法があるようでしたら、是非教えていただけないでしょうか?
宜しくお願いいたします。

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

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

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

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

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

issei.

2016/04/11 05:53

gccってインストール済みですか? gcc -vで何が出るかで分かります。
jianghan

2016/04/11 06:04 編集

ご回答ありがとうございます。 gccはインストール済です。gcc バージョン 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)になっています。
guest

回答3

0

ベストアンサー

開発用のMySQLライブラリが必要です。yum install mysql-develで入れてください。

投稿2016/04/11 06:08

maisumakun

総合スコア145183

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

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

jianghan

2016/04/11 06:34

ご回答ありがとうございます。 yum install mysql-develもうまく行かなくて、エラー内容を追記しました。 そちらについても教えていただけませんか?
maisumakun

2016/04/11 07:10

この様子だと、yum install mariadb-develのほうが適当かもしれませんね(MariaDBはMySQLから分岐したデータベースシステムです)
jianghan

2016/04/11 07:20

トラブル回避のため全部アンインストールし、再度インストールすることで直りました。。。 ありがとうございました!
guest

0

失敗した理由はmkmf.logを見ろって書いてあるようですが見てみましたか?
/home/vagrant/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-linux/2.3.0-static/mysql-2.9.1/mkmf.log

投稿2016/04/11 05:59

HiroshiWatanabe

総合スコア2160

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

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

jianghan

2016/04/11 06:06

ご回答ありがとうございます。 今logを見てみましたが、以下のようになってわかりませんでした... "gcc -o conftest -I/home/vagrant/.rbenv/versions/2.3.0/include/ruby-2.3.0/x86_64-linux -I/home/vagrant/.rbenv/versions/2.3.0/include/ruby-2.3.0/ruby/backward -I/home/vagrant/.rbenv/versions/2.3.0/include/ruby-2.3.0 -I. -I/home/vagrant/.rbenv/versions/2.3.0/include -I/usr/include/mysql -g -m64 -fPIC -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c -L. -L/home/vagrant/.rbenv/versions/2.3.0/lib -Wl,-R/home/vagrant/.rbenv/versions/2.3.0/lib -L. -L/home/vagrant/.rbenv/versions/2.3.0/lib -fstack-protector -rdynamic -Wl,-export-dynamic -L/usr/lib64/mysql -lmysqlclient -lpthread -lm -ldl -Wl,-R/home/vagrant/.rbenv/versions/2.3.0/lib -L/home/vagrant/.rbenv/versions/2.3.0/lib -lruby-static -lpthread -ldl -lcrypt -lm -lc" /usr/bin/ld: -lmysqlclient が見つかりません collect2: エラー: ld はステータス 1 で終了しました checked program was: /* begin */ 1: #include "ruby.h" 2: 3: int main(int argc, char **argv) 4: { 5: return 0; 6: } /* end */
issei.

2016/04/11 06:33

/usr/bin/ld: -lmysqlclient が見つかりません という箇所から、mysqlのライブラリがインストールできてないor参照できていない、と結論できます。
jianghan

2016/04/11 07:21

mysqlのライブラリが足りないことが原因でした。 ありがとうございました!
guest

0

MySQLのクライアントライブラリの検索に失敗していると思います。
ライブラリがあるディレクトリを指定して入れてみてください。

投稿2016/04/11 06:09

Kuro-

総合スコア29

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

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

jianghan

2016/04/11 07:18

ライブラリが足りないことが原因でした。 ご回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問