Ruby, dbi and PostgreSQL

Stanislav Sedov stas at FreeBSD.org
Sun Nov 15 08:17:23 UTC 2009


On Thu, 12 Nov 2009 17:24:30 +0100
Penty Wenngren <penty.wenngren at dgc.se> mentioned:

> On Wed, Nov 11, 2009 at 07:08:26PM +0100, Stanislav Sedov wrote:
> > On Wed, 11 Nov 2009 17:06:49 +0100
> > Penty Wenngren <penty.wenngren at dgc.se> mentioned:
> > 
> > > Hello,
> > > 
> > > After having upgraded our installed ports this morning we have a few
> > > machines that no longer want to play with ruby, dbi and postgres. This
> > > is the output I get when trying to do this in irb:
> > > 
> > > irb(main):001:0> require 'dbi'
> > > => true
> > > irb(main):002:0> dbh = DBI.connect("DBI:Pg:test","test","test")
> > > DBI::InterfaceError: Could not load driver (Could not find driver Pg or pg (error:
> > > no such file to load -- pg))
> > >     from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:318:in `load_driver'
> > >     from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:160:in `_get_full_driver'
> > >     from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:145:in `connect'
> > >     from (irb):2
> > > 
> > > 
> > > irb(main):001:0> require 'dbd/Pg'
> > > LoadError: no such file to load -- pg
> > >         from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
> > > `gem_original_require'
> > >         from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
> > > `require'
> > >         from /usr/local/lib/ruby/site_ruby/1.8/dbd/Pg.rb:40
> > >         from (irb):1:in `require'
> > >         from (irb):1
> > > 
> > > 
> > > # ls -l /usr/local/lib/ruby/site_ruby/1.8/dbd/
> > > total 10
> > > -rw-r--r--  1 root  wheel  6579 Nov 11 16:17 Pg.rb
> > > drwxr-xr-x  2 root  wheel   512 Nov 11 16:17 pg
> > > 
> > > 
> > > # pkg_info | grep ruby
> > > mod_ruby-1.3.0      An Apache module that embeds Ruby interpreter within
> > > ruby+nopthreads-1.8.7.160_5,1 An object-oriented interpreted scripting language
> > > ruby18-aspectr-0.3.5 Ruby libraries for Aspect programming
> > > ruby18-bdb-0.6.5_1  Ruby interface to Sleepycat's Berkeley DB revision 2 or lat
> > > ruby18-dbd_pg-0.3.8 PostgreSQL driver for DBI-for-Ruby
> > > ruby18-dbi-0.4.3    DBI-for-Ruby - a common interface for SQL-based databases
> > > ruby18-eruby-1.0.5_1 Interprets Ruby code embedded in a text file like PHP/ePerl
> > > ruby18-fcgi-0.8.7   FastCGI library for Ruby
> > > ruby18-gems-1.3.5   Package management framework for the Ruby language
> > > ruby18-mmap-0.2.6   Ruby interface to manage memory-mapped file objects
> > > ruby18-postgres-0.7.9.2008.01.28_1 Ruby interface to PostgreSQL library
> > > ruby18-setup.rb-3.4.1 Common installer script for ruby packages
> > > rubygem-deprecated-2.0.1 A library intended to aid developers working with
> > > deprecate
> > > rubygem-postgres-0.7.9.2008.01.28_1 Ruby interface to PostgreSQL library
> > > 
> > > 
> > > I have tried to reinstall ruby and all of its dependencies, but no luck.
> > > 
> > > I hope you can shed some light on what went wrong. The packages that were
> > > upgraded this morning (iirc) are:
> > > 
> > > ruby+nopthreads-1.8.7.160_5,1
> > > ruby18-aspectr-0.3.5
> > > ruby18-dbd_pg-0.3.8
> > > ruby18-dbi-0.4.3
> > > ruby18-gems-1.3.5
> > > ruby18-postgres-0.7.9.2008.01.28_1
> > > rubygem-deprecated-2.0.1
> > > rubygem-postgres-0.7.9.2008.01.28_1
> > > 

I'm not sure how dbi/dbd works, but I runned the application
under truss(1) and it seems to be looking for pg.rb/pg.so in all
ruby and rubygems directories available, which we don't have
installed.  Maybe the dbi library should be updated to look
for pg directory instead, where all the Pg files seems to be
installed?

-- 
Stanislav Sedov
ST4096-RIPE
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ruby/attachments/20091115/ffc51f5f/attachment.pgp


More information about the freebsd-ruby mailing list