Reputation: 1330
I just upgraded ubuntu from 11.10 to 12.04 and after that when I run my server inside my rails project I got this error
$ rails s
/usr/share/ruby-rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.11/lib/mysql2.rb:9:in `require':
libmysqlclient_r.so.16: cannot open shared object file: No such file or directory -
/usr/share/ruby-rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.11/lib/mysql2/mysql2.so (LoadError)
any help please?
Upvotes: 16
Views: 6335
Reputation: 1287
For me nothing up there work. Then I found this and try to delete and create again the database.yml file. AND IT WORKS!
Upvotes: 0
Reputation: 1261
Go to your project and follow the steps,
rvm gemset empty <gemset name>
gem install bundler
bundle install
It will solve your problem.
If that does not work, or if you are not using rvm, please use
gem uninstall mysql2
bundle install
from one of your mysql2-using Rails project's directory.
Upvotes: 25
Reputation: 128
Well, I would suggest double checking the ruby and the rails version and make sure they are the same ones u created your project with. Maybe you have to change the version using rvm:
rvm use 'Version'
Maybe you can uninstall and reinstall the mysql packages again, also try installing:
sudo apt-get install mysql-client mysql-server libmysqlclient16-dev
or
sudo apt-get install mysql-client mysql-server libmysqlclient-dev
Also try uninstalling and reinstalling your mysql gem. This blog post had a solution for this error as well, although the error was cause at a different time.
Upvotes: 1
Reputation: 96
I followed Babak's instruction that he posted and it worked after a small change.
My system is Ubuntu 12.04 server and it has Ruby1.9.3 installed so I did this
sudo apt-get install mysql-server libmysqlclient-dev
Seems like the libmysqlclient16-dev is now renamed to libmysqlclient-dev in Ubuntu 12.04
Afterwards I ran
gem install mysql2
Upvotes: 1