pl/perl and dynaloader - Mailing list pgsql-interfaces

From Nicolas Addington
Subject pl/perl and dynaloader
Date
Msg-id Pine.A41.4.58.0404081837470.19844@dante72.u.washington.edu
Whole thread Raw
List pgsql-interfaces
Hello,

I'm having trouble loading modules in pl/perl.  If I do something as
simple as

create function test () returns integer as ' use DBI; return 1;
' language 'plperlu';

select test();

I get the following error:

ERROR:  creation of function failed: Can't load
'/usr/local/lib/perl5/site_perl/5.6.0/aix/auto/DBI/DBI.so' for module DBI:
readExports: bad magic at /usr/local/lib/perl5/5.6.0/aix/DynaLoader.pm
line 200.at /usr/local/lib/perl5/site_perl/5.6.0/aix/DBI.pm line 243
BEGIN failed--compilation aborted at
/usr/local/lib/perl5/site_perl/5.6.0/aix/DBI.pm line 243.
Compilation failed in require at (eval 1) line 2.
BEGIN failed--compilation aborted at (eval 1) line 2.

And it doesn't have to be DBI - any module that uses Dynaloader, that is,
that loads a C library, gives the same error.  Now, I don't control the
perl installation on this host, so I'm not able to compile libperl.a as a
shared library, but all code on my platform is position-independent, which
various sources tell me is all I really need.  And everything works fine
in pl/perl, except loading modules that use C libraries.

I'm running PostgreSQL 7.4.2, although this has been happening ever since
I started trying, somwhere back in the 7.2's.  The host runs AIX 4.3 on an
IBM RS/6000.

Where do I go from here?


Thanks,
Nick Addington


pgsql-interfaces by date:

Previous
From: Rich Cullingford
Date:
Subject: Passing NEW to functions inside a trigger function...
Next
From: "brian plummer"
Date:
Subject: PostgreSQL: libpq, win32 build