環境
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
何か方法があるようでしたら、是非教えていただけないでしょうか?
宜しくお願いいたします。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+4
開発用のMySQLライブラリが必要です。yum install mysql-devel
で入れてください。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+3
失敗した理由は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
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
MySQLのクライアントライブラリの検索に失敗していると思います。
ライブラリがあるディレクトリを指定して入れてみてください。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.37%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
issei.
2016/04/11 14:53
gccってインストール済みですか? gcc -vで何が出るかで分かります。
jianghan
2016/04/11 14:58 編集
ご回答ありがとうございます。
gccはインストール済です。gcc バージョン 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)になっています。