APM: Pg.pm

erik at debill.org erik at debill.org
Tue Sep 16 14:37:55 CDT 2003

On Tue, Sep 16, 2003 at 01:13:13PM -0500, Tom Bakken wrote:

> >>I modified the Pg.xs file and that eliminated the complaint.  Also changed
> the POSTGRES_INCLUDE to >>/usr/include.  It compiled, but I still get the
> error:
> >>Perl: error in loading shared libraries:
> /usr/local/lib/perl5/5.8.0/auto/Pg/Pg.so: undefined symbol: >>Perl_safefree.

Is it possible that the header files from your old version of perl are
still present and getting used?  Pg.so for Perl 5.6.1 (Debian stable)
has a Perl_safefree in it.  Pg.so for 5.8.0 (Debian unstable) doesn't.
It has Perl_safesysfree instead.  I checked by running strings(1) and

I'm guessing that either Pg hasn't been updated to the new 5.8.0 APIs
yet, or you Makefile.PL found the wrong headers and thinks you're
compiling against the older version.  Normally the compile would fail
if the headers didn't at least promise that Perl_safefree was there
(but I don't know if XS does something extra weird in it's compile
step to avoid those checks).

Odds are the RH base install had some headers in /usr/include that
supercede the ones you just added in /usr/local/include (I'm guessing
you built 5.8.0 from source).  If that's what's happening you can
probably just rename them and try configuring and compiling again.

> Philip Molter thought I should recompile.  Now that I've succeeded and I
> still get the same error, I'm.  Stumped.  When I run make test, I do get an
> error: Pg::connectdb.....not ok: connectDB() == connect() failed: Connection
> refused because it's trying to connect to postgres on the local server when
> I've moved it over to another.  I wouldn't thing that would be a problem.
> I've googled the error and found a number of posts there I'm looking into.

Yeah, I'd ignore this.


Consumerism:  the one true path to world peace.

More information about the Austin mailing list