mysql gem broken in debian testing? - mysql

I've been trying all night, and so far have been unable to compile the mysql gem for ruby on my Debian Testing 64Bit system.
I believe it is because I have the openssl v1.0.0 library installed.
Here is what I get when I try to install (using RVM 1.14.7, and Ruby 1.9.1p431):
gem install mysql
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/home/jarrett/.rvm/rubies/ruby-1.9.1-p431/bin/ruby 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
--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/jarrett/.rvm/rubies/ruby-1.9.1-p431/bin/ruby
--with-mysql-config
--without-mysql-config
/home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:364:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:417:in `try_link0'
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:421:in `try_link'
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:529:in `try_func'
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:774:in `block in have_func'
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:670:in `block in checking_for'
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:276:in `block (2 levels) in postpone'
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:250:in `open'
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:276:in `block in postpone'
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:250:in `open'
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:272:in `postpone'
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:669:in `checking_for'
from /home/jarrett/.rvm/rubies/ruby-1.9.1-p431/lib/ruby/1.9.1/mkmf.rb:773:in `have_func'
from extconf.rb:45:in `<main>'
Gem files will remain installed in /home/jarrett/.rvm/gems/ruby-1.9.1-p431/gems/mysql-2.9.1 for inspection.
Results logged to /home/jarrett/.rvm/gems/ruby-1.9.1-p431/gems/mysql-2.9.1/ext/mysql_api/gem_make.out
When I checked the mkmf.log file (located at /home/jarrett/.rvm/gems/ruby-1.9.1-p431/gems/mysql-2.9.1/ext/mysql_api/mkmf.log, it was empty).
What I've tried
1) Ensuring all required dev packages are installed (libssl-dev libopenssl-ruby build-essential gcc autoconf automake libmysql-ruby ruby-mysql libmysqld-dev ruby-dev)
2) I originally had a more recent RVM installed - I uninstalled it and reinstalled an earlier version of RVM. I did this (following these instructions: undefined symbol: SSLv2_method when trying to run Thin webserver) in the hope that I could then run rvm pkg install openssl (which installed openssl 0.9.8 locally) and then install ruby with this: rvm install 1.9.1 --with-openssl-dir=/home/jarrett/.rvm/usr. My hope was that this would use the 0.9.8 version of openssl. No dice.
3) Tried exporting the local openssl 0.9.8 to the LD_LIBRARY_PATH with export LD_LIBRARY_PATH=/home/jarrett/.rvm/usr/lib, and then running the install again. No dice.
4) Installing ruby 1.9.2 and 1.9.3 via RVM and trying them. No dice.
5) Yelling at the computer profusely. No dice.
Anyone have any ideas/suggestions?
Maybe is there a chance the mysql gem will be updated to use openssl 1.0.0 soon?

Couldn't figure this out, so I followed these instructions to get openssl 0.9.8 installed (undefined symbol: SSLv2_method when trying to run Thin webserver and https://rvm.io/packages/openssl/), and then installed the mysql2 gem and used that instead.

Related

Rails installation with MySQL2 failing on Mojave

OS: Mojave 10.14.2
Ruby v 2.6.0
Rails v 2.5.2
Mysql 8 Server (installed standalone, not through homebrew, and tested through phpmyadmin)
In my Gemfile, I have:
gem 'mysql2', '>= 0.4.4', '< 0.6.0'
I did:
bundle config build.mysql2 --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
bundle install --path .bundle
And I am receiving the following error message:
Fetching mysql2 0.5.2
Installing mysql2 0.5.2 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Users/test_guy/Dropbox/Development/Rails/TestAppMac/.bundle/ruby/2.6.0/gems/mysql2-0.5.2/ext/mysql2
/Users/test_guy/.rbenv/versions/2.6.0/bin/ruby -I /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0 -r ./siteconf20190128-82406-1b5c8qc.rb extconf.rb --with-ldflags\=-L/usr/local/opt/openssl/lib\ --with-cppflags\=-I/usr/local/opt/openssl/include
checking for rb_absint_size()... *** 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=/Users/test_guy/.rbenv/versions/2.6.0/bin/$(RUBY_BASE_NAME)
/Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:552:in `try_link0'
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:570:in `try_link'
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:782:in `try_func'
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:1069:in `block in have_func'
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:959:in `block in checking_for'
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:361:in `block (2 levels) in postpone'
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:331:in `open'
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:361:in `block in postpone'
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:331:in `open'
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:357:in `postpone'
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:958:in `checking_for'
from /Users/test_guy/.rbenv/versions/2.6.0/lib/ruby/2.6.0/mkmf.rb:1068:in `have_func'
from extconf.rb:25:in `<main>'
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/Users/test_guy/Dropbox/Development/Rails/TestAppMac/.bundle/ruby/2.6.0/extensions/x86_64-darwin-18/2.6.0-static/mysql2-0.5.2/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /Users/test_guy/Dropbox/Development/Rails/TestAppMac/.bundle/ruby/2.6.0/gems/mysql2-0.5.2 for inspection.
Results logged to /Users/test_guy/Dropbox/Development/Rails/TestAppMac/.bundle/ruby/2.6.0/extensions/x86_64-darwin-18/2.6.0-static/mysql2-0.5.2/gem_make.out
An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
mysql2
Any ideas?
Make sure you have the command line development tools
xcode-select --install
Make sure openssl is installed on Mac via Homebrew.
brew install openssl
Install mysql2 gem with the options.
gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
ref: Install mysql2 on MacOS Mojave
If your MySQL is installed and running then run this command
gem update --system
After that try to
bundle install
This should fix your problem

