Skip Menu |

This queue is for tickets about the DBD-Pg CPAN distribution.

Report information
The Basics
Id: 96388
Status: resolved
Priority: 0/
Queue: DBD-Pg

People
Owner: Nobody in particular
Requestors: michael.walters [...] noaa.gov
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 3.8.0



CC: Michael Walters <michael.walters [...] noaa.gov>
Subject: undefined symbol: lo_truncate for Postgres older than 8.3
Date: Wed, 11 Jun 2014 16:45:10 -0400
To: bug-DBD-Pg [...] rt.cpan.org
From: Michael Walters <michael.walters [...] noaa.gov>
Hello, I am unable to install the latest version (3.3.0) of DBD::Pg for PostgreSQL 8.1.23. Steps 1 (perl Makefile.PL) and 2 (make) succeed, but I get the following error for Step 3 (make test): Show quoted text
> # Failed test 'use DBD::Pg;' > # at t/00basic.t line 17. > # Tried to use 'DBD::Pg'. > # Error: Can't load '/data/home001/mwalters/.cpanm/work/1402507679.22720/DB > D-Pg-3.3.0/blib/arch/auto/DBD/Pg/Pg.so' for module DBD::Pg: /data/home001/mwalte > rs/.cpanm/work/1402507679.22720/DBD-Pg-3.3.0/blib/arch/auto/DBD/Pg/Pg.so: undefi > ned symbol: lo_truncate at /net/orbit178l/disk5/pub/perl/perls/perl-5.20.0_32/li > b/5.20.0/i686-linux-thread-multi/DynaLoader.pm line 193. > # at t/00basic.t line 17. > # Compilation failed in require at t/00basic.t line 17. > # BEGIN failed--compilation aborted at t/00basic.t line 17. > # CCFLAGS: q[-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-prote > ctor -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPGLIBVERS > ION=80123 -DPGDEFPORT=5432] > # INC: q[-I/usr/include -I/net/orbit178l/disk5/pub/perl/perls/perl-5.20.0_32/lib > /site_perl/5.20.0/i686-linux-thread-multi/auto/DBI] > # LIBS: [q[-L/usr/lib -lpq -lm]] > Bailout called. Further testing stopped: Cannot continue without DBD::Pg > FAILED--Further testing stopped: Cannot continue without DBD::Pg > make: *** [test_dynamic] Error 255
I checked the PostgreSQL documentation, and it turns out that the lo_truncate() function was added in PostgreSQL 8.3. So, it's not very surprising that this fails for an earlier version. In dbdimp.c, there should probably be a check on PGLIBVERSION for lo_truncate() like there is for lo_import_with_oid(). Thanks, Mike
This was fixed in c942daef2323d22dae830b09f9f971097d3fab53