Committed by Greg Sabino Mullane <[email protected]>

Attempt to output some compiler information in case DBD::Pg fails to load at 
all,
as can happen when we have multiple conflicting libpq versions, leading to
messages like this: lo_import_with_oid: referenced symbol not found

---
 t/00basic.t |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/t/00basic.t b/t/00basic.t
index 7169a9d..493f121 100644
--- a/t/00basic.t
+++ b/t/00basic.t
@@ -10,8 +10,27 @@ use Test::More tests => 3;
 select(($|=1,select(STDERR),$|=1)[1]);
 
 BEGIN {
+
        use_ok ('DBI') or BAIL_OUT 'Cannot continue without DBI';
-       use_ok ('DBD::Pg') or BAIL_OUT 'Cannot continue without DBD::Pg';
+
+       ## If we cannot load DBD::Pg, output some compiler information for 
debugging:
+       if (! use_ok ('DBD::Pg')) {
+               my $file = 'Makefile';
+               if (! -e $file) {
+                       $file = '../Makefile';
+               }
+               my $fh;
+               if (open $fh, '<', $file) {
+                       { local $/; $_ = <$fh>; }
+                       close $fh;
+                       for my $keyword (qw/ CCFLAGS INC LIBS /) {
+                               if (/^#\s+$keyword => (.+)/m) {
+                                       diag "$keyword: $1";
+                               }
+                       }
+               }
+               BAIL_OUT 'Cannot continue without DBD::Pg';
+       }
 }
 use DBD::Pg;
 like ($DBD::Pg::VERSION, qr/^v?\d+\.\d+\.\d+(?:_\d+)?$/, qq{Found 
DBD::Pg::VERSION as "$DBD::Pg::VERSION"});
-- 
1.7.1

Reply via email to