# MySQL gem 2.7 not finding mysql.so

**URL:** <https://www.ruby-forum.com/t/mysql-gem-2-7-not-finding-mysql-so/154885>\
**Category:** Rails\
**Created:** [December 4, 2008, 8:27pm UTC](https://www.ruby-forum.com/t/mysql-gem-2-7-not-finding-mysql-so/154885 "2008-12-04T20:27:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![eeby](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/ecb155/32.png) [@eeby](https://www.ruby-forum.com/u/eeby)\
**Post date:** [December 4, 2008, 8:27pm UTC](https://www.ruby-forum.com/t/mysql-gem-2-7-not-finding-mysql-so/154885/1 "2008-12-04T20:27:23Z")

</div>

ruby 1.8.7  
Rails 2.2.2  
mysql gem 2.7  
Linux 2.6.18-92.el5

Hey guys. The MySQL gem is puzzling me. When I run irb\> require  
‘mysql’ I get the error shown below:

1. irb(main):001:0\> require ‘rubygems’
2. =\> true
3. irb(main):002:0\> require ‘mysql’
4. LoadError: libmysqlclient.so.16: cannot open shared object file:  
No such file or directory - /usr/local/lib/ruby/gems/1.8/gems/  
mysql-2.7/lib/mysql.so
5. 

```
    from /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/

```

mysql.so  
6. from /usr/local/lib/ruby/site\_ruby/1.8/rubygems/  
custom\_require.rb:36:in `require’  
7. from (irb):2

It says “no such file or directory” when in fact that file, mysql.so,  
absolutely does exist in that exact location.

After some Googling I found that I could use ldconfig to configure  
mysql.so to be available to the whole system. Once I added “/usr/local/  
mysql/lib” to /etc/ld.so.conf and ran ldconfig, it worked fine:

1. irb(main):002:0\> require ‘rubygems’
2. =\> true
3. irb(main):003:0\> require ‘mysql’
4. =\> true

OK, so I got it to work. But my question is, why was I getting that  
error previously? I never had to use ldconfig before to get the mysql  
gem to work. Has anyone else encountered the same error? Is there a  
better solution?

This is how I installed the mysql gem:

1. gem install mysql --no-rdoc --no-ri \
2. – --with-mysql-include=/usr/local/mysql/include \
3. –with-mysql-lib=/usr/local/mysql/lib \
4. –with-mysql-config=/usr/local/mysql/bin/mysql\_config

Any insight would be greatly appreciated.

Thanks,

E

---

<div class="post-metadata">

**Author:** ![eeby](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/ecb155/32.png) [@eeby](https://www.ruby-forum.com/u/eeby)\
**Post date:** [December 4, 2008, 8:45pm UTC](https://www.ruby-forum.com/t/mysql-gem-2-7-not-finding-mysql-so/154885/2 "2008-12-04T20:45:36Z")

</div>

On 4 Dec 2008, at 19:26, ebdb [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 1. =\> true  
> It says “no such file or directory” when in fact that file, mysql.so,  
> absolutely does exist in that exact location.

It’s not telling you that mysql.so was not found. It’s saying that  
while loading that it tried to load libmysqlclient but failed to find  
that (because ldconfig hadn’t been told to look in the right place)

> OK, so I got it to work. But my question is, why was I getting that  
> error previously? I never had to use ldconfig before to get the mysql  
> gem to work. Has anyone else encountered the same error? Is there a  
> better solution?

You wouldn’t need to do this if the mysql libraries were installed in  
somewhere like /usr/lib or /usr/local/lib which was already on the  
search path

Fred
