[OGo-Users] missing libpg.so.4 ... cannot load adaptor bundle PostgreSQL

Adam Tauno Williams users@opengroupware.org
Thu, 29 May 2008 11:26:59 -0400


> Following some instructions I found from Adam in the list archives, I 
> tried to do an OGO install using the *latest* files from here:
> http://download.opengroupware.org/nightly/packages/suse10-2/trunk/
> I didn't see any errors during the install using rpm -Uvh *.rpm  (although 
> I had to backlevel libobjc from the later one that I'd been using with the 
> openSuSE RPMs):

Moving around the libobjc version is likely to produce run-time errors.

> When the installation had finished I couldn't connect through the browser, 
> and I found these errors in the log:
> dynamic load (dlopen) error:
> libpq.so.4: cannot open shared object file: No such file or directory
> May 29 14:39:15 ogo-webui-1.1 [7494]: Cannot load adaptor bundle 
> 'PostgreSQL'
> Uncatched Objective-C exception:
> exceptionClass <class InvalidAdaptorBundleException>
> Reason: Cannot load adaptor bundle 'PostgreSQL'
> UserInfo: no userinfo
> I checked on my openSuSE 10.3 install that works (the one with the Job 
> editing errors), and there is no libpg.so file on there either.

Not in /usr/lib?  It is libpq, not libpg.  These libraries are provided
by the postgresql-libs package and this is the library required to
connect to a PostgreSQL database.

> I can telnet to localhost:5432, so PG is running.
> The only package that was installed that mentions postgres is this one: 
> sope47-gdl1-postgresql-4.7-trunk_r1504.0
> I'm stuck. Any suggestions?

Yep, that package provides the database adapter...

awilliam@WM_ADAM1:~> rpm -ql sope47-gdl1-postgresql-4.7
/usr/local/lib/sope-4.7/dbadaptors/PostgreSQL.gdladaptor
/usr/local/lib/sope-4.7/dbadaptors/PostgreSQL.gdladaptor/PostgreSQL
/usr/local/lib/sope-4.7/dbadaptors/PostgreSQL.gdladaptor/Resources
/usr/local/lib/sope-4.7/dbadaptors/PostgreSQL.gdladaptor/Resources/Info-gnustep.plist
/usr/local/lib/sope-4.7/dbadaptors/PostgreSQL.gdladaptor/Resources/Version
/usr/local/lib/sope-4.7/dbadaptors/PostgreSQL.gdladaptor/stamp.make

... which requires the PostgreSQL libraries ...

awilliam@WM_ADAM1:~>
ldd /usr/local/lib/sope-4.7/dbadaptors/PostgreSQL.gdladaptor/PostgreSQL
        linux-gate.so.1 =>  (0xffffe000)
====>   libpq.so.5 => /usr/lib/libpq.so.5 (0xb7f70000)  <===========
        libGDLAccess.so.4.7 => /usr/local/lib/libGDLAccess.so.4.7
        libEOControl.so.4.7 => /usr/local/lib/libEOControl.so.4.7
        libFoundation.so.1.1 => /usr/local/lib/libFoundation.so.1.1
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7d54000)
        libobjc.so.2 => /usr/lib/libobjc.so.2 (0xb7d3a000)
        libm.so.6 => /lib/libm.so.6 (0xb7d15000)
        libc.so.6 => /lib/libc.so.6 (0xb7be2000)
        libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb7b9f000)
        libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7a59000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb79cd000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb799b000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7997000)
        /lib/ld-linux.so.2 (0x80000000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb798b000)
        libz.so.1 => /lib/libz.so.1 (0xb7978000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7952000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0xb794e000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb7945000)
        libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb7941000)

The libraries are provided by the distro - but they might change with
versions.  So you might have libpq.so.5 and a package that requires
libpq.so.4, etc...   The UNIX version of DLL-hell.  This wouldn't be
surprising if using packages for 10.2 on 10.3, or vice-versa.

I'll see if I can upload new packages;  hopefully I can get the build
service to build OGo soon
<http://download.opensuse.org/repositories/home:/whitemice/>..  For now
I'll upload new 10.3 packages to the docs plone.