Can't install mysql gem on Percona-XtraDB-Cluster

I saw there few topics about this problem, but none of them solved my problem.
So. Platform is CentOS 6.6. I have installed Percona-XtraDB-Cluster, their mysql-libs and their devel packages.
Also i have there ruby 2.0.0 and rubygems 2.4.3. Now i am trying to install mysql gem. What i am getting:
Building native extensions. This could take a while... ERROR: Error
installing mysql: ERROR: Failed to build gem native extension.
/opt/sensu/embedded/bin/ruby -r ./siteconf20141114-16854-1fyrg9v.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 --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=/opt/sensu/embedded/bin/ruby --with-mysql-config
--without-mysql-config
/opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:434:in try_do': The
compiler failed to generate an executable file. (RuntimeError) You
have to install development tools first. from
/opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:519:intry_link0' from
/opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:534:in try_link' from
/opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:720:intry_func' from
/opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:1004:in block in
have_func' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:895:in
block in checking_for' from
/opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:340:in block (2 levels) in
postpone' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:310:in
open' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:340:in block
in postpone' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:310:in
open' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:336:in
postpone' from /opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:894:in
checking_for' from
/opt/sensu/embedded/lib/ruby/2.0.0/mkmf.rb:1003:in have_func' from
extconf.rb:45:in'
extconf failed, exit code 1
Gem files will remain installed in
/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/mysql-2.9.1 for
inspection. Results logged to
/opt/sensu/embedded/lib/ruby/gems/2.0.0/extensions/x86_64-linux/2.0.0/mysql-2.9.1/gem_make.out
Any of described solutions, which i found on the web didn't help me, so, maybe someone had similar problems with this Percona cluster and ruby-2.0.0 and gem mysql-2.9.1
Looks like you need development libraries for the Ruby gem MySQL with SSL:
Try each of these:
yum install gcc
yum install mysql mysql-devel mysql-server
yum install openssl openssl-devel
yum install ruby-devel
Then try installing the newer mysql2 gem:
gem install mysql2 --version '>=0.3.17'
Sensu expects SSL, so it is good to have it. The Sensu documentation says " It is possible to use Sensu without SSL, however, it is heavily discouraged. The following instructions use a tool to generate self-signed OpenSSL certificates". Read about how to enable SSL here:
http://sensuapp.org/docs/latest/certificates#documentation
If you want SSL, you may want to ensure that your database does have SSL enabled:
> show variables like '%ssl%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl | YES |
| have_ssl | YES |
...
You wrote in the comment that you can't install mysql-devel and mysql-server because they will conflict with percona. My guess is that the error is the older mysql gem and/or the need for SSL.
If you are using rvm, it can also cause these kinds of glitches. You may want to try ruby-install and installing the current ruby. This may bring in the dependencies you need. If you want, you can use ruby-install in a custom directory, like this:
$ ruby-install ruby 2.1.5 --install-dir ~/foo/bar/
If you are using sudo gem install, it can also cause glitches for native gems. You may want to try becoming root, and using the actual root environment, and the root ruby version, and double-checking that the ruby version is what you expect, like this:
$ sudo su -
# which ruby
# ruby --version
# gem install mysql2 --version '>=0.3.17'

ERROR: Error installing mysql: ERROR: Failed to build gem native extension

I am a beginner in ruby.
when I install MySQL in gem,I got a problem which confused me a long time.
I install MySQL from brew, as you know the computer system is OSX 10.10.
I have try all solution that can found in stackoverflow,but can't solve it.
such as:
1. Install xcode-tool
2. GEM install mysql2 -- --with-mysql-dir=/usr/local/Cellar/mysql/5.5.25a
3. List itgem install mysql2 -- --with-opt-dir=/usr/local/Cellar/mysql/5.5.25ae
and so on....
The question is:
When I code the command:gem install mysql
I got the below error:
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/Users/iclick/.rvm/rubies/ruby-2.0.0-p481/bin/ruby 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=/Users/iclick/.rvm/rubies/ruby-2.0.0-p481/bin/ruby
--with-mysql-config
--without-mysql-config
/Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:434:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:519:in `try_link0'
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:534:in `try_link'
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:720:in `try_func'
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:1004:in `block in have_func'
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:895:in `block in checking_for'
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:340:in `block (2 levels) in postpone'
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:310:in `open'
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:340:in `block in postpone'
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:310:in `open'
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:336:in `postpone'
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:894:in `checking_for'
from /Users/iclick/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:1003:in `have_func'
from extconf.rb:45:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in /Users/iclick/.rvm/gems/ruby-2.0.0-p481#style/gems/mysql-2.9.1 for inspection.
Results logged to /Users/iclick/.rvm/gems/ruby-2.0.0-p481#style/extensions/x86_64-darwin-13/2.0.0-static/mysql-2.9.1/gem_make.out
Forgiving my poor english.^_^.
Hoping your answer.
happy,i have solved the problem.
when i execute the command gem update.i got a error,then,i think the issue is caused by gem.
so,i execute the command gem get stable.and then execute the command brew unlink libyaml && brew link libyaml and mysql is installed successful!!!

