From owner-freebsd-ruby@FreeBSD.ORG Wed Nov 11 18:08:37 2009 Return-Path: Delivered-To: ruby@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3655B1065693 for ; Wed, 11 Nov 2009 18:08:37 +0000 (UTC) (envelope-from stas@SpringDaemons.com) Received: from mx0.deglitch.com (backbone.deglitch.com [IPv6:2001:16d8:fffb:4::abba]) by mx1.freebsd.org (Postfix) with ESMTP id D19F78FC35 for ; Wed, 11 Nov 2009 18:08:36 +0000 (UTC) Received: from sputnik.SpringDaemons.com (adsl-99-48-191-9.dsl.snfc21.sbcglobal.net [99.48.191.9]) by mx0.deglitch.com (Postfix) with ESMTPA id 436568FC51; Wed, 11 Nov 2009 21:08:34 +0300 (MSK) Received: by sputnik.SpringDaemons.com (Postfix, from userid 1024) id DD2CAB86F; Wed, 11 Nov 2009 10:08:31 -0800 (PST) Date: Wed, 11 Nov 2009 10:08:26 -0800 From: Stanislav Sedov To: penty.wenngren@dgc.se Message-Id: <20091111100826.e0dcfdca.stas@FreeBSD.org> In-Reply-To: <20091111160649.GL74360@picard.dgc.se> References: <20091111160649.GL74360@picard.dgc.se> Organization: The FreeBSD Project X-XMPP: ssedov@jabber.ru X-Voice: +7 916 849 20 23 X-PGP-Fingerprin: F21E D6CC 5626 9609 6CE2 A385 2BF5 5993 EB26 9581 X-Mailer: carrier-pigeon Mime-Version: 1.0 Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="PGP-SHA1"; boundary="Signature=_Wed__11_Nov_2009_10_08_26_-0800_YXUE.i6/b+m23drQ" Cc: ruby@FreeBSD.org Subject: Re: Ruby, dbi and PostgreSQL X-BeenThere: freebsd-ruby@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD-specific Ruby discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Nov 2009 18:08:37 -0000 --Signature=_Wed__11_Nov_2009_10_08_26_-0800_YXUE.i6/b+m23drQ Content-Type: text/plain; charset=US-ASCII Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, 11 Nov 2009 17:06:49 +0100 Penty Wenngren mentioned: > Hello, >=20 > 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: >=20 > irb(main):001:0> require 'dbi' > =3D> true > irb(main):002:0> dbh =3D DBI.connect("DBI:Pg:test","test","test") > DBI::InterfaceError: Could not load driver (Could not find driver Pg or p= g (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_drive= r' > from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:145:in `connect' > from (irb):2 >=20 >=20 > 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 >=20 >=20 > # 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 >=20 >=20 > # 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 la= nguage > 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 datab= ases > ruby18-eruby-1.0.5_1 Interprets Ruby code embedded in a text file like PH= P/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 >=20 >=20 > I have tried to reinstall ruby and all of its dependencies, but no luck. >=20 > I hope you can shed some light on what went wrong. The packages that were > upgraded this morning (iirc) are: >=20 > 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 >=20 >=20 > // Penty >=20 > --=20 >=20 Hi, Penty! I'm not sure this is the case, but I'd guess that postgresql client library is threaded and ruby is not, so it can't load the postgresql library. What FreeBSD version do you use? Pthreaded ruby on everything before 7.2 is not fully functional (e.g. fork won't work as it requires malloc implementation to support forking in threaded program). The best way for you if you're using postgresql in ruby will be to update the OS to 7.2 or above. You can also try to use ruby with threades (by commenting the '# pthreads in earlier versions has problems wi= th malloc after fork' section in Makefile), but keep in mind that fork and other fork(2)-based functions won't work. --=20 Stanislav Sedov ST4096-RIPE --Signature=_Wed__11_Nov_2009_10_08_26_-0800_YXUE.i6/b+m23drQ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (FreeBSD) iQIcBAEBAgAGBQJK+v2eAAoJEKN82nOYvCd0YncP/Atb8GoW7WevWmoumM3Za69o JRUeWy/FrzCwv4MY8GWCeRB0qkONjqXegpamd2dlD9tyIbDYD/Pgsy43N9C8Xawn 7Dqkfv+hYvkgzRxcYwojyG9DApNKQtdRirwTJvhMmsemNMfGk9JbSwyChC+MhKwY vLrw4Lmd4SBhcaezkevbX+dyq74uuilAIbV/vpjVwwoT0ScxiJIMxvMYQkxPEkN7 n2QjfsM2DuRd6cXcR8SNUwU462XPmo+eoIB/EzDmvLXzZH4G1UstxIgJ3T5NhwWF p5ymf0eN6WFyZUry+q0gOJXjnElTlHCiuZIxFZPRyK5odr6+AZ+UDur8uzFDdl7L OgShvyqZdfA+Okdk6mVLOLXfiWYDY8ILnb6DmPlmUGzPR2pWahEuJa07tXHf50kO 2ZACSDM0tnvCt4KbzTjpxueX3t9bPL5Mbnmp1et6JEckmQ/YEzW6KH6qDYgAoILO 8aETw09TVsI9bxyjXIbH8YubAnRuG2am95QphHgNUo/GMdixEuh97GsSd7Q/qL72 YqdMh/Zb5GTj85TY+KCfyK0t2XiOtoftAkTCd5IhPrdmfXoeRkcKhahn+HhN5Lgk UTLBL7DRskQ8SmREaUXK7xmyY4mUpkSvxQwnj+TwFGc5mgqfkuaUhcjxMwYy7y/j 82isD541/Ub538WT7g7j =e7Xg -----END PGP SIGNATURE----- --Signature=_Wed__11_Nov_2009_10_08_26_-0800_YXUE.i6/b+m23drQ--