###環境
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
何か方法があるようでしたら、是非教えていただけないでしょうか?
宜しくお願いいたします。
回答3件
あなたの回答
tips
プレビュー