Error installing mysql2

I am trying to install mysql2 on a server. so my first bad track was as follows:

gem install mysql2 

conclusion

  Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. /usr/bin/ruby1.8 extconf.rb checking for rb_thread_blocking_region()... no checking for rb_wait_for_single_fd()... no checking for mysql_query() in -lmysqlclient... no checking for main() in -lm... yes checking for mysql_query() in -lmysqlclient... no checking for main() in -lz... yes checking for mysql_query() in -lmysqlclient... no checking for main() in -lsocket... no checking for mysql_query() in -lmysqlclient... no checking for main() in -lnsl... yes checking for mysql_query() in -lmysqlclient... no checking for main() in -lmygcc... no checking for mysql_query() in -lmysqlclient... no *** 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=/usr/bin/ruby1.8 --with-mysql-config --without-mysql-config --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=${mysql-dir}/include --with-mysql-lib --without-mysql-lib=${mysql-dir}/lib --with-mysqlclientlib --without-mysqlclientlib --with-mlib --without-mlib --with-mysqlclientlib --without-mysqlclientlib --with-zlib --without-zlib --with-mysqlclientlib --without-mysqlclientlib --with-socketlib --without-socketlib --with-mysqlclientlib --without-mysqlclientlib --with-nsllib --without-nsllib --with-mysqlclientlib --without-mysqlclientlib --with-mygcclib --without-mygcclib --with-mysqlclientlib --without-mysqlclientlib Gem files will remain installed in /home/aaalsubaie/.gems/gems/mysql2-0.3.11 for inspection. Results logged to /home/aaalsubaie/.gems/gems/mysql2-0.3.11/ext/mysql2/gem_make.out 

This is not the end of the story

after launch

 [ps89405]$ mysql --help | grep Default -A 1 Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 

I tried

  gem install mysql2 -- --with-mysql-config=~/.my.cnf --ruby=/usr/bin/ruby1.8 

and

 gem install mysql2 -- --with-mysql-config=/usr/etc/my.cnf --ruby=/usr/bin/ruby1.8 

and

 gem install mysql2 -- --with-mysql-config=/etc/my.cnf --ruby=/usr/bin/ruby1.8 

No luck with the same error.

I do not start rvm

and my gem env

  RubyGems Environment: - RUBYGEMS VERSION: 1.3.7 - RUBY VERSION: 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux] - INSTALLATION DIRECTORY: /home/aaalsubaie/.gems/ - RUBY EXECUTABLE: /usr/bin/ruby1.8 - EXECUTABLE DIRECTORY: /home/aaalsubaie/.gems/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /home/aaalsubaie/.gems/ - /usr/lib/ruby/gems/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/ 

This is my second day in a row when I try to deploy my first application with rails, but it would be much easier for me.

update:

now the command works and installs mysql2 gem thanks to Yanhao

 gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config 

I have a new problem with mysql2 gem when I started

 bundle exec rails console 

I got

 /home/aaalsubaie/ajhezaty.com/releases/20120411095320/vendor/bundle/ruby/1.8/gems/mysql2-0.3.11/lib/mysql2.rb:9:in `require': no such file to load -- mysql2/mysql2 (LoadError) from /home/aaalsubaie/ajhezaty.com/releases/20120411095320/vendor/bundle/ruby/1.8/gems/mysql2-0.3.11/lib/mysql2.rb:9 from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require' from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require' from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `each' from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `require' from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `each' from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `require' from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler.rb:112:in `require' from /home/aaalsubaie/ajhezaty.com/releases/20120411095320/config/application.rb:7 from /home/aaalsubaie/ajhezaty.com/releases/20120411095320/vendor/bundle/ruby/1.8/gems/railties-3.2.1/lib/rails/commands.rb:39:in `require' from /home/aaalsubaie/ajhezaty.com/releases/20120411095320/vendor/bundle/ruby/1.8/gems/railties-3.2.1/lib/rails/commands.rb:39 from script/rails:6:in `require' from script/rails:6 
+6
source share
6 answers

This may not be directly relevant to you, but I came across the same problem, and I think my answer may help others in this matter:

 sudo apt-get install libmysql-ruby sudo apt-get install libmysqlclient-dev sudo gem install mysql2 

It worked for me.

+14
source

If you are on a Mac, install MySQL using the Homebrew brew install mysql , and this should allow you to install the gem after.

+4
source

The command should look like this:

 gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config 

The with-mysql-config option refers to the mysql_config tool, not the configuration file.

And you will be better off the mkmf.log file.

+3
source

First you need to run this command:

 sudo apt-get install libmysqlclient-dev 

and then you can run this:

 gem install mysql2 

it should be work.

0
source

sudo apt-get install libmysqlclient-dev the system will install the other two libs: MySQL-generic libmysqlclient16

0
source

"bundle exec rails console" works with the gler bundler file, but you installed mysql2 with rubygems. You need to run:

 gem uninstall mysql2 # uninstall mysql2 from system bundle exec gem uninstall mysql2 # uninstall mysql2 from bundler bundle config build.mysql2 --with-mysql-config=/usr/bin/mysql_config # set build option for mysql2 gem bundle install # reinstall mysql2 bundle exec rails console # start rails console using the rails exec installed via bundler 

Additional note. If you are using a passenger and you have just updated your version of Ruby, be sure to reinstall the passenger and update your httpd.conf to successfully start the server.

0
source

Source: https://habr.com/ru/post/912909/


All Articles