Re: DBD::Pg 2.15.1 compilation failed

From: Alexandra Roy <Alexandra(dot)Roy(at)bull(dot)net>
To: Greg Sabino Mullane <greg(at)turnstep(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: DBD::Pg 2.15.1 compilation failed
Date: 2009-11-23 10:57:11
Message-ID: 4B0A6A87.8090304@bull.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all,

I am still trying to build DBD::Pg but I have another question.

Is it possible to do a 64-build of DBD::Pg ?
I ask this because PostgreSQL 8.3.8 has been compiled in 64 bits mode
and if DBD::Pg expects to find 32 bits library, this can explain my
problem...

Any idea ?

Thanks,
Regards,
Alexandra

Alexandra Roy a écrit :
> Hi Greg, hi all,
>
> Sorry for the mail sent in "HTML only"...
>
> I work with AIX 5.3 TL9 and I have installed PostgreSQL 8.3.8 from the
> source "postgresql-8.3.8.tar.gz".
> libpq seems to have been installed during the build.
>
> I check the README of DBD::Pg and :
> 1. pg_config is available and returns :
> $ pg_config
> BINDIR = /usr/local/pgsql/bin
> DOCDIR = /usr/local/pgsql/doc
> INCLUDEDIR = /usr/local/pgsql/include
> PKGINCLUDEDIR = /usr/local/pgsql/include
> INCLUDEDIR-SERVER = /usr/local/pgsql/include/server
> LIBDIR = /usr/local/pgsql/lib
> PKGLIBDIR = /usr/local/pgsql/lib
> LOCALEDIR =
> MANDIR = /usr/local/pgsql/man
> SHAREDIR = /usr/local/pgsql/share
> SYSCONFDIR = /usr/local/pgsql/etc
> PGXS = /usr/local/pgsql/lib/pgxs/src/makefiles/pgxs.mk
> CONFIGURE = 'CFLAGS=-maix64' 'LDFLAGS=-maix64 -Wl,-bbigtoc'
> CC = gcc
> CPPFLAGS =
> CFLAGS = -maix64 -Wall -Wmissing-prototypes -Wpointer-arith -Winline
> -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv
> CFLAGS_SL =
> LDFLAGS = -maix64 -Wl,-bbigtoc
> -Wl,-blibpath:/usr/local/pgsql/lib:/usr/lib:/lib
> LDFLAGS_SL = -Wl,-bnoentry -Wl,-H512 -Wl,-bM:SRE
> LIBS = -lpgport -lz -lreadline -lld -lm
> VERSION = PostgreSQL 8.3.8
>
>
> 2. libpq seems to be available on my server :
> # find . -name 'libpq*' -print
> ./usr/local/pgsql/doc/html/libpq-async.html
> ./usr/local/pgsql/doc/html/libpq-build.html
> ./usr/local/pgsql/doc/html/libpq-cancel.html
> ./usr/local/pgsql/doc/html/libpq-connect.html
> ./usr/local/pgsql/doc/html/libpq-control.html
> ./usr/local/pgsql/doc/html/libpq-copy.html
> ./usr/local/pgsql/doc/html/libpq-envars.html
> ./usr/local/pgsql/doc/html/libpq-example.html
> ./usr/local/pgsql/doc/html/libpq-exec.html
> ./usr/local/pgsql/doc/html/libpq-fastpath.html
> ./usr/local/pgsql/doc/html/libpq-ldap.html
> ./usr/local/pgsql/doc/html/libpq-misc.html
> ./usr/local/pgsql/doc/html/libpq-notice-processing.html
> ./usr/local/pgsql/doc/html/libpq-notify.html
> ./usr/local/pgsql/doc/html/libpq-pgpass.html
> ./usr/local/pgsql/doc/html/libpq-pgservice.html
> ./usr/local/pgsql/doc/html/libpq-ssl.html
> ./usr/local/pgsql/doc/html/libpq-status.html
> ./usr/local/pgsql/doc/html/libpq-threading.html
> ./usr/local/pgsql/doc/html/libpq.html
> ./usr/local/pgsql/lib/libpq.a
> ./usr/local/pgsql/include/libpq
> ./usr/local/pgsql/include/libpq/libpq-fs.h
> ./usr/local/pgsql/include/internal/libpq
> ./usr/local/pgsql/include/internal/libpq-int.h
> ./usr/local/pgsql/include/server/libpq
> ./usr/local/pgsql/include/server/libpq/libpq-be.h
> ./usr/local/pgsql/include/server/libpq/libpq-fs.h
> ./usr/local/pgsql/include/server/libpq/libpq.h
> ./usr/local/pgsql/include/libpq-fe.h
>
> BUT I don't have any "libpq.so" file as I am on an AIX system...
>
>
> 3. I tried to specify POSTGRES_INCLUDE and POSTGRES_LIB but the same
> errors occur during the "make process" :
> $ 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
>
>
> Could you please help me or give me advices on these errors ?
>
> Thank you.
> Regards,
> Alexandra
>
>
> Greg Sabino Mullane a écrit :
>> -----BEGIN PGP SIGNED MESSAGE----- Hash:
>> RIPEMD160
>>
>>> !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN
>>>
>>
>> Please don't send mail *only* as HTML to the mailing list
>>
>>
>>> 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.
>>>
>> ...
>>
>>> blib/arch/auto/DBD/Pg/Pg.so&nbsp;&nbsp; -L/usr/local/pgsql/lib -lpq
>>> -lm&nbsp;&nbsp; <br>
>>> ld: 0711-317 ERROR: Undefined symbol:
>>> .PQerrorMessage
>>> ld: 0711-317 ERROR: Undefined symbol: .PQgetResult
>>>
>>
>> How did you install Postgres? If installed by package did you also
>> install
>> the -devel package as well, as mentioned in the README file for DBD::Pg?
>> It's likely that you are not linking to libpq, either because it is not
>> installed or not in a place that ld can see it. See the section on
>> "PostgreSQL library issues" in the DBD::Pg README for possible ways
>> to solve this.
>>
>> - --
>> Greg Sabino Mullane greg(at)turnstep(dot)com
>> PGP Key: 0x14964AC8 200911201309
>> http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
>>
>> -----BEGIN PGP SIGNATURE-----
>>
>> iEYEAREDAAYFAksG25MACgkQvJuQZxSWSshVGwCfSceaylQklvcCQUCMODfasRlW
>> uqAAoJFEEBVuihaSnECaz6i9Vvs93CIn
>> =xh8E
>> -----END PGP SIGNATURE-----
>>
>

--
Alexandra ROY
Database Competence Center

Bull, Architect of an Open World TM
Phone: 04 76 29 77 01
http://www.bull.com

This e-mail contains material that is confidential for the sole use of
the intended recipient. Any review, reliance or distribution by others
or forwarding without express permission is strictly prohibited. If you
are not the intended recipient, please contact the sender and delete all
copies.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message AnthonyV 2009-11-23 11:19:17 Backup Postgre server
Previous Message Thom Brown 2009-11-23 09:18:20 Re: [HACKERS] Updating column on row update