Trouble installing Ruby DBI for MySQL


#1

Hello all, first time poster.

I installed ruby 1.8.2 without a hitch and am trying to install drivers
for
accessing MySQL

I tried to install mysql-ruby-2.6 with the following:

ruby extconf.rb --with-mysql-include=/usr/include/mysql
–with-mysql-lib=/var/lib/mysql
make
make install

(no errors)

and ruby-dbi-all-0.0.21 with:

ruby setup.rb config --with=dbi,dbd_mysql
ruby setup.rb setup
ruby setup.rb install

(no errors here either)

But when i attempt to run a simple script:

==================================================
require “dbi”

DBI.connect(“dbi:Mysql:database:host”, “user”, “pass”) do |dbh|

prepare can take a code block, passes the statement handle

to it, and automatically calls finish at the end of the block

dbh.prepare(“SHOW DATABASES”) do |sth|
sth.execute
puts “Databases: " + sth.fetch_all.join(”, ")
end

execute can take a code block, passes the statement handle

to it, and automatically calls finish at the end of the block

dbh.execute(“SHOW DATABASES”) do |sth|
puts “Databases: " + sth.fetch_all.join(”, ")
end
end

I get a bad segfault error:

/usr/local/lib/ruby/site_ruby/1.8/DBD/Mysql/Mysql.rb:465: [BUG]
Segmentation
fault
ruby 1.8.2 (2004-12-25) [i686-linux]

Aborted

Can anyone shed any light on the situation? I am quite stuck on where to
fix
this.

Thanks in advance


#2

Did this message even get through? Shall i just go back to programming
Perl?


#3

On 11/16/05, Jeff A. removed_email_address@domain.invalid wrote:

Can anyone shed any light on the situation? I am quite stuck on where to fix
this.

I’m not sure what’s going on but you may not need to use extconf.rb

You might try installing mysql via the RubyGems system.

and then reinstalling DBI

What system are you on? This kind of information is usually helpful
for those looking to assist you.


#4

Depending on your environment, Ruby-MySQL can have frustrating
problems. See
http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/ffe920e1f74b133a/e1bc495f571301db?q=dbi+mysql+i686-linux&rnum=3#e1bc495f571301db
and
http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/9461193f16d1f92b/057878404303dc27?q=dbi+mysql+i686-linux&rnum=6#057878404303dc27
for more discussion.

I’ve had times when Ruby-MySQL through DBI won’t work for me, so what
I’ve done is:

  1. Install MySQL-Ruby (which is a pure Ruby version) from
    http://www.tmtm.org/en/mysql/ruby/ .
  2. Edit your Mysql.rb DBD file. The line that says

require ‘mysql’

should instead say

require ‘mysql.rb’

You’re coercing the DBD to use the .rb version, instead of the .so
version.

This is terribly annoying, of course, but for me it’s less annoying
than futzing around endlessly with build configuration.

I’m an admin on the Ruby-DBI project, and with any luck will be able to
commit this into the head in the next few weeks.

f.


#5

Thanks Greg and Francis.

My apologies for not listing the system specs:

Linux/Red Hat v9
MySQL 4.1.9-Max

I will try your suggestions/advice … thanks again. :slight_smile: