Trouble Installing ODBC 1.13 on Linux 64
Trouble Installing ODBC 1.13 on Linux 64
am 13.07.2007 16:05:14 von ucantspamthis
--_61806a42-9593-43ac-a786-feb969450c16_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
=20
Hope you all are having a pleasant summer.
=20
I am ... just a little trouble installing ODBC for Perl 5.8.5. Perhaps som=
eone can help me out.
=20
I get an error on make .. it appears to be in building ODBC.so:
=20
gcc -shared ODBC.o dbdimp.o -o blib/arch/auto/DBD/ODBC/ODBC.so -L/usr/l=
ib -lodbc/usr/bin/ld: skipping incompatible /usr/lib/libodbc.so when search=
ing for -lodbc/usr/lib/libodbc.a: could not read symbols: Bad valuecollect2=
: ld returned 1 exit statusmake: *** [blib/arch/auto/DBD/ODBC/ODBC.so] Erro=
r 1
TIA,
Craig
Washington DC
=20
~~~~ output ~~~~~~~~~
[mrtg@prod-netflow DBD-ODBC-1.13]$ perl Makefile.PLUseless use of private v=
ariable in void context at Makefile.PL line 431.
Configuring DBD::ODBC ...
>>> Remember to actually *READ* the README file! And re-read it =
if you have any problems.
Multiple copies of Driver.xst found in: /usr/lib64/perl5/site_perl/5.8.5/x8=
6_64-linux-thread-multi/auto/DBI/ /usr/lib64/perl5/vendor_perl/5.8.5/x86_64=
-linux-thread-multi/auto/DBI/ at Makefile.PL line 61Using DBI 1.58 (for per=
l 5.008005 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site=
_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI/Using ODBC in /usr
Umm, this looks like a unixodbc type of driver manager.We expect to find th=
e sql.h, sqlext.h and (which weresupplied with unixODBC) in $ODBCHOME/inclu=
de directory alongsidethe /usr/lib/libodbc.a /usr/lib/libodbc.so library. i=
n $ODBCHOME/lib
Checking if your kit is complete...Looks goodInjecting selected odbc driver=
into cc commandInjecting selected odbc driver into cc commandMultiple copi=
es of Driver.xst found in: /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-th=
read-multi/auto/DBI/ /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread=
-multi/auto/DBI/ at Makefile.PL line 462Using DBI 1.58 (for perl 5.008005 o=
n x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8.5/=
x86_64-linux-thread-multi/auto/DBI/Writing Makefile for DBD::ODBC
The DBD::ODBC tests will use these values for the database connection: D=
BI_DSN=3Ddbi:ODBC:pgsql e.g. dbi:ODBC:demo DBI_USER=3Dpostg=
res DBI_PASS=3Dpostgres
[mrtg@prod-netflow DBD-ODBC-1.13]$ makecp Changes blib/lib/DBD/ODBC/Changes=
..pmcp ODBC.pm blib/lib/DBD/ODBC.pm/usr/bin/perl -p -e "s/~DRIVER~/ODBC/g" /=
usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/au to/DBI/Driver.x=
st > ODBC.xsi/usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -typemap /=
usr/lib/perl5/5.8.5/ExtUtils/typemap ODBC.xs > ODBC.xsc && mv ODBC.xsc ODB=
C.cWarning: duplicate function definition 'data_sources' detected in ODBC.x=
s, line 202gcc -c -I/usr/include -I. -I/usr/lib64/perl5/site_perl/5.8.5/x8=
6_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fn=
o-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OF=
FSET_BITS=3D64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=3D\"1.13\"=
-DXS_VERSION=3D\"1.13\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-threa=
d-multi/CORE" -I/usr/include ODBC.cgcc -c -I/usr/include -I. -I/usr/lib64=
/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_G=
NU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LA=
RGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -I/usr/include/gdbm -O2 -g -pipe -m=
64 -DVERSION=3D\"1.13\" -DXS_VERSION=3D\"1.13\" -fPIC "-I/usr/lib64/perl5=
/5.8.5/x86_64-linux-thread-multi/CORE" -I/usr/include dbdimp.cdbdimp.c: In=
function `odbc_db_STORE_attrib':dbdimp.c:3108: warning: cast from pointer =
to integer of different sizedbdimp.c: In function `odbc_db_FETCH_attrib':db=
dimp.c:3440: warning: cast to pointer from integer of different sizeRunning=
Mkbootstrap for DBD::ODBC ()chmod 644 ODBC.bsrm -f blib/arch/auto/DBD/ODBC=
/ODBC.sogcc -shared ODBC.o dbdimp.o -o blib/arch/auto/DBD/ODBC/ODBC.so =
-L/usr/lib -lodbc/usr/bin/ld: skipping incompatible /usr/lib/libodbc.so whe=
n searching for -lodbc/usr/lib/libodbc.a: could not read symbols: Bad value=
collect2: ld returned 1 exit statusmake: *** [blib/arch/auto/DBD/ODBC/ODBC.=
so] Error 1
=20
[mrtg@prod-netflow DBD-ODBC-1.13]$ ls -l $ODBCHOME/include/sql*.h-rw-r--r--=
1 root root 31945 Nov 21 2005 /usr/include/sql.h-rw-r--r-- 1 root root =
1007 Feb 16 2006 /usr/include/sql3types.h-rw-r--r-- 1 root root 1258 Fe=
b 16 2006 /usr/include/sqlca.h-rw-r--r-- 1 root root 78402 Nov 21 2005 /=
usr/include/sqlext.h-rw-r--r-- 1 root root 11165 Nov 21 2005 /usr/include=
/sqltypes.h-rw-r--r-- 1 root root 21671 Nov 21 2005 /usr/include/sqlucode=
..h
=20
[mrtg@prod-netflow DBD-ODBC-1.13]$ exportdeclare -x DBI_DSN=3D"dbi:ODBC:pgs=
ql"declare -x DBI_PASS=3D"postgres"declare -x DBI_USER=3D"postgres"declare =
-x LANG=3D"C"declare -x LD_LIBRARY_PATH=3D"/usr:/usr/lib/pgsql:/lib:/lib64"=
declare -x ODBCHOME=3D"/usr"declare -x PATH=3D"/sbin:/usr/sbin:/usr/local/s=
bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R 6/bin:/usr/loca=
l/pgsql/bin:/opt/CSCOnfc/bin:/opt/CSCOnfc/tools:/usr/local/m rtg-2/bin:/home=
/mrtg/bin:./"declare -x POSTGRES_INCLUDE=3D"/usr/include/pgsql"declare -x P=
OSTGRES_LIB=3D"/usr/lib64/pgsql"declare -x QTDIR=3D"/usr/lib64/qt-3.3"decla=
re -x SHELL=3D"/bin/bash"declare -x TERM=3D"xterm"
=20
[mrtg@prod-netflow DBD-ODBC-1.13]$ perl -VSummary of my perl5 (revision 5 v=
ersion 8 subversion 5) configuration: Platform: osname=3Dlinux, osvers=
=3D2.6.9-22.18.bz155725.elsmp, archname=3Dx86_64-linux-thread-multi unam=
e=3D'linux hs20-bc1-3.build.redhat.com 2.6.9-22.18.bz155725.elsmp #1 smp th=
u nov 17 15:34:08 est 2005 x86_64 x86_64 x86_64 gnulinux ' config_args=
=3D'-des -Doptimize=3D-O2 -g -pipe -m64 -Dversion=3D5.8.5 -Dmyhostname=3Dlo=
calhost -Dperladmin=3Droot@localhost -Dcc=3Dgcc -Dcf_by=3DRed Hat, Inc. -Di=
nstallprefix=3D/usr -Dprefix=3D/usr -Dlibpth=3D/usr/local/lib64 /lib64 /usr=
/lib64 -Dprivlib=3D/usr/lib/perl5/5.8.5 -Dsitelib=3D/usr/lib/perl5/site_per=
l/5.8.5 -Dvendorlib=3D/usr/lib/perl5/vendor_perl/5.8.5 -Darchlib=3D/usr/lib=
64/perl5/5.8.5/x86_64-linux-thread-multi -Dsitearch=3D/usr/lib64/perl5/site=
_perl/5.8.5/x86_64-linux-thread-multi -Dvendorarch=3D/usr/lib64/perl5/vendo=
r_perl/5.8.5/x86_64-linux-thread-multi -Darchname=3Dx86_64-linux -Dvendorpr=
efix=3D/usr -Dsiteprefix=3D/usr -Duseshrplib -Dusethreads -Duseithreads -Du=
selargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shado=
w -Di_syslog -Dman3ext=3D3pm -Duseperlio -Dinstallusrbinperl -Ubincompat500=
5 -Uversiononly -Dpager=3D/usr/bin/less -isr -Dinc_version_list=3D5.8.4 5.8=
..3 5.8.2 5.8.1 5.8.0' hint=3Drecommended, useposix=3Dtrue, d_sigaction=
=3Ddefine usethreads=3Ddefine use5005threads=3Dundef useithreads=3Ddefin=
e usemultiplicity=3Ddefine useperlio=3Ddefine d_sfio=3Dundef uselargefil=
es=3Ddefine usesocks=3Dundef use64bitint=3Ddefine use64bitall=3Ddefine u=
selongdouble=3Dundef usemymalloc=3Dn, bincompat5005=3Dundef Compiler: =
cc=3D'gcc', ccflags =3D'-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-stric=
t-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BI=
TS=3D64 -I/usr/include/gdbm', optimize=3D'-O2 -g -pipe -m64', cppflag=
s=3D'-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/u=
sr/local/include -I/usr/include/gdbm' ccversion=3D'', gccversion=3D'3.4.=
6 20060404 (Red Hat 3.4.6-2)', gccosandvers=3D'' intsize=3D4, longsize=
=3D8, ptrsize=3D8, doublesize=3D8, byteorder=3D12345678 d_longlong=3Ddef=
ine, longlongsize=3D8, d_longdbl=3Ddefine, longdblsize=3D16 ivtype=3D'lo=
ng', ivsize=3D8, nvtype=3D'double', nvsize=3D8, Off_t=3D'off_t', lseeksize=
=3D8 alignbytes=3D8, prototype=3Ddefine Linker and Libraries: ld=3D'=
gcc', ldflags =3D'' libpth=3D/usr/local/lib64 /lib64 /usr/lib64 libs=
=3D-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perl=
libs=3D-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=3D/lib/=
libc-2.3.3.so, so=3Dso, useshrplib=3Dtrue, libperl=3Dlibperl.so gnulibc_=
version=3D'2.3.4' Dynamic Linking: dlsrc=3Ddl_dlopen.xs, dlext=3Dso, d_=
dlsymun=3Dundef, ccdlflags=3D'-Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.5/x86_=
64-linux-thread-multi/CORE' cccdlflags=3D'-fPIC', lddlflags=3D'-shared'
Characteristics of this binary (from libperl): Compile-time options: DEBUG=
GING MULTIPLICITY USE_ITHREADS USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILE=
S PERL_IMPLICIT_CONTEXT Built under linux Compiled at Jul 24 2006 18:28:1=
4 @INC: /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/pe=
rl5/5.8.5 /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi =
/usr/lib64/perl5/site_perl/5.8.4/x86_64-linux-thread-multi /usr/lib64/pe=
rl5/site_perl/5.8.3/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl=
/5.8.2/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.1/x86_64=
-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.0/x86_64-linux-thread=
-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 =
/usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr=
/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/pe=
rl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-mul=
ti /usr/lib64/perl5/vendor_perl/5.8.4/x86_64-linux-thread-multi /usr/=
lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi /usr/lib64/perl5=
/vendor_perl/5.8.2/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_per=
l/5.8.1/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.0/x86=
_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl=
5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/v=
endor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vend=
or_perl/5.8.0 /usr/lib/perl5/vendor_perl .
=20
____________________________________________________________ _____
Missed the show?=A0 Watch videos of the Live Earth Concert on MSN.
http://liveearth.msn.com=
--_61806a42-9593-43ac-a786-feb969450c16_--
Re: Trouble Installing ODBC 1.13 on Linux 64
am 13.07.2007 17:26:26 von Martin.Evans
Craig Metzer wrote:
>
> Hope you all are having a pleasant summer.
>
> I am ... just a little trouble installing ODBC for Perl 5.8.5. Perhaps someone can help me out.
>
> I get an error on make .. it appears to be in building ODBC.so:
>
> gcc -shared ODBC.o dbdimp.o -o blib/arch/auto/DBD/ODBC/ODBC.so -L/usr/lib -lodbc/usr/bin/ld: skipping incompatible /usr/lib/libodbc.so when searching for -lodbc/usr/lib/libodbc.a: could not read symbols: Bad valuecollect2: ld returned 1 exit statusmake: *** [blib/arch/auto/DBD/ODBC/ODBC.so] Error 1
> TIA,
> Craig
> Washington DC
>
> ~~~~ output ~~~~~~~~~
> [mrtg@prod-netflow DBD-ODBC-1.13]$ perl Makefile.PLUseless use of private variable in void context at Makefile.PL line 431.
> Configuring DBD::ODBC ...
>>>> Remember to actually *READ* the README file! And re-read it if you have any problems.
> Multiple copies of Driver.xst found in: /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/DBI/ /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /auto/DBI/ at Makefile.PL line 61Using DBI 1.58 (for perl 5.008005 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/DBI/Using ODBC in /usr
> Umm, this looks like a unixodbc type of driver manager.We expect to find the sql.h, sqlext.h and (which weresupplied with unixODBC) in $ODBCHOME/include directory alongsidethe /usr/lib/libodbc.a /usr/lib/libodbc.so library. in $ODBCHOME/lib
> Checking if your kit is complete...Looks goodInjecting selected odbc driver into cc commandInjecting selected odbc driver into cc commandMultiple copies of Driver.xst found in: /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/DBI/ /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /auto/DBI/ at Makefile.PL line 462Using DBI 1.58 (for perl 5.008005 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/DBI/Writing Makefile for DBD::ODBC
> The DBD::ODBC tests will use these values for the database connection: DBI_DSN=dbi:ODBC:pgsql e.g. dbi:ODBC:demo DBI_USER=postgres DBI_PASS=postgres
> [mrtg@prod-netflow DBD-ODBC-1.13]$ makecp Changes blib/lib/DBD/ODBC/Changes.pmcp ODBC.pm blib/lib/DBD/ODBC.pm/usr/bin/perl -p -e "s/~DRIVER~/ODBC/g" /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/DBI/Driver.xst > ODBC.xsi/usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.5/ExtUtils/typemap ODBC.xs > ODBC.xsc && mv ODBC.xsc ODBC.cWarning: duplicate function definition 'data_sources' detected in ODBC.xs, line 202gcc -c -I/usr/include -I. -I/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=\"1.13\" -DXS_VERSION=\"1.13\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE" -I/usr/include ODBC.cgcc -c -I/usr/include -I. -I/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBUGGI
NG -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=\"1.13\" -DXS_VERSION=\"1.13\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE" -I/usr/include dbdimp.cdbdimp.c: In function `odbc_db_STORE_attrib':dbdimp.c:3108: warning: cast from pointer to integer of different sizedbdimp.c: In function `odbc_db_FETCH_attrib':dbdimp.c:3440: warning: cast to pointer from integer of different sizeRunning Mkbootstrap for DBD::ODBC ()chmod 644 ODBC.bsrm -f blib/arch/auto/DBD/ODBC/ODBC.sogcc -shared ODBC.o dbdimp.o -o blib/arch/auto/DBD/ODBC/ODBC.so -L/usr/lib -lodbc/usr/bin/ld: skipping incompatible /usr/lib/libodbc.so when searching for -lodbc/usr/lib/libodbc.a: could not read symbols: Bad valuecollect2: ld returned 1 exit statusmake: *** [blib/arch/auto/DBD/ODBC/ODBC.so] Error 1
>
> [mrtg@prod-netflow DBD-ODBC-1.13]$ ls -l $ODBCHOME/include/sql*.h-rw-r--r-- 1 root root 31945 Nov 21 2005 /usr/include/sql.h-rw-r--r-- 1 root root 1007 Feb 16 2006 /usr/include/sql3types.h-rw-r--r-- 1 root root 1258 Feb 16 2006 /usr/include/sqlca.h-rw-r--r-- 1 root root 78402 Nov 21 2005 /usr/include/sqlext.h-rw-r--r-- 1 root root 11165 Nov 21 2005 /usr/include/sqltypes.h-rw-r--r-- 1 root root 21671 Nov 21 2005 /usr/include/sqlucode.h
>
> [mrtg@prod-netflow DBD-ODBC-1.13]$ exportdeclare -x DBI_DSN="dbi:ODBC:pgsql"declare -x DBI_PASS="postgres"declare -x DBI_USER="postgres"declare -x LANG="C"declare -x LD_LIBRARY_PATH="/usr:/usr/lib/pgsql:/lib:/lib64"declare -x ODBCHOME="/usr"declare -x PATH="/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/bin:/usr /local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/pgsql/bin :/opt/CSCOnfc/bin:/opt/CSCOnfc/tools:/usr/local/mrtg-2/bin:/ home/mrtg/bin:./"declare -x POSTGRES_INCLUDE="/usr/include/pgsql"declare -x POSTGRES_LIB="/usr/lib64/pgsql"declare -x QTDIR="/usr/lib64/qt-3.3"declare -x SHELL="/bin/bash"declare -x TERM="xterm"
>
> [mrtg@prod-netflow DBD-ODBC-1.13]$ perl -VSummary of my perl5 (revision 5 version 8 subversion 5) configuration: Platform: osname=linux, osvers=2.6.9-22.18.bz155725.elsmp, archname=x86_64-linux-thread-multi uname='linux hs20-bc1-3.build.redhat.com 2.6.9-22.18.bz155725.elsmp #1 smp thu nov 17 15:34:08 est 2005 x86_64 x86_64 x86_64 gnulinux ' config_args='-des -Doptimize=-O2 -g -pipe -m64 -Dversion=5.8.5 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dprivlib=/usr/lib/perl5/5.8.5 -Dsitelib=/usr/lib/perl5/site_perl/5.8.5 -Dvendorlib=/usr/lib/perl5/vendor_perl/5.8.5 -Darchlib=/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi -Dsitearch=/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thr ead-multi -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux -thread-multi -Darchname=x86_64-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads -Dus
eithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dinc_version_list=5.8.4 5.8.3 5.8.2 5.8.1 5.8.0' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm', optimize='-O2 -g -pipe -m64', cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm' ccversion='', gccversion='3.4.6 20060404 (Red Hat 3.4.6-2)', gccosandvers='' intsiz
e=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='gcc', ldflags ='' libpth=/usr/local/lib64 /lib64 /usr/lib64 libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.3.3.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.3.4' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/ CORE' cccdlflags='-fPIC', lddlflags='-shared'
> Characteristics of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Built under linux Compiled at Jul 24 2006 18:28:14 @INC: /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.4/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.3/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.2/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.1/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.0/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /usr/li
b64/perl5/vendor_perl/5.8.4/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.2/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.1/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.0/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .
>
A quick search on google shows this is will happen on 64bit Linux when
you attempt to use a .a (just search for "could not read symbols: Bad
value collect2") and you'll find stuff like:
http://linuxfromscratch.org/pipermail/cross-lfs/2006-March/0 01659.html
I think your actual issue though is "/usr/bin/ld: skipping incompatible
/usr/lib/libodbc.so when searching for -lodbc" which suggests your
dynamically built libodbc.so shared object is not built the same as your
perl i.e. one is 32bit and the other is 64bit. A quick "file libodbc.so"
should tell you for sure. You need a shared object of libodbc.so built
the same as your Perl.
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com
RE: Trouble Installing ODBC 1.13 on Linux 64
am 13.07.2007 17:30:49 von ucantspamthis
--_cd297c58-4932-40a2-aefb-77f578e474f2_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Thanks for the reply Dan.
=20
Yes, I have the ODBC drivers installed. I'm using the PostgreSQL database =
and I can connect to my DB remotely as well as locally. I have also run th=
e odbc test to ensure I could connect to the db using the unixODBC driver.
=20
So, I'm confident unixODBC and PostgreSQL Db are configured correctly and o=
perational.
=20
I believe this is a problem with the Perl ODBC library build.
=20
Craig
> Subject: RE: Trouble Installing ODBC 1.13 on Linux 64> Date: Fri, 13 Jul =
2007 10:21:40 -0400> From: DKing@carms.ca> To: ucantspamthis@hotmail.com> >=
I'm not sure where to look, but do you have the ODBC drivers installed? I =
know in linux/unix they are called iODBC. If you can't seem to find the dri=
vers then you should try installing them and see if that helps fix your pro=
blem.> > Dan King> Software Developer> Canadian Resident Matching Service> =
613.237.0075 ext. 241> (Toll free) 877.CARMS.42> 171 Nepean Street, Suite 3=
00> Ottawa, ON, CAN K2P 0B4> www.carms.ca> > ------------------------------=
------------------------------------------------------> > This e-mail messa=
ge, including any attachments, is for the sole use of the intended recipien=
ts and may contain confidential and or privileged information. If you are n=
ot the intended recipient or this information has been forwarded in error, =
please contact the sender by reply e-mail and destroy copies of the origina=
l message. Ce message (incluant toute pi=E8ce jointe) s'adresse uniquement =
au(x) destinataire(s) pr=E9vu(s) ou =E0 une personne autoris=E9e =E0 le rec=
evoir en son (leur) nom. Il pourrait contenir des renseignements confidenti=
els ou prot=E9g=E9s. Si vous l'avez re=E7u par erreur, nous vous prions d'e=
n informer l'auteur dans les meilleurs d=E9lais, de ne pas divulguer son co=
ntenu et de le supprimer de votre syst=E8me. Merci.> > -----Original Messag=
e-----> From: Craig Metzer [mailto:ucantspamthis@hotmail.com] > Sent: July =
13, 2007 10:16 AM> To: dbi-users@perl.org> Subject: Trouble Installing ODBC=
1.13 on Linux 64> > > Hope you all are having a pleasant summer.> > I am .=
... just a little trouble installing ODBC for Perl 5.8.5. Perhaps someone ca=
n help me out.> > I get an error on make .. it appears to be in building OD=
BC.so:> > gcc -shared ODBC.o dbdimp.o -o blib/arch/auto/DBD/ODBC/ODBC.so -L=
/usr/lib -lodbc/usr/bin/ld: skipping incompatible /usr/lib/libodbc.so when =
searching for -lodbc/usr/lib/libodbc.a: could not read symbols: Bad valueco=
llect2: ld returned 1 exit statusmake: *** [blib/arch/auto/DBD/ODBC/ODBC.so=
] Error 1> TIA,> Craig> Washington DC> > ~~~~ output ~~~~~~~~~> [mrtg@prod-=
netflow DBD-ODBC-1.13]$ perl Makefile.PLUseless use of private variable in =
void context at Makefile.PL line 431.> Configuring DBD::ODBC ...> >>> Remem=
ber to actually *READ* the README file! And re-read it if you have any prob=
lems.> Multiple copies of Driver.xst found in: /usr/lib64/perl5/site_perl/5=
..8.5/x86_64-linux-thread-multi/auto/DBI/ /usr/lib64/perl5/vendor_perl/5.8.5=
/x86_64-linux-thread-multi/auto/DBI/ at Makefile.PL line 61Using DBI 1.58 (=
for perl 5.008005 on x86_64-linux-thread-multi) installed in /usr/lib64/per=
l5/site_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI/Using ODBC in /usr> U=
mm, this looks like a unixodbc type of driver manager.We expect to find the=
sql.h, sqlext.h and (which weresupplied with unixODBC) in $ODBCHOME/includ=
e directory alongsidethe /usr/lib/libodbc.a /usr/lib/libodbc.so library. in=
$ODBCHOME/lib> Checking if your kit is complete...Looks goodInjecting sele=
cted odbc driver into cc commandInjecting selected odbc driver into cc comm=
andMultiple copies of Driver.xst found in: /usr/lib64/perl5/site_perl/5.8.5=
/x86_64-linux-thread-multi/auto/DBI/ /usr/lib64/perl5/vendor_perl/5.8.5/x86=
_64-linux-thread-multi/auto/DBI/ at Makefile.PL line 462Using DBI 1.58 (for=
perl 5.008005 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/=
site_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI/Writing Makefile for DBD=
::ODBC> The DBD::ODBC tests will use these values for the database connecti=
on: DBI_DSN=3Ddbi:ODBC:pgsql e.g. dbi:ODBC:demo DBI_USER=3Dpostgres DBI_PAS=
S=3Dpostgres> [mrtg@prod-netflow DBD-ODBC-1.13]$ makecp Changes blib/lib/DB=
D/ODBC/Changes..pmcp ODBC.pm blib/lib/DBD/ODBC.pm/usr/bin/perl -p -e "s/~DR=
IVER~/ODBC/g" /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a u=
to/DBI/Driver.xst > ODBC.xsi/usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsu=
bpp -typemap /usr/lib/perl5/5.8.5/ExtUtils/typemap ODBC.xs > ODBC.xsc && mv=
ODBC.xsc ODBC.cWarning: duplicate function definition 'data_sources' detec=
ted in ODBC.xs, line 202gcc -c -I/usr/include -I. -I/usr/lib64/perl5/site_p=
erl/5.8.5/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DD=
EBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURC=
E -D_FILE_OFFSET_BITS=3D64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=
=3D\"1.13\" -DXS_VERSION=3D\"1.13\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-=
linux-thread-multi/CORE" -I/usr/include ODBC.cgcc -c -I/usr/include -I. -I/=
usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/au to/DBI -D_REENT=
RANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/incl=
ude -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -I/usr/include/gdbm -O2 -g=
-pipe -m64 -DVERSION=3D\"1.13\" -DXS_VERSION=3D\"1.13\" -fPIC "-I/usr/lib6=
4/perl5/5.8.5/x86_64-linux-thread-multi/CORE" -I/usr/include dbdimp.cdbdimp=
..c: In function `odbc_db_STORE_attrib':dbdimp.c:3108: warning: cast from po=
inter to integer of different sizedbdimp.c: In function `odbc_db_FETCH_attr=
ib':dbdimp.c:3440: warning: cast to pointer from integer of different sizeR=
unning Mkbootstrap for DBD::ODBC ()chmod 644 ODBC.bsrm -f blib/arch/auto/DB=
D/ODBC/ODBC.sogcc -shared ODBC.o dbdimp.o -o blib/arch/auto/DBD/ODBC/ODBC.s=
o -L/usr/lib -lodbc/usr/bin/ld: skipping incompatible /usr/lib/libodbc.so w=
hen searching for -lodbc/usr/lib/libodbc.a: could not read symbols: Bad val=
uecollect2: ld returned 1 exit statusmake: *** [blib/arch/auto/DBD/ODBC/ODB=
C.so] Error 1> > [mrtg@prod-netflow DBD-ODBC-1.13]$ ls -l $ODBCHOME/include=
/sql*.h-rw-r--r-- 1 root root 31945 Nov 21 2005 /usr/include/sql.h-rw-r--r-=
- 1 root root 1007 Feb 16 2006 /usr/include/sql3types.h-rw-r--r-- 1 root ro=
ot 1258 Feb 16 2006 /usr/include/sqlca.h-rw-r--r-- 1 root root 78402 Nov 21=
2005 /usr/include/sqlext.h-rw-r--r-- 1 root root 11165 Nov 21 2005 /usr/in=
clude/sqltypes.h-rw-r--r-- 1 root root 21671 Nov 21 2005 /usr/include/sqluc=
ode..h> > [mrtg@prod-netflow DBD-ODBC-1.13]$ exportdeclare -x DBI_DSN=3D"db=
i:ODBC:pgsql"declare -x DBI_PASS=3D"postgres"declare -x DBI_USER=3D"postgre=
s"declare -x LANG=3D"C"declare -x LD_LIBRARY_PATH=3D"/usr:/usr/lib/pgsql:/l=
ib:/lib64"declare -x ODBCHOME=3D"/usr"declare -x PATH=3D"/sbin:/usr/sbin:/u=
sr/local/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin :/usr/X11R6/bin=
:/usr/local/pgsql/bin:/opt/CSCOnfc/bin:/opt/CSCOnfc/tools:/u sr/local/mrtg-2=
/bin:/home/mrtg/bin:./"declare -x POSTGRES_INCLUDE=3D"/usr/include/pgsql"de=
clare -x POSTGRES_LIB=3D"/usr/lib64/pgsql"declare -x QTDIR=3D"/usr/lib64/qt=
-3.3"declare -x SHELL=3D"/bin/bash"declare -x TERM=3D"xterm"> > [mrtg@prod-=
netflow DBD-ODBC-1.13]$ perl -VSummary of my perl5 (revision 5 version 8 su=
bversion 5) configuration: Platform: osname=3Dlinux, osvers=3D2.6.9-22.18.b=
z155725.elsmp, archname=3Dx86_64-linux-thread-multi uname=3D'linux hs20-bc1=
-3.build.redhat.com 2.6.9-22.18.bz155725.elsmp #1 smp thu nov 17 15:34:08 e=
st 2005 x86_64 x86_64 x86_64 gnulinux ' config_args=3D'-des -Doptimize=3D-O=
2 -g -pipe -m64 -Dversion=3D5.8.5 -Dmyhostname=3Dlocalhost -Dperladmin=3Dro=
ot@localhost -Dcc=3Dgcc -Dcf_by=3DRed Hat, Inc. -Dinstallprefix=3D/usr -Dpr=
efix=3D/usr -Dlibpth=3D/usr/local/lib64 /lib64 /usr/lib64 -Dprivlib=3D/usr/=
lib/perl5/5.8.5 -Dsitelib=3D/usr/lib/perl5/site_perl/5.8.5 -Dvendorlib=3D/u=
sr/lib/perl5/vendor_perl/5.8.5 -Darchlib=3D/usr/lib64/perl5/5.8.5/x86_64-li=
nux-thread-multi -Dsitearch=3D/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux=
-thread-multi -Dvendorarch=3D/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-lin u=
x-thread-multi -Darchname=3Dx86_64-linux -Dvendorprefix=3D/usr -Dsiteprefix=
=3D/usr -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid =
-Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=
=3D3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpage=
r=3D/usr/bin/less -isr -Dinc_version_list=3D5.8.4 5.8..3 5.8.2 5.8.1 5.8.0'=
hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine usethreads=3Ddef=
ine use5005threads=3Dundef useithreads=3Ddefine usemultiplicity=3Ddefine us=
eperlio=3Ddefine d_sfio=3Dundef uselargefiles=3Ddefine usesocks=3Dundef use=
64bitint=3Ddefine use64bitall=3Ddefine uselongdouble=3Dundef usemymalloc=3D=
n, bincompat5005=3Dundef Compiler: cc=3D'gcc', ccflags =3D'-D_REENTRANT -D_=
GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_L=
ARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -I/usr/include/gdbm', optimize=3D'=
-O2 -g -pipe -m64', cppflags=3D'-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno=
-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm' ccversion=
=3D'', gccversion=3D'3.4.6 20060404 (Red Hat 3.4.6-2)', gccosandvers=3D'' i=
ntsize=3D4, longsize=3D8, ptrsize=3D8, doublesize=3D8, byteorder=3D12345678=
d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, longdblsize=3D1=
6 ivtype=3D'long', ivsize=3D8, nvtype=3D'double', nvsize=3D8, Off_t=3D'off_=
t', lseeksize=3D8 alignbytes=3D8, prototype=3Ddefine Linker and Libraries: =
ld=3D'gcc', ldflags =3D'' libpth=3D/usr/local/lib64 /lib64 /usr/lib64 libs=
=3D-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perllib=
s=3D-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=3D/lib/libc-2=
..3.3.so, so=3Dso, useshrplib=3Dtrue, libperl=3Dlibperl.so gnulibc_version=
=3D'2.3.4' Dynamic Linking: dlsrc=3Ddl_dlopen.xs, dlext=3Dso, d_dlsymun=3Du=
ndef, ccdlflags=3D'-Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.5/x86_64-linux-th=
read-multi/CORE' cccdlflags=3D'-fPIC', lddlflags=3D'-shared'> Characteristi=
cs of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLIC=
ITY USE_ITHREADS USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICI=
T_CONTEXT Built under linux Compiled at Jul 24 2006 18:28:14 @INC: /usr/lib=
64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib64/pe=
rl5/site_perl/5.8.5/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.=
8.4/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.3/x86_64-linux=
-thread-multi /usr/lib64/perl5/site_perl/5.8.2/x86_64-linux-thread-multi /u=
sr/lib64/perl5/site_perl/5.8.1/x86_64-linux-thread-multi /usr/lib64/perl5/s=
ite_perl/5.8.0/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /us=
r/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/s=
ite_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.=
0 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-=
thread-multi /usr/lib64/perl5/vendor_perl/5.8.4/x86_64-linux-thread-multi /=
usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi /usr/lib64/perl=
5/vendor_perl/5.8.2/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/=
5.8.1/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.0/x86_64-l=
inux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_pe=
rl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 =
/usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/=
perl5/vendor_perl .> > ____________________________________________________=
_____________> Missed the show? Watch videos of the Live Earth Concert on =
MSN.> http://liveearth.msn.com
____________________________________________________________ _____
Local listings, incredible imagery, and driving directions - all in one pla=
ce! Find it!
http://maps.live.com/?wip=3D69&FORM=3DMGAC01=
--_cd297c58-4932-40a2-aefb-77f578e474f2_--
RE: Trouble Installing ODBC 1.13 on Linux 64
am 13.07.2007 17:46:01 von ucantspamthis
--_be8dce20-d78d-49cf-8c19-c26e892b4132_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Martin,
Thanks for the reply.
I'm not sure I understand the problem with the .a files. How would I go ab=
out makeing it use teh .la? Would I have to mod the Makefile?
I have two versions of libodbc one 32 and another 64.
The paths that Makefile chose were the 32-bit ... should I mod these to use=
the lib64 instead?
Thanks for the help.
Craig
~~~~ file output ~~~~~~
[root@prod-netflow DBD-ODBC-1.13]# file /usr/lib64/libodbc.so/usr/lib64/lib=
odbc.so: symbolic link to `libodbc.so.1.0.0'[root@prod-netflow DBD-ODBC-1.1=
3]# file /usr/lib64/libodbc.so.1.0.0/usr/lib64/libodbc.so.1.0.0: ELF 64-bit=
LSB shared object, AMD x86-64, version 1 (SYSV), stripped[root@prod-netflo=
w DBD-ODBC-1.13]# file /usr/lib/libodbc.so/usr/lib/libodbc.so: symbolic lin=
k to `libodbc.so.1.0.0'[root@prod-netflow DBD-ODBC-1.13]# file /usr/lib/lib=
odbc.so.1.0.0/usr/lib/libodbc.so.1.0.0: ELF 32-bit LSB shared object, Intel=
80386, version 1 (SYSV), stripped
=20
> Date: Fri, 13 Jul 2007 16:26:26 +0100> From: martin.evans@easysoft.com> T=
o: dbi-users@perl.org> Subject: Re: Trouble Installing ODBC 1.13 on Linux 6=
4> > Craig Metzer wrote:> > > > Hope you all are having a pleasant summer.>=
> > > I am ... just a little trouble installing ODBC for Perl 5.8.5. Perha=
ps someone can help me out.> > > > I get an error on make .. it appears to =
be in building ODBC.so:> > > > gcc -shared ODBC.o dbdimp.o -o blib/arch/aut=
o/DBD/ODBC/ODBC.so -L/usr/lib -lodbc/usr/bin/ld: skipping incompatible /usr=
/lib/libodbc.so when searching for -lodbc/usr/lib/libodbc.a: could not read=
symbols: Bad valuecollect2: ld returned 1 exit statusmake: *** [blib/arch/=
auto/DBD/ODBC/ODBC.so] Error 1> > TIA,> > Craig> > Washington DC> > > > ~~~=
~ output ~~~~~~~~~> > [mrtg@prod-netflow DBD-ODBC-1.13]$ perl Makefile.PLUs=
eless use of private variable in void context at Makefile.PL line 431.> > C=
onfiguring DBD::ODBC ...> >>>> Remember to actually *READ* the README file!=
And re-read it if you have any problems.> > Multiple copies of Driver.xst =
found in: /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/D=
BI/ /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /auto/DBI/ =
at Makefile.PL line 61Using DBI 1.58 (for perl 5.008005 on x86_64-linux-thr=
ead-multi) installed in /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-threa=
d-multi/auto/DBI/Using ODBC in /usr> > Umm, this looks like a unixodbc type=
of driver manager.We expect to find the sql.h, sqlext.h and (which weresup=
plied with unixODBC) in $ODBCHOME/include directory alongsidethe /usr/lib/l=
ibodbc.a /usr/lib/libodbc.so library. in $ODBCHOME/lib> > Checking if your =
kit is complete...Looks goodInjecting selected odbc driver into cc commandI=
njecting selected odbc driver into cc commandMultiple copies of Driver.xst =
found in: /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/D=
BI/ /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /auto/DBI/ =
at Makefile.PL line 462Using DBI 1.58 (for perl 5.008005 on x86_64-linux-th=
read-multi) installed in /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thre=
ad-multi/auto/DBI/Writing Makefile for DBD::ODBC> > The DBD::ODBC tests wil=
l use these values for the database connection: DBI_DSN=3Ddbi:ODBC:pgsql e.=
g. dbi:ODBC:demo DBI_USER=3Dpostgres DBI_PASS=3Dpostgres> > [mrtg@prod-netf=
low DBD-ODBC-1.13]$ makecp Changes blib/lib/DBD/ODBC/Changes.pmcp ODBC.pm b=
lib/lib/DBD/ODBC.pm/usr/bin/perl -p -e "s/~DRIVER~/ODBC/g" /usr/lib64/perl5=
/site_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI/Driver.x st > ODBC.xsi/u=
sr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.=
8.5/ExtUtils/typemap ODBC.xs > ODBC.xsc && mv ODBC.xsc ODBC.cWarning: dupli=
cate function definition 'data_sources' detected in ODBC.xs, line 202gcc -c=
-I/usr/include -I. -I/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-=
multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing =
-pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -I/=
usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=3D\"1.13\" -DXS_VERSION=3D\"1.=
13\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE" -I/usr=
/include ODBC.cgcc -c -I/usr/include -I. -I/usr/lib64/perl5/site_perl/5.8.5=
/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBUGGI> N=
G -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FI=
LE_OFFSET_BITS=3D64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=3D\"1.1=
3\" -DXS_VERSION=3D\"1.13\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-th=
read-multi/CORE" -I/usr/include dbdimp.cdbdimp.c: In function `odbc_db_STOR=
E_attrib':dbdimp.c:3108: warning: cast from pointer to integer of different=
sizedbdimp.c: In function `odbc_db_FETCH_attrib':dbdimp.c:3440: warning: c=
ast to pointer from integer of different sizeRunning Mkbootstrap for DBD::O=
DBC ()chmod 644 ODBC.bsrm -f blib/arch/auto/DBD/ODBC/ODBC.sogcc -shared ODB=
C.o dbdimp.o -o blib/arch/auto/DBD/ODBC/ODBC.so -L/usr/lib -lodbc/usr/bin/l=
d: skipping incompatible /usr/lib/libodbc.so when searching for -lodbc/usr/=
lib/libodbc.a: could not read symbols: Bad valuecollect2: ld returned 1 exi=
t statusmake: *** [blib/arch/auto/DBD/ODBC/ODBC.so] Error 1> > > > [mrtg@pr=
od-netflow DBD-ODBC-1.13]$ ls -l $ODBCHOME/include/sql*.h-rw-r--r-- 1 root =
root 31945 Nov 21 2005 /usr/include/sql.h-rw-r--r-- 1 root root 1007 Feb 16=
2006 /usr/include/sql3types.h-rw-r--r-- 1 root root 1258 Feb 16 2006 /usr/=
include/sqlca.h-rw-r--r-- 1 root root 78402 Nov 21 2005 /usr/include/sqlext=
..h-rw-r--r-- 1 root root 11165 Nov 21 2005 /usr/include/sqltypes.h-rw-r--r-=
- 1 root root 21671 Nov 21 2005 /usr/include/sqlucode.h> > > > [mrtg@prod-n=
etflow DBD-ODBC-1.13]$ exportdeclare -x DBI_DSN=3D"dbi:ODBC:pgsql"declare -=
x DBI_PASS=3D"postgres"declare -x DBI_USER=3D"postgres"declare -x LANG=3D"C=
"declare -x LD_LIBRARY_PATH=3D"/usr:/usr/lib/pgsql:/lib:/lib64"declare -x O=
DBCHOME=3D"/usr"declare -x PATH=3D"/sbin:/usr/sbin:/usr/local/sbin:/usr/ker=
beros/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/l ocal/pgsql/bin:=
/opt/CSCOnfc/bin:/opt/CSCOnfc/tools:/usr/local/mrtg-2/bin:/h ome/mrtg/bin:./=
"declare -x POSTGRES_INCLUDE=3D"/usr/include/pgsql"declare -x POSTGRES_LIB=
=3D"/usr/lib64/pgsql"declare -x QTDIR=3D"/usr/lib64/qt-3.3"declare -x SHELL=
=3D"/bin/bash"declare -x TERM=3D"xterm"> > > > [mrtg@prod-netflow DBD-ODBC-=
1.13]$ perl -VSummary of my perl5 (revision 5 version 8 subversion 5) confi=
guration: Platform: osname=3Dlinux, osvers=3D2.6.9-22.18.bz155725.elsmp, ar=
chname=3Dx86_64-linux-thread-multi uname=3D'linux hs20-bc1-3.build.redhat.c=
om 2.6.9-22.18.bz155725.elsmp #1 smp thu nov 17 15:34:08 est 2005 x86_64 x8=
6_64 x86_64 gnulinux ' config_args=3D'-des -Doptimize=3D-O2 -g -pipe -m64 -=
Dversion=3D5.8.5 -Dmyhostname=3Dlocalhost -Dperladmin=3Droot@localhost -Dcc=
=3Dgcc -Dcf_by=3DRed Hat, Inc. -Dinstallprefix=3D/usr -Dprefix=3D/usr -Dlib=
pth=3D/usr/local/lib64 /lib64 /usr/lib64 -Dprivlib=3D/usr/lib/perl5/5.8.5 -=
Dsitelib=3D/usr/lib/perl5/site_perl/5.8.5 -Dvendorlib=3D/usr/lib/perl5/vend=
or_perl/5.8.5 -Darchlib=3D/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi =
-Dsitearch=3D/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-t hread-multi -Dv=
endorarch=3D/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux- thread-multi -D=
archname=3Dx86_64-linux -Dvendorprefix=3D/usr -Dsiteprefix=3D/usr -Duseshrp=
lib -Dusethreads -Dus> eithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semu=
n -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3D3pm -Duseperli=
o -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=3D/usr/bin/less=
-isr -Dinc_version_list=3D5.8.4 5.8.3 5.8.2 5.8.1 5.8.0' hint=3Drecommende=
d, useposix=3Dtrue, d_sigaction=3Ddefine usethreads=3Ddefine use5005threads=
=3Dundef useithreads=3Ddefine usemultiplicity=3Ddefine useperlio=3Ddefine d=
_sfio=3Dundef uselargefiles=3Ddefine usesocks=3Dundef use64bitint=3Ddefine =
use64bitall=3Ddefine uselongdouble=3Dundef usemymalloc=3Dn, bincompat5005=
=3Dundef Compiler: cc=3D'gcc', ccflags =3D'-D_REENTRANT -D_GNU_SOURCE -DDEB=
UGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE =
-D_FILE_OFFSET_BITS=3D64 -I/usr/include/gdbm', optimize=3D'-O2 -g -pipe -m6=
4', cppflags=3D'-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing=
-pipe -I/usr/local/include -I/usr/include/gdbm' ccversion=3D'', gccversion=
=3D'3.4.6 20060404 (Red Hat 3.4.6-2)', gccosandvers=3D'' intsiz> e=3D4, lon=
gsize=3D8, ptrsize=3D8, doublesize=3D8, byteorder=3D12345678 d_longlong=3Dd=
efine, longlongsize=3D8, d_longdbl=3Ddefine, longdblsize=3D16 ivtype=3D'lon=
g', ivsize=3D8, nvtype=3D'double', nvsize=3D8, Off_t=3D'off_t', lseeksize=
=3D8 alignbytes=3D8, prototype=3Ddefine Linker and Libraries: ld=3D'gcc', l=
dflags =3D'' libpth=3D/usr/local/lib64 /lib64 /usr/lib64 libs=3D-lresolv -l=
nsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=3D-lresolv -=
lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=3D/lib/libc-2.3.3.so, so=3D=
so, useshrplib=3Dtrue, libperl=3Dlibperl.so gnulibc_version=3D'2.3.4' Dynam=
ic Linking: dlsrc=3Ddl_dlopen.xs, dlext=3Dso, d_dlsymun=3Dundef, ccdlflags=
=3D'-Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/ CORE=
' cccdlflags=3D'-fPIC', lddlflags=3D'-shared'> > Characteristics of this bi=
nary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY USE_ITHRE=
ADS USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Bui=
lt under linux Compiled at Jul 24 2006 18:28:14 @INC: /usr/lib64/perl5/5.8.=
5/x86_64-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib64/perl5/site_perl=
/5.8.5/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.4/x86_64-li=
nux-thread-multi /usr/lib64/perl5/site_perl/5.8.3/x86_64-linux-thread-multi=
/usr/lib64/perl5/site_perl/5.8.2/x86_64-linux-thread-multi /usr/lib64/perl=
5/site_perl/5.8.1/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.=
0/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/s=
ite_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.=
2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/pe=
rl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi =
/usr/li> b64/perl5/vendor_perl/5.8.4/x86_64-linux-thread-multi /usr/lib64/p=
erl5/vendor_perl/5.8.3/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_pe=
rl/5.8.2/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.1/x86_6=
4-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.0/x86_64-linux-thread=
-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /u=
sr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/pe=
rl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendo=
r_perl .> > > > A quick search on google shows this is will happen on 64bit=
Linux when > you attempt to use a .a (just search for "could not read symb=
ols: Bad > value collect2") and you'll find stuff like:> > http://linuxfrom=
scratch.org/pipermail/cross-lfs/2006-March/001659.html> > I think your actu=
al issue though is "/usr/bin/ld: skipping incompatible > /usr/lib/libodbc.s=
o when searching for -lodbc" which suggests your > dynamically built libodb=
c.so shared object is not built the same as your > perl i.e. one is 32bit a=
nd the other is 64bit. A quick "file libodbc.so" > should tell you for sure=
.. You need a shared object of libodbc.so built > the same as your Perl.> > =
Martin> -- > Martin J. Evans> Easysoft Limited> http://www.easysoft.com
____________________________________________________________ _____
Don't get caught with egg on your face. Play Chicktionary!
http://club.live.com/chicktionary.aspx?icid=3Dchick_wlmailte xtlink=
--_be8dce20-d78d-49cf-8c19-c26e892b4132_--
Re: Trouble Installing ODBC 1.13 on Linux 64
am 13.07.2007 17:54:57 von Martin.Evans
Craig Metzer wrote:
> Martin,
> Thanks for the reply.
> I'm not sure I understand the problem with the .a files. How would I go about makeing it use teh .la?
That was just example showing what happens when the gnu linker hits a 32
bit .a when it is attempting to do a 64 bit build - I was not suggesting
you need to use .la files as you are not using configure and libtool.
> Would I have to mod the Makefile?
> I have two versions of libodbc one 32 and another 64.
> The paths that Makefile chose were the 32-bit ... should I mod these to use the lib64 instead?
It looked to me that your perl was 64 bit and hence you need to point
DBD::ODBC at the 64 bit unixODBC. That might be a little tricky as it
stands without editing the makefile as you look like you want DBD::ODBC
to look in /usr/lib64 for libodbc.so but /usr/include for the header
files and DBD::ODBC only supports specifying the one location for the
driver/driver_manager.
I'd do a perl Makefile.PL with ODBCHOME set to /usr then edit the
makefile for now and change the -L/usr/lib to -L/usr/lib64.
> Thanks for the help.
> Craig
> ~~~~ file output ~~~~~~
> [root@prod-netflow DBD-ODBC-1.13]# file /usr/lib64/libodbc.so/usr/lib64/libodbc.so: symbolic link to `libodbc.so.1.0.0'[root@prod-netflow DBD-ODBC-1.13]# file /usr/lib64/libodbc.so.1.0.0/usr/lib64/libodbc.so.1.0.0: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), stripped[root@prod-netflow DBD-ODBC-1.13]# file /usr/lib/libodbc.so/usr/lib/libodbc.so: symbolic link to `libodbc.so.1.0.0'[root@prod-netflow DBD-ODBC-1.13]# file /usr/lib/libodbc.so.1.0.0/usr/lib/libodbc.so.1.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped
>
>
>
>
>> Date: Fri, 13 Jul 2007 16:26:26 +0100> From: martin.evans@easysoft.com> To: dbi-users@perl.org> Subject: Re: Trouble Installing ODBC 1.13 on Linux 64> > Craig Metzer wrote:> > > > Hope you all are having a pleasant summer.> > > > I am ... just a little trouble installing ODBC for Perl 5.8.5. Perhaps someone can help me out.> > > > I get an error on make .. it appears to be in building ODBC.so:> > > > gcc -shared ODBC.o dbdimp.o -o blib/arch/auto/DBD/ODBC/ODBC.so -L/usr/lib -lodbc/usr/bin/ld: skipping incompatible /usr/lib/libodbc.so when searching for -lodbc/usr/lib/libodbc.a: could not read symbols: Bad valuecollect2: ld returned 1 exit statusmake: *** [blib/arch/auto/DBD/ODBC/ODBC.so] Error 1> > TIA,> > Craig> > Washington DC> > > > ~~~~ output ~~~~~~~~~> > [mrtg@prod-netflow DBD-ODBC-1.13]$ perl Makefile.PLUseless use of private variable in void context at Makefile.PL line 431.> > Configuring DBD::ODBC ...> >>>> Remember to actually *READ* the README file! And re-read i
t if you have any problems.> > Multiple copies of Driver.xst found in: /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/DBI/ /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /auto/DBI/ at Makefile.PL line 61Using DBI 1.58 (for perl 5.008005 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/DBI/Using ODBC in /usr> > Umm, this looks like a unixodbc type of driver manager.We expect to find the sql.h, sqlext.h and (which weresupplied with unixODBC) in $ODBCHOME/include directory alongsidethe /usr/lib/libodbc.a /usr/lib/libodbc.so library. in $ODBCHOME/lib> > Checking if your kit is complete...Looks goodInjecting selected odbc driver into cc commandInjecting selected odbc driver into cc commandMultiple copies of Driver.xst found in: /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/DBI/ /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /auto/DBI/ at Makefile.PL line 462Using
DBI 1.58 (for perl 5.008005 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/DBI/Writing Makefile for DBD::ODBC> > The DBD::ODBC tests will use these values for the database connection: DBI_DSN=dbi:ODBC:pgsql e.g. dbi:ODBC:demo DBI_USER=postgres DBI_PASS=postgres> > [mrtg@prod-netflow DBD-ODBC-1.13]$ makecp Changes blib/lib/DBD/ODBC/Changes.pmcp ODBC.pm blib/lib/DBD/ODBC.pm/usr/bin/perl -p -e "s/~DRIVER~/ODBC/g" /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/DBI/Driver.xst > ODBC.xsi/usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.5/ExtUtils/typemap ODBC.xs > ODBC.xsc && mv ODBC.xsc ODBC.cWarning: duplicate function definition 'data_sources' detected in ODBC.xs, line 202gcc -c -I/usr/include -I. -I/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_
FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=\"1.13\" -DXS_VERSION=\"1.13\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE" -I/usr/include ODBC.cgcc -c -I/usr/include -I. -I/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBUGGI> NG -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=\"1.13\" -DXS_VERSION=\"1.13\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE" -I/usr/include dbdimp.cdbdimp.c: In function `odbc_db_STORE_attrib':dbdimp.c:3108: warning: cast from pointer to integer of different sizedbdimp.c: In function `odbc_db_FETCH_attrib':dbdimp.c:3440: warning: cast to pointer from integer of different sizeRunning Mkbootstrap for DBD::ODBC ()chmod 644 ODBC.bsrm -f blib/arch/auto/DBD/ODBC/ODBC.sogcc -shared ODBC.o dbdimp.o -o blib/arch/auto/DBD/ODBC/ODBC.so -L/usr/lib -lodbc/usr/bin/ld:
skipping incompatible /usr/lib/libodbc.so when searching for -lodbc/usr/lib/libodbc.a: could not read symbols: Bad valuecollect2: ld returned 1 exit statusmake: *** [blib/arch/auto/DBD/ODBC/ODBC.so] Error 1> > > > [mrtg@prod-netflow DBD-ODBC-1.13]$ ls -l $ODBCHOME/include/sql*.h-rw-r--r-- 1 root root 31945 Nov 21 2005 /usr/include/sql.h-rw-r--r-- 1 root root 1007 Feb 16 2006 /usr/include/sql3types.h-rw-r--r-- 1 root root 1258 Feb 16 2006 /usr/include/sqlca.h-rw-r--r-- 1 root root 78402 Nov 21 2005 /usr/include/sqlext.h-rw-r--r-- 1 root root 11165 Nov 21 2005 /usr/include/sqltypes.h-rw-r--r-- 1 root root 21671 Nov 21 2005 /usr/include/sqlucode.h> > > > [mrtg@prod-netflow DBD-ODBC-1.13]$ exportdeclare -x DBI_DSN="dbi:ODBC:pgsql"declare -x DBI_PASS="postgres"declare -x DBI_USER="postgres"declare -x LANG="C"declare -x LD_LIBRARY_PATH="/usr:/usr/lib/pgsql:/lib:/lib64"declare -x ODBCHOME="/usr"declare -x PATH="/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/bin:/usr /local/bin:/bin:/
usr/bin:/usr/X11R6/bin:/usr/local/pgsql/bin:/opt/CSCOnfc/bin :/opt/CSCOnfc/tools:/usr/local/mrtg-2/bin:/home/mrtg/bin:./" declare -x POSTGRES_INCLUDE="/usr/include/pgsql"declare -x POSTGRES_LIB="/usr/lib64/pgsql"declare -x QTDIR="/usr/lib64/qt-3.3"declare -x SHELL="/bin/bash"declare -x TERM="xterm"> > > > [mrtg@prod-netflow DBD-ODBC-1.13]$ perl -VSummary of my perl5 (revision 5 version 8 subversion 5) configuration: Platform: osname=linux, osvers=2.6.9-22.18.bz155725.elsmp, archname=x86_64-linux-thread-multi uname='linux hs20-bc1-3.build.redhat.com 2.6.9-22.18.bz155725.elsmp #1 smp thu nov 17 15:34:08 est 2005 x86_64 x86_64 x86_64 gnulinux ' config_args='-des -Doptimize=-O2 -g -pipe -m64 -Dversion=5.8.5 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dprivlib=/usr/lib/perl5/5.8.5 -Dsitelib=/usr/lib/perl5/site_perl/5.8.5 -Dvendorlib=/usr/lib/perl5/vendor_perl/5.8.5 -D
archlib=/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi -Dsitearch=/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thr ead-multi -Dvendorarch=/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux -thread-multi -Darchname=x86_64-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads -Dus> eithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dinc_version_list=5.8.4 5.8.3 5.8.2 5.8.1 5.8.0' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFS
ET_BITS=64 -I/usr/include/gdbm', optimize='-O2 -g -pipe -m64', cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm' ccversion='', gccversion='3.4.6 20060404 (Red Hat 3.4.6-2)', gccosandvers='' intsiz> e=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='gcc', ldflags ='' libpth=/usr/local/lib64 /lib64 /usr/lib64 libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.3.3.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.3.4' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/ CORE' cccdlflags='-fPIC', lddlfla
gs='-shared'> > Characteristics of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Built under linux Compiled at Jul 24 2006 18:28:14 @INC: /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.4/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.3/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.2/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.1/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.0/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi /usr/li> b64/perl5/vendor_perl/5.8.4/x86_64-linu
x-thread-multi /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.2/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.1/x86_64-linux-thread-multi /usr/lib64/perl5/vendor_perl/5.8.0/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .> > > > A quick search on google shows this is will happen on 64bit Linux when > you attempt to use a .a (just search for "could not read symbols: Bad > value collect2") and you'll find stuff like:> > http://linuxfromscratch.org/pipermail/cross-lfs/2006-March/0 01659.html> > I think your actual issue though is "/usr/bin/ld: skipping incompatible > /usr/lib/libodbc.so when searching for -lodbc" which suggests your > dynamically built libodbc.so shared object is not built the same as your > perl i.e. on
e is 32bit and the other is 64bit. A quick "file libodbc.so" > should tell you for sure. You need a shared object of libodbc.so built > the same as your Perl.> > Martin> -- > Martin J. Evans> Easysoft Limited> http://www.easysoft.com
> ____________________________________________________________ _____
If that works let me know as we'll have to modify DBD::ODBC in the long
term to cope with looking in two independent places.
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com
RE: Trouble Installing ODBC 1.13 on Linux 64
am 13.07.2007 21:01:03 von ucantspamthis
--_6f78f323-7443-4f13-ac95-d5592261efb7_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Martin, Thanks ... make builds the libs now. I'm still failing a few test,=
but I'll try sorting it out from here. Craig ~~~~~~~ results ~~~~~~~~ =
mrtg@prod-netflow DBD-ODBC-1.13]$ make test TEST_VERBOSE=3D1PERL_DL_NONLAZY=
=3D1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/li=
b', 'blib/arch')" t/*.tt/01base.........1..5ok 1 - require DBI;ok 2 - impor=
t DBIok 3 - DBI->internal is DBI::drok 4 - Install ODBC driver OKok 5 - Ver=
sion is not emptyokt/02simple.......1..36ok 1 - use DBI;ok 2 - use ODBCTEST=
;ok 3 - Set Auto commitok 4 - Auto commit retrieved to what was setok 5 - c=
reate test tableok 6 - test table existsok 7 - insert test dataok 8 - selec=
t test dataok 9 - Set Long Read lenok 10 - Set Long Truncok 1ok 11 - Set Pr=
int Errorok 12 - Select Long dataok 13 - Set Long Truncok 0ok 14 - Select L=
ong Data failureok 15 - prepare select from tableok 16 - Execute select# Co=
ltype 5 not found in list # ## Coltype 12 not found in list # ## Coltype -1=
not found in list # ## Coltype 9 not found in list # ## Failed test (t=
/02simple.t at line 76)not ok 17 - Col count matches correct col count# =
got: '0'# expected: '4'ok 18 - Set RaiseError 0ok 19 - Set PrintE=
rror 0ok 20 - Error reported on bad queryok 21 - date check selectok 22 - d=
ate check executeok 23 - date check rowsok 24 - group by query prepareok 25=
- group by query executeok 26 - group by query returned rows# Failed t=
est (t/02simple.t at line 132)# '0'# ># '0'not ok 27 - data=
sources testok 28 - test ping methodok 29 - Attrib odbc_ignore_named_place=
holders 0 to startok 30 - Attrib odbc_ignore_named_placeholders set to 1ok =
31 - test connecting twice to the same databaseok 32 - database name is ret=
urned successfullyok 33 - automatically finish when execute run againok 34 =
- INVALID DSN Test: [unixODBC][Driver Manager]Data source name not found, a=
nd no default driver specified (SQL-IM002)(DBD: db_login/SQLConnect err=3D-=
1)#ok 35 - Connection with DSN=3D# Looks like you failed 2 tests of 36.ok 3=
6 - Connection with DSN=3D and uid and pwd are setdubious Test retur=
ned status 2 (wstat 512, 0x200)DIED. FAILED tests 17, 27 Failed 2/36=
tests, 94.44% okayt/03dbatt........1..24ok 1 - use DBI;ok 2 - use ODBCTEST=
;ok 3 - Set Long Read Lenok 4 - AutoCommit set on dbhok 5 - commitTest with=
AutoCommitok 6 - AutoCommit turned offok 7 - commitTest with AutoCommit of=
fDBD driver has not implemented the AutoCommit attribute at t/03dbatt.t lin=
e 54.Issuing rollback() for database handle being DESTROY'd without explici=
t disconnect().# Looks like you planned 24 tests but only ran 7.# Looks lik=
e your test died just after 7.dubious Test returned status 255 (wsta=
t 65280, 0xff00)DIED. FAILED tests 8-24 Failed 17/24 tests, 29.17% o=
kayt/05meth.........1..8ok 1 - use DBI;ok 2 - delete prepared statementok 3=
- Number of rows > 0ok 4 - Number of rows from DBI matches sthok 5 - finis=
hed and rolled backok 6 - no errorok 7 - ?ok 8 - ??okt/07bind.........1..11=
ok 1 - use ODBCTEST;ok 2 - Create tablesok 3 - Table insert testok 4 - Ensu=
re long readlen set correctlyok 5 - Select testsok 6 - Insert with bind tes=
tsok 7 - select long test dataok 8 - update long test dataok 9 - select lon=
g test data againok 10 - ParamValues test integerok 11 - Paramvalues test s=
tringokt/08bind2........1..5ok 1 - use ODBCTEST;ok 2 - use Data::Dumper;ok =
3 # skip SQLDescribeParam not supported using PostgreSQL#ok 4 # skip SQLDes=
cribeParam not supported using PostgreSQL#ok 5 # skip SQLDescribeParam not =
supported using PostgreSQL#ok 3/5 skipped: SQLDescribeParam not supp=
orted using PostgreSQLt/09multi........1..7ok 1 - use strict;ok 2 - use DBI=
;ok 3 - use ODBCTEST;ok 4 # skip Multiple statements not supported using Po=
stgreSQL#ok 5 # skip Multiple statements not supported using PostgreSQL#ok =
6 # skip Multiple statements not supported using PostgreSQL#ok 7 # skip Mul=
tiple statements not supported using PostgreSQL#ok 4/7 skipped: Mult=
iple statements not supported using PostgreSQLt/20SqlServer....1..37ok 1 - =
use ODBCTEST;ok 2 - use Data::Dumper;ok 3 # skip Microsoft SQL Server tests=
not supported using PostgreSQLok 4 # skip Microsoft SQL Server tests not s=
upported using PostgreSQLok 5 # skip Microsoft SQL Server tests not support=
ed using PostgreSQLok 6 # skip Microsoft SQL Server tests not supported usi=
ng PostgreSQLok 7 # skip Microsoft SQL Server tests not supported using Pos=
tgreSQLok 8 # skip Microsoft SQL Server tests not supported using PostgreSQ=
Lok 9 # skip Microsoft SQL Server tests not supported using PostgreSQLok 10=
# skip Microsoft SQL Server tests not supported using PostgreSQLok 11 # sk=
ip Microsoft SQL Server tests not supported using PostgreSQLok 12 # skip Mi=
crosoft SQL Server tests not supported using PostgreSQLok 13 # skip Microso=
ft SQL Server tests not supported using PostgreSQLok 14 # skip Microsoft SQ=
L Server tests not supported using PostgreSQLok 15 # skip Microsoft SQL Ser=
ver tests not supported using PostgreSQLok 16 # skip Microsoft SQL Server t=
ests not supported using PostgreSQLok 17 # skip Microsoft SQL Server tests =
not supported using PostgreSQLok 18 # skip Microsoft SQL Server tests not s=
upported using PostgreSQLok 19 # skip Microsoft SQL Server tests not suppor=
ted using PostgreSQLok 20 # skip Microsoft SQL Server tests not supported u=
sing PostgreSQLok 21 # skip Microsoft SQL Server tests not supported using =
PostgreSQLok 22 # skip Microsoft SQL Server tests not supported using Postg=
reSQLok 23 # skip Microsoft SQL Server tests not supported using PostgreSQL=
ok 24 # skip Microsoft SQL Server tests not supported using PostgreSQLok 25=
# skip Microsoft SQL Server tests not supported using PostgreSQLok 26 # sk=
ip Microsoft SQL Server tests not supported using PostgreSQLok 27 # skip Mi=
crosoft SQL Server tests not supported using PostgreSQLok 28 # skip Microso=
ft SQL Server tests not supported using PostgreSQLok 29 # skip Microsoft SQ=
L Server tests not supported using PostgreSQLok 30 # skip Microsoft SQL Ser=
ver tests not supported using PostgreSQLok 31 # skip Microsoft SQL Server t=
ests not supported using PostgreSQLok 32 # skip Microsoft SQL Server tests =
not supported using PostgreSQLok 33 # skip Microsoft SQL Server tests not s=
upported using PostgreSQLok 34 # skip Microsoft SQL Server tests not suppor=
ted using PostgreSQLok 35 # skip Microsoft SQL Server tests not supported u=
sing PostgreSQLok 36 # skip Microsoft SQL Server tests not supported using =
PostgreSQLok 37 # skip Microsoft SQL Server tests not supported using Postg=
reSQLok 35/37 skipped: Microsoft SQL Server tests not supported usin=
g PostgreSQLt/30Oracle.......1..4ok 1 - use ODBCTEST;ok 2 - use Data::Dumpe=
r;ok 3 # skip Oracle tests not supported using PostgreSQLok 4 # skip Oracle=
tests not supported using PostgreSQLok 2/4 skipped: Oracle tests no=
t supported using PostgreSQLFailed Test Stat Wstat Total Fail Failed Lis=
t of Failed------------------------------------------------------ ----------=
---------------t/02simple.t 2 512 36 2 5.56% 17 27t/03dbatt.t=
255 65280 24 34 141.67% 8-2444 subtests skipped.Failed 2/9 test sc=
ripts, 77.78% okay. 19/137 subtests failed, 86.13% okay.make: *** [test_dyn=
amic] Error 255
> Date: Fri, 13 Jul 2007 16:54:57 +0100> From: martin.evans@easysoft.com> T=
o: dbi-users@perl.org> Subject: Re: Trouble Installing ODBC 1.13 on Linux 6=
4> > Craig Metzer wrote:> > Martin,> > Thanks for the reply.> > I'm not sur=
e I understand the problem with the .a files. How would I go about makeing =
it use teh .la?> > That was just example showing what happens when the gnu =
linker hits a 32 > bit .a when it is attempting to do a 64 bit build - I wa=
s not suggesting > you need to use .la files as you are not using configure=
and libtool.> > > Would I have to mod the Makefile?> > I have two versions=
of libodbc one 32 and another 64.> > The paths that Makefile chose were th=
e 32-bit ... should I mod these to use the lib64 instead?> > It looked to m=
e that your perl was 64 bit and hence you need to point > DBD::ODBC at the =
64 bit unixODBC. That might be a little tricky as it > stands without editi=
ng the makefile as you look like you want DBD::ODBC > to look in /usr/lib64=
for libodbc.so but /usr/include for the header > files and DBD::ODBC only =
supports specifying the one location for the > driver/driver_manager.> > I'=
d do a perl Makefile.PL with ODBCHOME set to /usr then edit the > makefile =
for now and change the -L/usr/lib to -L/usr/lib64.> > > Thanks for the help=
..> > Craig> > ~~~~ file output ~~~~~~> > [root@prod-netflow DBD-ODBC-1.13]#=
file /usr/lib64/libodbc.so/usr/lib64/libodbc.so: symbolic link to `libodbc=
..so.1.0.0'[root@prod-netflow DBD-ODBC-1.13]# file /usr/lib64/libodbc.so.1.0=
..0/usr/lib64/libodbc.so.1.0.0: ELF 64-bit LSB shared object, AMD x86-64, ve=
rsion 1 (SYSV), stripped[root@prod-netflow DBD-ODBC-1.13]# file /usr/lib/li=
bodbc.so/usr/lib/libodbc.so: symbolic link to `libodbc.so.1.0.0'[root@prod-=
netflow DBD-ODBC-1.13]# file /usr/lib/libodbc.so.1.0.0/usr/lib/libodbc.so.1=
..0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped=
> > > > > > > > > >> Date: Fri, 13 Jul 2007 16:26:26 +0100> From: martin.ev=
ans@easysoft.com> To: dbi-users@perl.org> Subject: Re: Trouble Installing O=
DBC 1.13 on Linux 64> > Craig Metzer wrote:> > > > Hope you all are having =
a pleasant summer.> > > > I am ... just a little trouble installing ODBC fo=
r Perl 5.8.5. Perhaps someone can help me out.> > > > I get an error on mak=
e .. it appears to be in building ODBC.so:> > > > gcc -shared ODBC.o dbdimp=
..o -o blib/arch/auto/DBD/ODBC/ODBC.so -L/usr/lib -lodbc/usr/bin/ld: skippin=
g incompatible /usr/lib/libodbc.so when searching for -lodbc/usr/lib/libodb=
c.a: could not read symbols: Bad valuecollect2: ld returned 1 exit statusma=
ke: *** [blib/arch/auto/DBD/ODBC/ODBC.so] Error 1> > TIA,> > Craig> > Washi=
ngton DC> > > > ~~~~ output ~~~~~~~~~> > [mrtg@prod-netflow DBD-ODBC-1.13]$=
perl Makefile.PLUseless use of private variable in void context at Makefil=
e.PL line 431.> > Configuring DBD::ODBC ...> >>>> Remember to actually *REA=
D* the README file! And re-read i> t if you have any problems.> > Multiple =
copies of Driver.xst found in: /usr/lib64/perl5/site_perl/5.8.5/x86_64-linu=
x-thread-multi/auto/DBI/ /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-th=
read-multi/auto/DBI/ at Makefile.PL line 61Using DBI 1.58 (for perl 5.00800=
5 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8=
..5/x86_64-linux-thread-multi/auto/DBI/Using ODBC in /usr> > Umm, this looks=
like a unixodbc type of driver manager.We expect to find the sql.h, sqlext=
..h and (which weresupplied with unixODBC) in $ODBCHOME/include directory al=
ongsidethe /usr/lib/libodbc.a /usr/lib/libodbc.so library. in $ODBCHOME/lib=
> > Checking if your kit is complete...Looks goodInjecting selected odbc dr=
iver into cc commandInjecting selected odbc driver into cc commandMultiple =
copies of Driver.xst found in: /usr/lib64/perl5/site_perl/5.8.5/x86_64-linu=
x-thread-multi/auto/DBI/ /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-th=
read-multi/auto/DBI/ at Makefile.PL line 462Using > DBI 1.58 (for perl 5.00=
8005 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/=
5.8.5/x86_64-linux-thread-multi/auto/DBI/Writing Makefile for DBD::ODBC> > =
The DBD::ODBC tests will use these values for the database connection: DBI_=
DSN=3Ddbi:ODBC:pgsql e.g. dbi:ODBC:demo DBI_USER=3Dpostgres DBI_PASS=3Dpost=
gres> > [mrtg@prod-netflow DBD-ODBC-1.13]$ makecp Changes blib/lib/DBD/ODBC=
/Changes.pmcp ODBC.pm blib/lib/DBD/ODBC.pm/usr/bin/perl -p -e "s/~DRIVER~/O=
DBC/g" /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/a uto/DBI/=
Driver.xst > ODBC.xsi/usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -ty=
pemap /usr/lib/perl5/5.8.5/ExtUtils/typemap ODBC.xs > ODBC.xsc && mv ODBC.x=
sc ODBC.cWarning: duplicate function definition 'data_sources' detected in =
ODBC.xs, line 202gcc -c -I/usr/include -I. -I/usr/lib64/perl5/site_perl/5.8=
..5/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBUGGIN=
G -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_> =
FILE_OFFSET_BITS=3D64 -I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=3D\"1=
..13\" -DXS_VERSION=3D\"1.13\" -fPIC "-I/usr/lib64/perl5/5.8.5/x86_64-linux-=
thread-multi/CORE" -I/usr/include ODBC.cgcc -c -I/usr/include -I. -I/usr/li=
b64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -=
D_GNU_SOURCE -DDEBUGGI> NG -fno-strict-aliasing -pipe -I/usr/local/include =
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 -I/usr/include/gdbm -O2 -g -pi=
pe -m64 -DVERSION=3D\"1.13\" -DXS_VERSION=3D\"1.13\" -fPIC "-I/usr/lib64/pe=
rl5/5.8.5/x86_64-linux-thread-multi/CORE" -I/usr/include dbdimp.cdbdimp.c: =
In function `odbc_db_STORE_attrib':dbdimp.c:3108: warning: cast from pointe=
r to integer of different sizedbdimp.c: In function `odbc_db_FETCH_attrib':=
dbdimp.c:3440: warning: cast to pointer from integer of different sizeRunni=
ng Mkbootstrap for DBD::ODBC ()chmod 644 ODBC.bsrm -f blib/arch/auto/DBD/OD=
BC/ODBC.sogcc -shared ODBC.o dbdimp.o -o blib/arch/auto/DBD/ODBC/ODBC.so -L=
/usr/lib -lodbc/usr/bin/ld:> skipping incompatible /usr/lib/libodbc.so when=
searching for -lodbc/usr/lib/libodbc.a: could not read symbols: Bad valuec=
ollect2: ld returned 1 exit statusmake: *** [blib/arch/auto/DBD/ODBC/ODBC.s=
o] Error 1> > > > [mrtg@prod-netflow DBD-ODBC-1.13]$ ls -l $ODBCHOME/includ=
e/sql*.h-rw-r--r-- 1 root root 31945 Nov 21 2005 /usr/include/sql.h-rw-r--r=
-- 1 root root 1007 Feb 16 2006 /usr/include/sql3types.h-rw-r--r-- 1 root r=
oot 1258 Feb 16 2006 /usr/include/sqlca.h-rw-r--r-- 1 root root 78402 Nov 2=
1 2005 /usr/include/sqlext.h-rw-r--r-- 1 root root 11165 Nov 21 2005 /usr/i=
nclude/sqltypes.h-rw-r--r-- 1 root root 21671 Nov 21 2005 /usr/include/sqlu=
code.h> > > > [mrtg@prod-netflow DBD-ODBC-1.13]$ exportdeclare -x DBI_DSN=
=3D"dbi:ODBC:pgsql"declare -x DBI_PASS=3D"postgres"declare -x DBI_USER=3D"p=
ostgres"declare -x LANG=3D"C"declare -x LD_LIBRARY_PATH=3D"/usr:/usr/lib/pg=
sql:/lib:/lib64"declare -x ODBCHOME=3D"/usr"declare -x PATH=3D"/sbin:/usr/s=
bin:/usr/local/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/> usr/bin:/usr/X=
11R6/bin:/usr/local/pgsql/bin:/opt/CSCOnfc/bin:/opt/CSCOnfc/ tools:/usr/loca=
l/mrtg-2/bin:/home/mrtg/bin:./"declare -x POSTGRES_INCLUDE=3D"/usr/include/=
pgsql"declare -x POSTGRES_LIB=3D"/usr/lib64/pgsql"declare -x QTDIR=3D"/usr/=
lib64/qt-3.3"declare -x SHELL=3D"/bin/bash"declare -x TERM=3D"xterm"> > > >=
[mrtg@prod-netflow DBD-ODBC-1.13]$ perl -VSummary of my perl5 (revision 5 =
version 8 subversion 5) configuration: Platform: osname=3Dlinux, osvers=3D2=
..6.9-22.18.bz155725.elsmp, archname=3Dx86_64-linux-thread-multi uname=3D'li=
nux hs20-bc1-3.build.redhat.com 2.6.9-22.18.bz155725.elsmp #1 smp thu nov 1=
7 15:34:08 est 2005 x86_64 x86_64 x86_64 gnulinux ' config_args=3D'-des -Do=
ptimize=3D-O2 -g -pipe -m64 -Dversion=3D5.8.5 -Dmyhostname=3Dlocalhost -Dpe=
rladmin=3Droot@localhost -Dcc=3Dgcc -Dcf_by=3DRed Hat, Inc. -Dinstallprefix=
=3D/usr -Dprefix=3D/usr -Dlibpth=3D/usr/local/lib64 /lib64 /usr/lib64 -Dpri=
vlib=3D/usr/lib/perl5/5.8.5 -Dsitelib=3D/usr/lib/perl5/site_perl/5.8.5 -Dve=
ndorlib=3D/usr/lib/perl5/vendor_perl/5.8.5 -D> archlib=3D/usr/lib64/perl5/5=
..8.5/x86_64-linux-thread-multi -Dsitearch=3D/usr/lib64/perl5/site_perl/5.8.=
5/x86_64-linux-thread-multi -Dvendorarch=3D/usr/lib64/perl5/vendor_perl/5.8=
..5/x86_64-linux-thread-multi -Darchname=3Dx86_64-linux -Dvendorprefix=3D/us=
r -Dsiteprefix=3D/usr -Duseshrplib -Dusethreads -Dus> eithreads -Duselargef=
iles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_sy=
slog -Dman3ext=3D3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uvers=
iononly -Dpager=3D/usr/bin/less -isr -Dinc_version_list=3D5.8.4 5.8.3 5.8.2=
5.8.1 5.8.0' hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine use=
threads=3Ddefine use5005threads=3Dundef useithreads=3Ddefine usemultiplicit=
y=3Ddefine useperlio=3Ddefine d_sfio=3Dundef uselargefiles=3Ddefine usesock=
s=3Dundef use64bitint=3Ddefine use64bitall=3Ddefine uselongdouble=3Dundef u=
semymalloc=3Dn, bincompat5005=3Dundef Compiler: cc=3D'gcc', ccflags =3D'-D_=
REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local=
/include -D_LARGEFILE_SOURCE -D_FILE_OFFS> ET_BITS=3D64 -I/usr/include/gdbm=
', optimize=3D'-O2 -g -pipe -m64', cppflags=3D'-D_REENTRANT -D_GNU_SOURCE -=
DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/g=
dbm' ccversion=3D'', gccversion=3D'3.4.6 20060404 (Red Hat 3.4.6-2)', gccos=
andvers=3D'' intsiz> e=3D4, longsize=3D8, ptrsize=3D8, doublesize=3D8, byte=
order=3D12345678 d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine,=
longdblsize=3D16 ivtype=3D'long', ivsize=3D8, nvtype=3D'double', nvsize=3D=
8, Off_t=3D'off_t', lseeksize=3D8 alignbytes=3D8, prototype=3Ddefine Linker=
and Libraries: ld=3D'gcc', ldflags =3D'' libpth=3D/usr/local/lib64 /lib64 =
/usr/lib64 libs=3D-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthr=
ead -lc perllibs=3D-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc lib=
c=3D/lib/libc-2.3.3.so, so=3Dso, useshrplib=3Dtrue, libperl=3Dlibperl.so gn=
ulibc_version=3D'2.3.4' Dynamic Linking: dlsrc=3Ddl_dlopen.xs, dlext=3Dso, =
d_dlsymun=3Dundef, ccdlflags=3D'-Wl,-E -Wl,-rpath,/usr/lib64/perl5/5.8.5/x8=
6_64-linux-thread-multi/CORE' cccdlflags=3D'-fPIC', lddlfla> gs=3D'-shared'=
> > Characteristics of this binary (from libperl): Compile-time options: DE=
BUGGING MULTIPLICITY USE_ITHREADS USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_F=
ILES PERL_IMPLICIT_CONTEXT Built under linux Compiled at Jul 24 2006 18:28:=
14 @INC: /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/5.=
8.5 /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi /usr/lib64/p=
erl5/site_perl/5.8.4/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5=
..8.3/x86_64-linux-thread-multi /usr/lib64/perl5/site_perl/5.8.2/x86_64-linu=
x-thread-multi /usr/lib64/perl5/site_perl/5.8.1/x86_64-linux-thread-multi /=
usr/lib64/perl5/site_perl/5.8.0/x86_64-linux-thread-multi /usr/lib/perl5/si=
te_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3=
/usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/per=
l5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.=
8.5/x86_64-linux-thread-multi /usr/li> b64/perl5/vendor_perl/5.8.4/x86_64-l=
inu> x-thread-multi /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-=
multi /usr/lib64/perl5/vendor_perl/5.8.2/x86_64-linux-thread-multi /usr/lib=
64/perl5/vendor_perl/5.8.1/x86_64-linux-thread-multi /usr/lib64/perl5/vendo=
r_perl/5.8.0/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /us=
r/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/per=
l5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor=
_perl/5.8.0 /usr/lib/perl5/vendor_perl .> > > > A quick search on google sh=
ows this is will happen on 64bit Linux when > you attempt to use a .a (just=
search for "could not read symbols: Bad > value collect2") and you'll find=
stuff like:> > http://linuxfromscratch.org/pipermail/cross-lfs/2006-March/=
001659.html> > I think your actual issue though is "/usr/bin/ld: skipping i=
ncompatible > /usr/lib/libodbc.so when searching for -lodbc" which suggests=
your > dynamically built libodbc.so shared object is not built the same as=
your > perl i.e. on> e is 32bit and the other is 64bit. A quick "file libo=
dbc.so" > should tell you for sure. You need a shared object of libodbc.so =
built > the same as your Perl.> > Martin> -- > Martin J. Evans> Easysoft Li=
mited> http://www.easysoft.com> > _________________________________________=
________________________> > If that works let me know as we'll have to modi=
fy DBD::ODBC in the long > term to cope with looking in two independent pla=
ces.> > Martin> -- > Martin J. Evans> Easysoft Limited> http://www.easysoft=
..com
____________________________________________________________ _____
See what you=92re getting into=85before you go there.
http://newlivehotmail.com=
--_6f78f323-7443-4f13-ac95-d5592261efb7_--
Re: Trouble Installing ODBC 1.13 on Linux 64
am 16.07.2007 14:45:08 von Martin.Evans
> Martin,
>
> Thanks ... make builds the libs now. I'm still failing a few test, but
> I'll try sorting it out from here.
>
>
> Craig
Craig,
I've taken a quick look at some of the errors you are getting with the
postgres ODBC driver - see below:
Craig Metzer wrote:
>
> ~~~~~~~ results ~~~~~~~~
>
> mrtg@prod-netflow DBD-ODBC-1.13]$ make test
> TEST_VERBOSE=1
> PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
> "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
> t/01base.........1..5
> ok 1 - require DBI;
> ok 2 - import DBI
> ok 3 - DBI->internal is DBI::dr
> ok 4 - Install ODBC driver OK
> ok 5 - Version is not empty
> ok
> t/02simple.......1..36
> ok 1 - use DBI;
> ok 2 - use ODBCTEST;
> ok 3 - Set Auto commit
> ok 4 - Auto commit retrieved to what was set
> ok 5 - create test table
> ok 6 - test table exists
> ok 7 - insert test data
> ok 8 - select test data
> ok 9 - Set Long Read len
> ok 10 - Set Long Truncok 1
> ok 11 - Set Print Error
> ok 12 - Select Long data
> ok 13 - Set Long Truncok 0
> ok 14 - Select Long Data failure
> ok 15 - prepare select from table
> ok 16 - Execute select
> # Coltype 5 not found in list # #
> # Coltype 12 not found in list # #
> # Coltype -1 not found in list # #
> # Coltype 9 not found in list # #
> # Failed test (t/02simple.t at line 76)
> not ok 17 - Col count matches correct col count
> # got: '0'
> # expected: '4'
Caused by the postgres driver returning lowercase column names when the
test expects uppercase names - I will have this fixed in next release of
DBD::ODBC as lowercase names are fine.
> ok 18 - Set RaiseError 0
> ok 19 - Set PrintError 0
> ok 20 - Error reported on bad query
> ok 21 - date check select
> ok 22 - date check execute
> ok 23 - date check rows
> ok 24 - group by query prepare
> ok 25 - group by query execute
> ok 26 - group by query returned rows
> # Failed test (t/02simple.t at line 132)
> # '0'
> # >
> # '0'
> not ok 27 - data sources test
> ok 28 - test ping method
> ok 29 - Attrib odbc_ignore_named_placeholders 0 to start
> ok 30 - Attrib odbc_ignore_named_placeholders set to 1
> ok 31 - test connecting twice to the same database
> ok 32 - database name is returned successfully
> ok 33 - automatically finish when execute run again
> ok 34 - INVALID DSN Test: [unixODBC][Driver Manager]Data source name not
> found, and no default driver specified (SQL-IM002)(DBD:
> db_login/SQLConnect err=-1)
> #
> ok 35 - Connection with DSN=
> # Looks like you failed 2 tests of 36.
> ok 36 - Connection with DSN= and uid and pwd are set
> dubious
> Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 17, 27
> Failed 2/36 tests, 94.44% okay
Works for me with latest postgres ODBC driver on Linux.
> t/03dbatt........1..24
> ok 1 - use DBI;
> ok 2 - use ODBCTEST;
> ok 3 - Set Long Read Len
> ok 4 - AutoCommit set on dbh
> ok 5 - commitTest with AutoCommit
> ok 6 - AutoCommit turned off
> ok 7 - commitTest with AutoCommit off
> DBD driver has not implemented the AutoCommit attribute at t/03dbatt.t
> line 54.
> Issuing rollback() for database handle being DESTROY'd without explicit
> disconnect().
Sure I've seen this one before on this list. It works with the latest
version of the postgres ODBC driver I have.
> # Looks like you planned 24 tests but only ran 7.
> # Looks like your test died just after 7.
> dubious
> Test returned status 255 (wstat 65280, 0xff00)
> DIED. FAILED tests 8-24
> Failed 17/24 tests, 29.17% okay
Obviously, because it failed it skipped some tests in 03dbatt some of
which fail for me.
The test for the column names from a SQLTables call returns ODBC 2
column names instead of ODBC 3 column names. I think this is a bug in
Postgres because it reports itself as an ODBC 3 driver and I will see
about reporting it. For now, I've changed the test to capture and handle
the old column names and output a warning instead.
The test to check $sth->{NAME} returns an empty hash ref before and
after an execute call on an update statement fails for me. I think this
is also a bug in Postgres as the sequence of ODBC calls and the final
error are:
SQLPrepare(update table set column = 100 where column = 100);
SQLNumResultCols returns 0 columns
SQLMoreResults returns SQL_NO_DATA
SQLExecute
SQLRowCount returns 1 row affected
SQLNumResultCols returns 0 columns
SQLMoreResults returns SQL_NO_DATA
SQLNumResultCols returns an error saying
HY000 No query has been executed with that handle
The unixODBC driver manager lets this call through because it is no a
function sequence error (usually the only error you get from
SQLNumResultCols) and:
1. as far as I can see from the ODBC spec SQLNumResultCols should return
success and 0 columns here
2. 3 other drivers I've tried today all work fine with this.
I will attempt to file a bug with Postgres people.
In the mean time, the next release of DBD::ODBC will skip this test for
postgres with a warning.
> t/05meth.........1..8
> ok 1 - use DBI;
> ok 2 - delete prepared statement
> ok 3 - Number of rows > 0
> ok 4 - Number of rows from DBI matches sth
> ok 5 - finished and rolled back
> ok 6 - no error
> ok 7 - ?
> ok 8 - ??
> ok
> t/07bind.........1..11
> ok 1 - use ODBCTEST;
> ok 2 - Create tables
> ok 3 - Table insert test
> ok 4 - Ensure long readlen set correctly
> ok 5 - Select tests
> ok 6 - Insert with bind tests
> ok 7 - select long test data
> ok 8 - update long test data
> ok 9 - select long test data again
> ok 10 - ParamValues test integer
> ok 11 - Paramvalues test string
> ok
> t/08bind2........1..5
> ok 1 - use ODBCTEST;
> ok 2 - use Data::Dumper;
> ok 3 # skip SQLDescribeParam not supported using PostgreSQL
> #
> ok 4 # skip SQLDescribeParam not supported using PostgreSQL
> #
> ok 5 # skip SQLDescribeParam not supported using PostgreSQL
> #
> ok
> 3/5 skipped: SQLDescribeParam not supported using PostgreSQL
> t/09multi........1..7
> ok 1 - use strict;
> ok 2 - use DBI;
> ok 3 - use ODBCTEST;
> ok 4 # skip Multiple statements not supported using PostgreSQL
> #
> ok 5 # skip Multiple statements not supported using PostgreSQL
> #
> ok 6 # skip Multiple statements not supported using PostgreSQL
> #
> ok 7 # skip Multiple statements not supported using PostgreSQL
> #
> ok
> 4/7 skipped: Multiple statements not supported using PostgreSQL
> t/20SqlServer....1..37
> ok 1 - use ODBCTEST;
> ok 2 - use Data::Dumper;
> ok 3 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 4 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 5 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 6 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 7 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 8 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 9 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 10 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 11 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 12 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 13 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 14 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 15 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 16 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 17 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 18 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 19 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 20 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 21 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 22 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 23 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 24 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 25 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 26 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 27 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 28 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 29 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 30 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 31 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 32 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 33 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 34 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 35 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 36 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok 37 # skip Microsoft SQL Server tests not supported using PostgreSQL
> ok
> 35/37 skipped: Microsoft SQL Server tests not supported using
> PostgreSQL
> t/30Oracle.......1..4
> ok 1 - use ODBCTEST;
> ok 2 - use Data::Dumper;
> ok 3 # skip Oracle tests not supported using PostgreSQL
> ok 4 # skip Oracle tests not supported using PostgreSQL
> ok
> 2/4 skipped: Oracle tests not supported using PostgreSQL
> Failed Test Stat Wstat Total Fail Failed List of Failed
> ------------------------------------------------------------ -------------------
> t/02simple.t 2 512 36 2 5.56% 17 27
> t/03dbatt.t 255 65280 24 34 141.67% 8-24
> 44 subtests skipped.
> Failed 2/9 test scripts, 77.78% okay. 19/137 subtests failed, 86.13% okay.
> make: *** [test_dynamic] Error 255
FYI, I was using DBI 1.58, DBD::ODBC 1.14_1, postgres ODBC driver
08.01.0200, postgres server 8.1 all on 32bit Linux.
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com
RE: Trouble Installing ODBC 1.13 on Linux 64
am 16.07.2007 16:29:51 von ucantspamthis
--_405f093b-cbf1-45fd-a00d-7cf10c23ad0c_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Thanks Martin, I'll upgrade.
Craig
> Date: Mon, 16 Jul 2007 13:45:08 +0100> From: martin.evans@easysoft.com> T=
o: ucantspamthis@hotmail.com> CC: dbi-users@perl.org> Subject: Re: Trouble =
Installing ODBC 1.13 on Linux 64> > > > Martin,> > > > Thanks ... make buil=
ds the libs now. I'm still failing a few test, but > > I'll try sorting it =
out from here.> > > > > > Craig> > Craig,> > I've taken a quick look at som=
e of the errors you are getting with the > postgres ODBC driver - see below=
:> > Craig Metzer wrote:> > > > > ~~~~~~~ results ~~~~~~~~> > > > mrtg@prod=
-netflow DBD-ODBC-1.13]$ make test > > TEST_VERB=
OSE=3D1> > PERL_DL_NONLAZY=3D1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"=
> > "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t> > t/01base.........1=
...5> > ok 1 - require DBI;> > ok 2 - import DBI> > ok 3 - DBI->internal is =
DBI::dr> > ok 4 - Install ODBC driver OK> > ok 5 - Version is not empty> > =
ok> > t/02simple.......1..36> > ok 1 - use DBI;> > ok 2 - use ODBCTEST;> > =
ok 3 - Set Auto commit> > ok 4 - Auto commit retrieved to what was set> > o=
k 5 - create test table> > ok 6 - test table exists> > ok 7 - insert test d=
ata> > ok 8 - select test data> > ok 9 - Set Long Read len> > ok 10 - Set L=
ong Truncok 1> > ok 11 - Set Print Error> > ok 12 - Select Long data> > ok =
13 - Set Long Truncok 0> > ok 14 - Select Long Data failure> > ok 15 - prep=
are select from table> > ok 16 - Execute select> > # Coltype 5 not found in=
list # #> > # Coltype 12 not found in list # #> > # Coltype -1 not found i=
n list # #> > # Coltype 9 not found in list # #> > # Failed test (t/02simpl=
e.t at line 76)> > not ok 17 - Col count matches correct col count> > # got=
: '0'> > # expected: '4'> > Caused by the postgres driver returning lowerca=
se column names when the > test expects uppercase names - I will have this =
fixed in next release of > DBD::ODBC as lowercase names are fine.> > > ok 1=
8 - Set RaiseError 0> > ok 19 - Set PrintError 0> > ok 20 - Error reported =
on bad query> > ok 21 - date check select> > ok 22 - date check execute> > =
ok 23 - date check rows> > ok 24 - group by query prepare> > ok 25 - group =
by query execute> > ok 26 - group by query returned rows> > # Failed test (=
t/02simple.t at line 132)> > # '0'> > # >> > # '0'> > not ok 27 - data sour=
ces test> > ok 28 - test ping method> > ok 29 - Attrib odbc_ignore_named_pl=
aceholders 0 to start> > ok 30 - Attrib odbc_ignore_named_placeholders set =
to 1> > ok 31 - test connecting twice to the same database> > ok 32 - datab=
ase name is returned successfully> > ok 33 - automatically finish when exec=
ute run again> > ok 34 - INVALID DSN Test: [unixODBC][Driver Manager]Data s=
ource name not > > found, and no default driver specified (SQL-IM002)(DBD: =
> > db_login/SQLConnect err=3D-1)> > #> > ok 35 - Connection with DSN=3D> >=
# Looks like you failed 2 tests of 36.> > ok 36 - Connection with DSN=3D a=
nd uid and pwd are set> > dubious> > Test returned status 2 (wstat 512, 0x2=
00)> > DIED. FAILED tests 17, 27> > Failed 2/36 tests, 94.44% okay> > Works=
for me with latest postgres ODBC driver on Linux.> > > t/03dbatt........1.=
..24> > ok 1 - use DBI;> > ok 2 - use ODBCTEST;> > ok 3 - Set Long Read Len>=
> ok 4 - AutoCommit set on dbh> > ok 5 - commitTest with AutoCommit> > ok =
6 - AutoCommit turned off> > ok 7 - commitTest with AutoCommit off> > DBD d=
river has not implemented the AutoCommit attribute at t/03dbatt.t > > line =
54.> > Issuing rollback() for database handle being DESTROY'd without expli=
cit > > disconnect().> > Sure I've seen this one before on this list. It wo=
rks with the latest > version of the postgres ODBC driver I have.> > > # Lo=
oks like you planned 24 tests but only ran 7.> > # Looks like your test die=
d just after 7.> > dubious> > Test returned status 255 (wstat 65280, 0xff00=
)> > DIED. FAILED tests 8-24> > Failed 17/24 tests, 29.17% okay> > Obviousl=
y, because it failed it skipped some tests in 03dbatt some of > which fail =
for me.> > The test for the column names from a SQLTables call returns ODBC=
2 > column names instead of ODBC 3 column names. I think this is a bug in =
> Postgres because it reports itself as an ODBC 3 driver and I will see > a=
bout reporting it. For now, I've changed the test to capture and handle > t=
he old column names and output a warning instead.> > The test to check $sth=
->{NAME} returns an empty hash ref before and > after an execute call on an=
update statement fails for me. I think this > is also a bug in Postgres as=
the sequence of ODBC calls and the final > error are:> > SQLPrepare(update=
table set column =3D 100 where column =3D 100);> SQLNumResultCols returns =
0 columns> SQLMoreResults returns SQL_NO_DATA> SQLExecute> SQLRowCount retu=
rns 1 row affected> SQLNumResultCols returns 0 columns> SQLMoreResults retu=
rns SQL_NO_DATA> SQLNumResultCols returns an error saying> HY000 No query h=
as been executed with that handle> > The unixODBC driver manager lets this =
call through because it is no a > function sequence error (usually the only=
error you get from > SQLNumResultCols) and:> > 1. as far as I can see from=
the ODBC spec SQLNumResultCols should return > success and 0 columns here>=
2. 3 other drivers I've tried today all work fine with this.> > I will att=
empt to file a bug with Postgres people.> In the mean time, the next releas=
e of DBD::ODBC will skip this test for > postgres with a warning.> > > t/05=
meth.........1..8> > ok 1 - use DBI;> > ok 2 - delete prepared statement> >=
ok 3 - Number of rows > 0> > ok 4 - Number of rows from DBI matches sth> >=
ok 5 - finished and rolled back> > ok 6 - no error> > ok 7 - ?> > ok 8 - ?=
?> > ok> > t/07bind.........1..11> > ok 1 - use ODBCTEST;> > ok 2 - Create =
tables> > ok 3 - Table insert test> > ok 4 - Ensure long readlen set correc=
tly> > ok 5 - Select tests> > ok 6 - Insert with bind tests> > ok 7 - selec=
t long test data> > ok 8 - update long test data> > ok 9 - select long test=
data again> > ok 10 - ParamValues test integer> > ok 11 - Paramvalues test=
string> > ok> > t/08bind2........1..5> > ok 1 - use ODBCTEST;> > ok 2 - us=
e Data::Dumper;> > ok 3 # skip SQLDescribeParam not supported using Postgre=
SQL> > #> > ok 4 # skip SQLDescribeParam not supported using PostgreSQL> > =
#> > ok 5 # skip SQLDescribeParam not supported using PostgreSQL> > #> > ok=
> > 3/5 skipped: SQLDescribeParam not supported using PostgreSQL> > t/09mul=
ti........1..7> > ok 1 - use strict;> > ok 2 - use DBI;> > ok 3 - use ODBCT=
EST;> > ok 4 # skip Multiple statements not supported using PostgreSQL> > #=
> > ok 5 # skip Multiple statements not supported using PostgreSQL> > #> > =
ok 6 # skip Multiple statements not supported using PostgreSQL> > #> > ok 7=
# skip Multiple statements not supported using PostgreSQL> > #> > ok> > 4/=
7 skipped: Multiple statements not supported using PostgreSQL> > t/20SqlSer=
ver....1..37> > ok 1 - use ODBCTEST;> > ok 2 - use Data::Dumper;> > ok 3 # =
skip Microsoft SQL Server tests not supported using PostgreSQL> > ok 4 # sk=
ip Microsoft SQL Server tests not supported using PostgreSQL> > ok 5 # skip=
Microsoft SQL Server tests not supported using PostgreSQL> > ok 6 # skip M=
icrosoft SQL Server tests not supported using PostgreSQL> > ok 7 # skip Mic=
rosoft SQL Server tests not supported using PostgreSQL> > ok 8 # skip Micro=
soft SQL Server tests not supported using PostgreSQL> > ok 9 # skip Microso=
ft SQL Server tests not supported using PostgreSQL> > ok 10 # skip Microsof=
t SQL Server tests not supported using PostgreSQL> > ok 11 # skip Microsoft=
SQL Server tests not supported using PostgreSQL> > ok 12 # skip Microsoft =
SQL Server tests not supported using PostgreSQL> > ok 13 # skip Microsoft S=
QL Server tests not supported using PostgreSQL> > ok 14 # skip Microsoft SQ=
L Server tests not supported using PostgreSQL> > ok 15 # skip Microsoft SQL=
Server tests not supported using PostgreSQL> > ok 16 # skip Microsoft SQL =
Server tests not supported using PostgreSQL> > ok 17 # skip Microsoft SQL S=
erver tests not supported using PostgreSQL> > ok 18 # skip Microsoft SQL Se=
rver tests not supported using PostgreSQL> > ok 19 # skip Microsoft SQL Ser=
ver tests not supported using PostgreSQL> > ok 20 # skip Microsoft SQL Serv=
er tests not supported using PostgreSQL> > ok 21 # skip Microsoft SQL Serve=
r tests not supported using PostgreSQL> > ok 22 # skip Microsoft SQL Server=
tests not supported using PostgreSQL> > ok 23 # skip Microsoft SQL Server =
tests not supported using PostgreSQL> > ok 24 # skip Microsoft SQL Server t=
ests not supported using PostgreSQL> > ok 25 # skip Microsoft SQL Server te=
sts not supported using PostgreSQL> > ok 26 # skip Microsoft SQL Server tes=
ts not supported using PostgreSQL> > ok 27 # skip Microsoft SQL Server test=
s not supported using PostgreSQL> > ok 28 # skip Microsoft SQL Server tests=
not supported using PostgreSQL> > ok 29 # skip Microsoft SQL Server tests =
not supported using PostgreSQL> > ok 30 # skip Microsoft SQL Server tests n=
ot supported using PostgreSQL> > ok 31 # skip Microsoft SQL Server tests no=
t supported using PostgreSQL> > ok 32 # skip Microsoft SQL Server tests not=
supported using PostgreSQL> > ok 33 # skip Microsoft SQL Server tests not =
supported using PostgreSQL> > ok 34 # skip Microsoft SQL Server tests not s=
upported using PostgreSQL> > ok 35 # skip Microsoft SQL Server tests not su=
pported using PostgreSQL> > ok 36 # skip Microsoft SQL Server tests not sup=
ported using PostgreSQL> > ok 37 # skip Microsoft SQL Server tests not supp=
orted using PostgreSQL> > ok> > 35/37 skipped: Microsoft SQL Server tests n=
ot supported using > > PostgreSQL> > t/30Oracle.......1..4> > ok 1 - use OD=
BCTEST;> > ok 2 - use Data::Dumper;> > ok 3 # skip Oracle tests not support=
ed using PostgreSQL> > ok 4 # skip Oracle tests not supported using Postgre=
SQL> > ok> > 2/4 skipped: Oracle tests not supported using PostgreSQL> > Fa=
iled Test Stat Wstat Total Fail Failed List of Failed> > ------------------=
------------------------------------------------------------ -> > t/02simple=
..t 2 512 36 2 5.56% 17 27> > t/03dbatt.t 255 65280 24 34 141.67% 8-24> > 44=
subtests skipped.> > Failed 2/9 test scripts, 77.78% okay. 19/137 subtests=
failed, 86.13% okay.> > make: *** [test_dynamic] Error 255> >
l -V output etc>> > FYI, I was using DBI 1.58, DBD::ODBC 1.14_1, postgres O=
DBC driver > 08.01.0200, postgres server 8.1 all on 32bit Linux.> > Martin>=
-- > Martin J. Evans> Easysoft Limited> http://www.easysoft.com
____________________________________________________________ _____
PC Magazine=92s 2007 editors=92 choice for best web mail=97award-winning Wi=
ndows Live Hotmail.
http://imagine-windowslive.com/hotmail/?locale=3Den-us&ocid= 3DTXT_TAGHM_mig=
ration_HMWL_mini_pcmag_0707=
--_405f093b-cbf1-45fd-a00d-7cf10c23ad0c_--