Unable to load mysql driver (Ubuntu 8.04)

Hi,

When I try to run a script that requires “dbi” I get the following
error:

/usr/local/lib/ruby/site_ruby/1.8/dbi.rb:352:in load_driver': Unable to load driver 'Mysql' (DBI::InterfaceError) from /usr/local/lib/ruby/1.8/monitor.rb:242:insynchronize’
from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:282:in load_driver' from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:233:in_get_full_driver’
from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:219:in `connect’

The Mysql server is working fine and my Rails apps can even access it.

The script itself has previously worked on other installations.

I do have gem mysql-2.7 installed.

ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]

Any help tracking the source of this problem down would be greatly
appreciated.

On Sunday 17 August 2008 00:09:54 Chris W. wrote:

/usr/local/lib/ruby/site_ruby/1.8/dbi.rb:352:in `load_driver’: Unable to
load driver ‘Mysql’ (DBI::InterfaceError)
[…]
The Mysql server is working fine and my Rails apps can even access it.

That doesn’t mean there’s Ruby support for MySQL installed.

I would guess that you need to install the mysql gem, and possibly more
DBI-specific bindings for it.

David M. wrote:

That doesn’t mean there’s Ruby support for MySQL installed.

I would guess that you need to install the mysql gem, and possibly more
DBI-specific bindings for it.

Thanks for the reply, but as I said I did install the mysql gem already.
I’ve uninstalled and reinstalled it multiple times both using gem and
from source.

I also have installed libdbd-mysql-ruby1.8 from the repository. Also the
mysql dev library is installed.

Ruby was installed from source instead of apt if that makes a
difference.

On Sunday 17 August 2008 12:27:42 Chris W. wrote:

Thanks for the reply, but as I said I did install the mysql gem already.
I’ve uninstalled and reinstalled it multiple times both using gem and
from source.

Ah, sorry. Do you have rubygems require’d?

That’s all I’ve got…

Just ran into same problem, here is the fix:

require ‘rubygems’
gem ‘dbi’
require ‘dbi’ # => Now the gems version gets loaded.

There is another dbi.rb that acts different than the one from gems:

/usr/lib/ruby/1.8/dbi.rb vs.
/usr/lib/ruby/gems/1.8/gems/dbi-0.4.0/lib/dbi.rb

David M. wrote:

On Sunday 17 August 2008 12:27:42 Chris W. wrote:

Thanks for the reply, but as I said I did install the mysql gem already.
I’ve uninstalled and reinstalled it multiple times both using gem and
from source.

Ah, sorry. Do you have rubygems require’d?

That’s all I’ve got…

Unfortunately that didn’t work either. I finally had to uninstall Ruby
and install the older version in the repository with apt.