DBD::Pg 2.15.1 compilation failed - Mailing list pgsql-general

From Alexandra Roy
Subject DBD::Pg 2.15.1 compilation failed
Date
Msg-id 4B06C9D6.2020203@bull.net
Whole thread Raw
Responses Re: DBD::Pg 2.15.1 compilation failed  ("Greg Sabino Mullane" <greg@turnstep.com>)
List pgsql-general
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

pgsql-general by date:

Previous
From: "Bret"
Date:
Subject: Re: Allowing for longer table names (>64 characters)
Next
From: Alexandra Roy
Date:
Subject: ora2pg and DBD::Pg