I can't run "bundle update" because of "mysql2" gem

I have this in the Gemfile:
gem 'mysql2'
But when I run bundle update, I get this error message:
An error occurred while installing mysql2 (0.3.16), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.16'` succeeds before bundling.
I've tried to move this into the production section, like this:
group :production do
gem 'mysql2'
end
But after running bundle update, the result is the same. This section is processed only in the production mode, or not?
How to get rid of this error message on localhost?
EDIT: The whole error message:
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/radek/.rvm/rubies/ruby-1.9.3-p385/bin/ruby extconf.rb
checking for ruby/thread.h... *** 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
--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=/Users/radek/.rvm/rubies/ruby-1.9.3-p385/bin/ruby
/Users/radek/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /Users/radek/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp'
from /Users/radek/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/mkmf.rb:931:in `block in have_header'
from /Users/radek/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
from /Users/radek/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
from /Users/radek/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /Users/radek/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
from /Users/radek/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /Users/radek/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
from /Users/radek/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
from /Users/radek/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/mkmf.rb:930:in `have_header'
from extconf.rb:9:in `<main>'
Gem files will remain installed in /Users/radek/.rvm/gems/ruby-1.9.3-p385/gems/mysql2-0.3.16 for inspection.
Results logged to /Users/radek/.rvm/gems/ruby-1.9.3-p385/gems/mysql2-0.3.16/ext/mysql2/gem_make.out
An error occurred while installing mysql2 (0.3.16), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.16'` succeeds before bundling.
Thank you
On Ubuntu, run
sudo apt-get install libmysqlclient-dev
Or, if you use MariaDB, run
sudo apt-get install libmariadbclient-dev
Looks like there is no mysql2 gem installed in your machine.As you are using Mac OSX,you should be installing mysql2 gem like this
gem install mysql2 -- --with-mysql-dir=/usr/local/opt/mysql/
If the above command did't work,try like this
sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
And after try
bundle install
This should fix the error.
Source
Add this in Gemfile:-
gem 'mysql2', '0.3.16'
Then:-
bundle install
After that try:-
bundle update
I just installed mysql via $ brew install mysql and it fixed the problem.
I've ended up with a near-identical error message from attempting to build on a machine without gcc-c++ installed; mkmf is failing to compile a simple c program because the compiler flat out isn't there.
If you're on CentOS, you want sudo yum install gcc-c++. On Ubuntu, it's sudo apt-get install g++. It's a little disappointing that old versions of ruby-devel don't have a dependency on g++.

MySQL Gem installation error on Rails

I am deploying my Rails application using Chef. While
gem install mysql
am getting hte following error,
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native
extension.
/opt/chef/embedded/bin/ruby 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 --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=/opt/chef/embedded/bin/ruby --with-mysql-config
--without-mysql-config
/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:381:in try_do': The
compiler failed to generate an executable file. (RuntimeError) You
have to install development tools first. from
/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:461:intry_link0' from
/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:476:in try_link' from
/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:619:intry_func' from
/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:894:in block in have_func'
from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:790:inblock in
checking_for' from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:284:in
block (2 levels) in postpone' from
/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:254:inopen' from
/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:284:in block in postpone'
from /opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:254:inopen' from
/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:280:in postpone' from
/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:789:inchecking_for' from
/opt/chef/embedded/lib/ruby/1.9.1/mkmf.rb:893:in have_func' from
extconf.rb:45:in'
Gem files will remain installed in
/var/www/project-name/releases/daf93f4783a7238e5a8198c1fd50e4e1de93f654/vendor/bundle/ruby/1.9.1/gems/mysql-2.9.1
for inspection. Results logged to
/var/www/project-name/releases/daf93f4783a7238e5a8198c1fd50e4e1de93f654/vendor/bundle/ruby/1.9.1/gems/mysql-2.9.1/ext/mysql_api/gem_make.out
An error occured while installing mysql (2.9.1), and Bundler cannot
continue. Make sure that gem install mysql -v '2.9.1' succeeds
before bundling.
I am using RHEL 6. I also have a separate cookbook for mysql installation. I tried installing Mysql manually using the yum command.
I tried
yum install mysql-devel and then run the gem install mysql
still not working. Can anyone help me out.
Thanks
It sounds like you don't have a compiler. On a debian/ubuntu system, you can get everything you need to compile and build packages with:
sudo apt-get install build-essential
On Fedora/Red Hat I think it should be:
sudo yum groupinstall "Development Tools"
Add the build-essentials cookbook to your runlist and configure it's "compiletime" attribute.
The following answer reports the same problem building the postgres gem
Issue with installing Postgres on Vagrant VM using Chef: undefined method `ruby' for Config:Module