I have been unable to install the updated version 3.10.4 of DBD::Pg using either:
C:\>cpan DBD::Pg
cpan>install DBD::Pg
On my Windows 7 box, with 64-bit Strawberry Perl perl-5.30.0, DBD-Pg-3.10.4 installed without issue (albeit somewhat noisily) with cpan -i DBD::Pg
Loading internal logger. Log::Log4perl recommended for better logging
Reading 'C:\Users\sisyphus\.cpan\Metadata'
Database was generated on Mon, 10 Feb 2020 03:55:09 GMT
CPAN: Module::CoreList loaded ok (v5.20190522)
Running install for module 'DBD::Pg'
CPAN: Digest::SHA loaded ok (v6.02)
CPAN: Compress::Zlib loaded ok (v2.086)
Checksum for C:\Users\sisyphus\.cpan\sources\authors\id\T\TU\TURNSTEP\
+DBD-Pg-3.10.4.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.32)
CPAN: YAML loaded ok (v1.29)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
Configuring T/TU/TURNSTEP/DBD-Pg-3.10.4.tar.gz with Makefile.PL
Configuring DBD::Pg 3.10.4
PostgreSQL version: 110003 (default port: 5432)
POSTGRES_HOME: (not set)
POSTGRES_INCLUDE: C:/_64/ST2A67~1.0/c/include
POSTGRES_LIB: C:/_64/ST2A67~1.0/c/lib
OS: MSWin32
Checking if your kit is complete...
Looks good
Using DBI 1.642 (for perl 5.030000 on MSWin32-x64-multi-thread) instal
+led in C:/_64/strawberry-vanilla-5.30.0/perl/vendor/lib/auto/DBI/
Generating a gmake-style Makefile
Writing Makefile for DBD::Pg
Writing MYMETA.yml and MYMETA.json
TURNSTEP/DBD-Pg-3.10.4.tar.gz
C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe Makefile.PL -- OK
Running make for T/TU/TURNSTEP/DBD-Pg-3.10.4.tar.gz
cp Pg.pm blib\lib\DBD/Pg.pm
cp lib/Bundle/DBD/Pg.pm blib\lib/Bundle/DBD/Pg.pm
Running Mkbootstrap for Pg ()
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Comma
+nd -e chmod -- 644 "Pg.bs"
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Comma
+nd::MM -e cp_nonempty -- Pg.bs blib\arch\auto\DBD\Pg\Pg.bs 644
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -p -e "s/~DRIVER~
+/Pg/g; s/^do\(/dontdo\(/" C:\_64\strawberry-vanilla-5.30.0\perl\vendo
+r\lib\auto\DBI\Driver.xst > Pg.xsi
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" "C:\_64\strawberr
+y-vanilla-5.30.0\perl\lib\ExtUtils/xsubpp" -typemap C:\_64\strawberr
+y-vanilla-5.30.0\perl\lib\ExtUtils\typemap Pg.xs > Pg.xsc
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Comma
+nd -e mv -- Pg.xsc Pg.c
gcc -c -I"C:/_64/ST2A67~1.0/c/include" -IC:\_64\strawberry-vanilla-5.
+30.0\perl\vendor\lib\auto\DBI -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -
+D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTE
+XT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -fdi
+agnostics-color=never -mms-bitfields -DPGLIBVERSION=110003 -DPGDEFPOR
+T=5432 -s -O2 -DVERSION=\"3.10.4\" -DXS_VERSION=\"3.10.4\" "-IC:\_
+64\strawberry-vanilla-5.30.0\perl\lib\CORE" Pg.c
In file included from C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib
+\auto\DBI/DBIXS.h:38,
from Pg.h:56,
from Pg.xs:14:
C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib\auto\DBI/dbipport.h:4
+471: warning: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE
In file included from C:\_64\strawberry-vanilla-5.30.0\perl\lib\CORE/p
+erl.h:2508,
from C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib
+\auto\DBI/DBIXS.h:23,
from Pg.h:56,
from Pg.xs:14:
C:\_64\strawberry-vanilla-5.30.0\perl\lib\CORE/handy.h:1072: note: thi
+s is the location of the previous definition
# define WIDEST_UTYPE U64
gcc -c -I"C:/_64/ST2A67~1.0/c/include" -IC:\_64\strawberry-vanilla-5.
+30.0\perl\vendor\lib\auto\DBI -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -
+D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTE
+XT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -fdi
+agnostics-color=never -mms-bitfields -DPGLIBVERSION=110003 -DPGDEFPOR
+T=5432 -s -O2 -DVERSION=\"3.10.4\" -DXS_VERSION=\"3.10.4\" "-IC:\_
+64\strawberry-vanilla-5.30.0\perl\lib\CORE" dbdimp.c
In file included from C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib
+\auto\DBI/DBIXS.h:38,
from Pg.h:56,
from dbdimp.c:14:
C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib\auto\DBI/dbipport.h:4
+471: warning: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE
In file included from C:\_64\strawberry-vanilla-5.30.0\perl\lib\CORE/p
+erl.h:2508,
from C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib
+\auto\DBI/DBIXS.h:23,
from Pg.h:56,
from dbdimp.c:14:
C:\_64\strawberry-vanilla-5.30.0\perl\lib\CORE/handy.h:1072: note: thi
+s is the location of the previous definition
# define WIDEST_UTYPE U64
dbdimp.c: In function 'pg_st_prepare_statement':
dbdimp.c:2368:44: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
if ((0 == imp_dbh->sth_result_owner || (long int)imp_sth == imp_d
+bh->sth_result_owner)
^
dbdimp.c:2383:33: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
imp_dbh->sth_result_owner = (long int)imp_sth;
^
dbdimp.c: In function 'pg_st_execute':
dbdimp.c:3404:52: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
if ((0 == imp_dbh->sth_result_owner || (long int)imp_sth
+== imp_dbh->sth_result_owner)
^
dbdimp.c:3419:41: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
imp_dbh->sth_result_owner = (long int)imp_sth;
^
dbdimp.c:3498:52: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
if ((0 == imp_dbh->sth_result_owner || (long int)imp_sth
+== imp_dbh->sth_result_owner)
^
dbdimp.c:3515:41: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
imp_dbh->sth_result_owner = (long int)imp_sth;
^
dbdimp.c:3575:52: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
if ((0 == imp_dbh->sth_result_owner || (long int)imp_sth
+== imp_dbh->sth_result_owner)
^
dbdimp.c:3592:41: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
imp_dbh->sth_result_owner = (long int)imp_sth;
^
dbdimp.c: In function 'pg_st_finish':
dbdimp.c:3899:42: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
if (imp_dbh->sth_result_owner == (long int)imp_sth) {
^
dbdimp.c: In function 'pg_st_destroy':
dbdimp.c:4070:10: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
if ( (long int)imp_sth == imp_dbh->sth_result_owner ) {
^
dbdimp.c: In function 'pg_db_result':
dbdimp.c:5233:52: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
if ((0 == imp_dbh->sth_result_owner || (long int)imp_dbh-
+>async_sth == imp_dbh->sth_result_owner)
^
dbdimp.c:5247:41: warning: cast from pointer to integer of different s
+ize [-Wpointer-to-int-cast]
imp_dbh->sth_result_owner = (long int)imp_dbh->async_sth;
^
dbdimp.c: In function 'pg_st_deallocate_statement.isra.4':
dbdimp.c:3965:17: warning: 'strncpy' specified bound depends on the le
+ngth of the source argument [-Wstringop-overflow=]
strncpy(tempsqlstate, imp_dbh->sqlstate, strlen(imp_d
+bh->sqlstate)+1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~
dbdimp.c:3965:58: note: length computed here
strncpy(tempsqlstate, imp_dbh->sqlstate, strlen(imp_d
+bh->sqlstate)+1);
^~~~~~~~~~~~
+~~~~~~~~~~~~~
dbdimp.c:4001:9: warning: 'strncpy' specified bound depends on the len
+gth of the source argument [-Wstringop-overflow=]
strncpy(imp_dbh->sqlstate, tempsqlstate, strlen(tempsqlstate)
++1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~
dbdimp.c:4001:50: note: length computed here
strncpy(imp_dbh->sqlstate, tempsqlstate, strlen(tempsqlstate)
++1);
^~~~~~~~~~~~~~~~~~~~
gcc -c -I"C:/_64/ST2A67~1.0/c/include" -IC:\_64\strawberry-vanilla-5.
+30.0\perl\vendor\lib\auto\DBI -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -
+D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTE
+XT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -fdi
+agnostics-color=never -mms-bitfields -DPGLIBVERSION=110003 -DPGDEFPOR
+T=5432 -s -O2 -DVERSION=\"3.10.4\" -DXS_VERSION=\"3.10.4\" "-IC:\_
+64\strawberry-vanilla-5.30.0\perl\lib\CORE" quote.c
In file included from C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib
+\auto\DBI/DBIXS.h:38,
from Pg.h:56,
from quote.c:10:
C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib\auto\DBI/dbipport.h:4
+471: warning: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE
In file included from C:\_64\strawberry-vanilla-5.30.0\perl\lib\CORE/p
+erl.h:2508,
from C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib
+\auto\DBI/DBIXS.h:23,
from Pg.h:56,
from quote.c:10:
C:\_64\strawberry-vanilla-5.30.0\perl\lib\CORE/handy.h:1072: note: thi
+s is the location of the previous definition
# define WIDEST_UTYPE U64
gcc -c -I"C:/_64/ST2A67~1.0/c/include" -IC:\_64\strawberry-vanilla-5.
+30.0\perl\vendor\lib\auto\DBI -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -
+D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTE
+XT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -fdi
+agnostics-color=never -mms-bitfields -DPGLIBVERSION=110003 -DPGDEFPOR
+T=5432 -s -O2 -DVERSION=\"3.10.4\" -DXS_VERSION=\"3.10.4\" "-IC:\_
+64\strawberry-vanilla-5.30.0\perl\lib\CORE" types.c
In file included from C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib
+\auto\DBI/DBIXS.h:38,
from Pg.h:56,
from types.c:15:
C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib\auto\DBI/dbipport.h:4
+471: warning: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE
In file included from C:\_64\strawberry-vanilla-5.30.0\perl\lib\CORE/p
+erl.h:2508,
from C:\_64\strawberry-vanilla-5.30.0\perl\vendor\lib
+\auto\DBI/DBIXS.h:23,
from Pg.h:56,
from types.c:15:
C:\_64\strawberry-vanilla-5.30.0\perl\lib\CORE/handy.h:1072: note: thi
+s is the location of the previous definition
# define WIDEST_UTYPE U64
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Mksym
+lists \
-e "Mksymlists('NAME'=>\"DBD::Pg\", 'DLBASE' => 'Pg', 'DL_FUNCS'
+=> { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
g++.exe Pg.def -o blib\arch\auto\DBD\Pg\Pg.xs.dll -mdll -s -L"C:\_64\s
+trawberry-vanilla-5.30.0\perl\lib\CORE" -L"C:\_64\strawberry-vanilla-
+5.30.0\c\lib" Pg.o dbdimp.o quote.o types.o "C:\_64\strawberry-vani
+lla-5.30.0\perl\lib\CORE\libperl530.a" "C:\_64\ST2A67~1.0\c\lib\libpq
+.a" "C:\_64\strawberry-vanilla-5.30.0\c\x86_64-w64-mingw32\lib\libm.a
+" "C:\_64\strawberry-vanilla-5.30.0\c\x86_64-w64-mingw32\lib\libsecur
+32.a" "C:\_64\strawberry-vanilla-5.30.0\c\x86_64-w64-mingw32\lib\libm
+oldname.a" "C:\_64\strawberry-vanilla-5.30.0\c\x86_64-w64-mingw32\lib
+\libkernel32.a" "C:\_64\strawberry-vanilla-5.30.0\c\x86_64-w64-mingw3
+2\lib\libuser32.a" "C:\_64\strawberry-vanilla-5.30.0\c\x86_64-w64-min
+gw32\lib\libgdi32.a" "C:\_64\strawberry-vanilla-5.30.0\c\x86_64-w64-m
+ingw32\lib\libwinspool.a" "C:\_64\strawberry-vanilla-5.30.0\c\x86_64-
+w64-mingw32\lib\libcomdlg32.a" "C:\_64\strawberry-vanilla-5.30.0\c\x8
+6_64-w64-mingw32\lib\libadvapi32.a" "C:\_64\strawberry-vanilla-5.30.0
+\c\x86_64-w64-mingw32\lib\libshell32.a" "C:\_64\strawberry-vanilla-5.
+30.0\c\x86_64-w64-mingw32\lib\libole32.a" "C:\_64\strawberry-vanilla-
+5.30.0\c\x86_64-w64-mingw32\lib\liboleaut32.a" "C:\_64\strawberry-van
+illa-5.30.0\c\x86_64-w64-mingw32\lib\libnetapi32.a" "C:\_64\strawberr
+y-vanilla-5.30.0\c\x86_64-w64-mingw32\lib\libuuid.a" "C:\_64\strawber
+ry-vanilla-5.30.0\c\x86_64-w64-mingw32\lib\libws2_32.a" "C:\_64\straw
+berry-vanilla-5.30.0\c\x86_64-w64-mingw32\lib\libmpr.a" "C:\_64\straw
+berry-vanilla-5.30.0\c\x86_64-w64-mingw32\lib\libwinmm.a" "C:\_64\str
+awberry-vanilla-5.30.0\c\x86_64-w64-mingw32\lib\libversion.a" "C:\_64
+\strawberry-vanilla-5.30.0\c\x86_64-w64-mingw32\lib\libodbc32.a" "C:\
+_64\strawberry-vanilla-5.30.0\c\x86_64-w64-mingw32\lib\libodbccp32.a"
+ "C:\_64\strawberry-vanilla-5.30.0\c\x86_64-w64-mingw32\lib\libcomctl
+32.a" -Wl,--enable-auto-image-base
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Comma
+nd -e chmod -- 755 blib\arch\auto\DBD\Pg\Pg.xs.dll
TURNSTEP/DBD-Pg-3.10.4.tar.gz
gmake -- OK
Running make test for TURNSTEP/DBD-Pg-3.10.4.tar.gz
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Comma
+nd::MM -e cp_nonempty -- Pg.bs blib\arch\auto\DBD\Pg\Pg.bs 644
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" "-MExtUtils::Comm
+and::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test
+_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00_signature.t ....... skipped: Set the environment variable TEST_SI
+GNATURE to enable this test
t/00basic.t ............ ok
#
# DBI Version 1.642
# DBD::Pg Version 3.10.4
# Perl Version 5.30.0
# OS MSWin32
# PostgreSQL (compiled) ?
# PostgreSQL (target) ?
# PostgreSQL (reported) ?
# Default port ?
# DBI_DSN ?
# DBI_USER <not set>
# Test schema dbd_pg_testschema
# LANG C
# Adjusted: initdb
# Error was: Bad initdb output: 'initdb' is not recognized as an inter
+nal or external command,
# operable program or batch file.
#
t/01connect.t .......... skipped: Connection to database failed, canno
+t continue testing
t/01constants.t ........ ok
t/02attribs.t .......... skipped: Connection to database failed, canno
+t continue testing
t/03dbmethod.t ......... skipped: Connection to database failed, canno
+t continue testing
t/03smethod.t .......... skipped: Connection to database failed, canno
+t continue testing
t/04misc.t ............. skipped: Connection to database failed, canno
+t continue testing
t/06bytea.t ............ skipped: Connection to database failed, canno
+t continue testing
t/07copy.t ............. skipped: Connection to database failed, canno
+t continue testing
t/08async.t ............ skipped: Connection to database failed, canno
+t continue testing
t/09arrays.t ........... skipped: Connection to database failed, canno
+t continue testing
t/10_pg_error_field.t .. skipped: Connection to database failed, canno
+t continue testing
t/12placeholders.t ..... skipped: Connection to database failed, canno
+t continue testing
t/20savepoints.t ....... skipped: Connection to database failed, canno
+t continue testing
t/30unicode.t .......... skipped: Connection to database failed, canno
+t continue testing
t/99cleanup.t .......... ok
All tests successful.
Files=17, Tests=168, 9 wallclock secs ( 0.05 usr + 0.01 sys = 0.06
+CPU)
Result: PASS
TURNSTEP/DBD-Pg-3.10.4.tar.gz
gmake test -- OK
Running make install for TURNSTEP/DBD-Pg-3.10.4.tar.gz
"C:\_64\strawberry-vanilla-5.30.0\perl\bin\perl.exe" -MExtUtils::Comma
+nd::MM -e cp_nonempty -- Pg.bs blib\arch\auto\DBD\Pg\Pg.bs 644
Files found in blib\arch: installing files in blib\lib into architectu
+re dependent library tree
Installing C:\_64\strawberry-vanilla-5.30.0\perl\site\lib\auto\DBD\Pg\
+Pg.xs.dll
Appending installation info to C:\_64\strawberry-vanilla-5.30.0\perl\l
+ib/perllocal.pod
TURNSTEP/DBD-Pg-3.10.4.tar.gz
gmake install -- OK
Absolutely no "undefined reference" at all.
Cheers, Rob |