Hi all,

I got a problem with the compilation of DBD::Pg 2.15.1 on AIX 5.3 TL9.
I have did a 64-bit compilation / installation of PostgreSQL 8.3.8 at the beginning.

As the "postgres" user, I managed to execute "perl Makefile.PL" successfully :
Configuring DBD::Pg 2.15.1
PostgreSQL version: 80308 (default port: 5432)
POSTGRES_HOME: (not set)
POSTGRES_INCLUDE: /usr/local/pgsql/include
POSTGRES_LIB: /usr/local/pgsql/lib
OS: aix
Using DBI 1.609 (for perl 5.008002 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI/
Writing Makefile for DBD::Pg


but the "make" step failed :
$ make
cp lib/Bundle/DBD/Pg.pm blib/lib/Bundle/DBD/Pg.pm
cp Pg.pm blib/lib/DBD/Pg.pm
        /usr/bin/perl -e 'use ExtUtils::Mksymlists;  Mksymlists("NAME" => "DBD::Pg", "DL_FUNCS" => {  }, "FUNCLIST" => [], "DL_VARS" => []);'
        /usr/bin/perl -p -e "s/~DRIVER~/Pg/g; s/^do\(/dontdo\(/" /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI/Driver.xst > Pg.xsi
        /usr/bin/perl /usr/opt/perl5/lib/5.8.2/ExtUtils/xsubpp  -typemap /usr/opt/perl5/lib/5.8.2/ExtUtils/typemap  Pg.xs > Pg.xsc && mv Pg.xsc Pg.c
        cc_r -c  -I/usr/local/pgsql/include -I/usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI  -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -DPGLIBVERSION=80308 -DPGDEFPORT=5432 -O   -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"2.15.1\"  -DXS_VERSION=\"2.15.1\"  "-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE"   Pg.c
        cc_r -c  -I/usr/local/pgsql/include -I/usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI  -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -DPGLIBVERSION=80308 -DPGDEFPORT=5432 -O   -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"2.15.1\"  -DXS_VERSION=\"2.15.1\"  "-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE"   dbdimp.c
        cc_r -c  -I/usr/local/pgsql/include -I/usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI  -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -DPGLIBVERSION=80308 -DPGDEFPORT=5432 -O   -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"2.15.1\"  -DXS_VERSION=\"2.15.1\"  "-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE"   quote.c
"quote.c", line 334.16: 1506-068 (W) Operation between types "char*" and "const char*" is not allowed.
        cc_r -c  -I/usr/local/pgsql/include -I/usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI  -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -DPGLIBVERSION=80308 -DPGDEFPORT=5432 -O   -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"2.15.1\"  -DXS_VERSION=\"2.15.1\"  "-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE"   types.c
Running Mkbootstrap for DBD::Pg ()
        chmod 644 Pg.bs
        rm -f blib/arch/auto/DBD/Pg/Pg.so
        LD_RUN_PATH="" ld  -bhalt:4 -bM:SRE -bI:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:Pg.exp -bnoentry -lpthreads -lc_r Pg.o dbdimp.o quote.o types.o  -o blib/arch/auto/DBD/Pg/Pg.so   -L/usr/local/pgsql/lib -lpq -lm  
ld: 0711-317 ERROR: Undefined symbol: .PQerrorMessage
ld: 0711-317 ERROR: Undefined symbol: .PQgetResult
ld: 0711-317 ERROR: Undefined symbol: .PQclear
... ... ...
ld: 0711-317 ERROR: Undefined symbol: .PQserverVersion
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: 1254-004 The error code from the last command is 8.



I use perl5 (revision 5.0 version 8 subversion 2) :
$ perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 2) configuration:
  Platform:
    osname=aix, osvers=5.2.0.0, archname=aix-thread-multi
    uname='aix animals 2 5 000709cf4c00 '
    config_args=''
    hint=previous, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc_r', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong',
    optimize='-O',
    cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong'
    ccversion='5.0.2.0', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =' -brtl -b32 -bmaxdata:0x80000000'
    libpth=/lib /usr/lib /usr/ccs/lib
    libs=-lbind -lnsl -ldbm -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd -lPW
    perllibs=-lbind -lnsl -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd -lPW
    libc=/lib/libc.a, so=a, useshrplib=true, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='-bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp'
    cccdlflags=' ', lddlflags='-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -bnoentry -lpthreads -lc_r'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
  Locally applied patches:
        SUIDPERLIO1 - fix PERLIO_DEBUG buffer overflow (CAN-2005-0156)
        SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962
        REGCOMP0 - buffer overflow in regexp engine for UTF8 (CVE-2007-5116)
  Built under aix
  Compiled at Dec  5 2007 16:08:49
  @INC:
    /usr/opt/perl5/lib/5.8.2/aix-thread-multi
    /usr/opt/perl5/lib/5.8.2
    /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi
    /usr/opt/perl5/lib/site_perl/5.8.2
    /usr/opt/perl5/lib/site_perl
    .



Any suggestion ?

Thank you for your help.
Regards,
Alexandra