perl DBD and DBI for 64 bit perl
perl DBD and DBI for 64 bit perl
am 05.02.2007 20:16:22 von joseph_wholey
------_=_NextPart_001_01C7495A.1F2262E0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Hello,=20
I'm trying to track down DBD and DBI for 64 bit perl. Does it exist?
If so, can you point me in the right direction?=20
Regards,=20
Joe Wholey
UNIX Systems Administration
phone: (212) 647-3018
pager: 1-888-merrill0
E-mail: joseph_wholey@ml.com
--------------------------------------------------------
If you are not an intended recipient of this e-mail, please notify the =
sender, delete it and do not read, act upon, print, disclose, copy, =
retain or redistribute it. Click here for important additional terms =
relating to this e-mail. http://www.ml.com/email_terms/
--------------------------------------------------------
------_=_NextPart_001_01C7495A.1F2262E0--
Re: perl DBD and DBI for 64 bit perl
am 06.02.2007 00:55:39 von jonathan.leffler
------=_Part_48924_17442088.1170719739842
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
On 2/5/07, Wholey, Joseph (GTI) wrote:
> I'm trying to track down DBD and DBI for 64 bit perl. Does it exist?
> If so, can you point me in the right direction?
>
What are you seeking?
It exists if you compile it.
Do you need help compiling a 64-bit Perl?
Compiling DBI with your pre-built 64-bit Perl?
Do you want a pre-built 64-bit Perl?
If so, for which platform? The version I have on Solaris 8 may not be all
that much use to you.
--
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
------=_Part_48924_17442088.1170719739842--
RE: perl DBD and DBI for 64 bit perl
am 06.02.2007 02:38:09 von joseph_wholey
------_=_NextPart_001_01C7498F.75074E34
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
I need perl dbd and dbi 64 bit for Red Hat Linux version 4. =20
-----Original Message-----
From: Jonathan Leffler [mailto:jonathan.leffler@gmail.com]=20
Sent: Monday, February 05, 2007 6:56 PM
To: Wholey, Joseph (GTI)
Cc: dbi-users@perl.org
Subject: Re: perl DBD and DBI for 64 bit perl
=09
=09
On 2/5/07, Wholey, Joseph (GTI) wrote:
=09
I'm trying to track down DBD and DBI for 64 bit perl.
Does it exist?
If so, can you point me in the right direction?
=09
What are you seeking?
It exists if you compile it.
Do you need help compiling a 64-bit Perl?=20
Compiling DBI with your pre-built 64-bit Perl?
Do you want a pre-built 64-bit Perl?
If so, for which platform? The version I have on Solaris 8 may
not be all that much use to you.
=09
--=20
Jonathan Leffler < jonathan.leffler@gmail.com> #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
--------------------------------------------------------
If you are not an intended recipient of this e-mail, please notify the =
sender, delete it and do not read, act upon, print, disclose, copy, =
retain or redistribute it. Click here for important additional terms =
relating to this e-mail. http://www.ml.com/email_terms/
--------------------------------------------------------
------_=_NextPart_001_01C7498F.75074E34--
AW: perl DBD and DBI for 64 bit perl
am 06.02.2007 07:15:39 von Govinda.Pfister
Hello Jonathan,
at the momment I am searching for a pre-built 64-Bit Perl for Solaris 10 =
Sparc, too. Do you know where one can be found?
Thanks for any hints.
Govinda=20
-----Ursprüngliche Nachricht-----
Von: Jonathan Leffler [mailto:jonathan.leffler@gmail.com]=20
Gesendet: Dienstag, 6. Februar 2007 00:56
An: Wholey, Joseph (GTI)
Cc: dbi-users@perl.org
Betreff: Re: perl DBD and DBI for 64 bit perl
On 2/5/07, Wholey, Joseph (GTI) wrote:
> I'm trying to track down DBD and DBI for 64 bit perl. Does it exist?
> If so, can you point me in the right direction?
>
What are you seeking?
It exists if you compile it.
Do you need help compiling a 64-bit Perl?
Compiling DBI with your pre-built 64-bit Perl?
Do you want a pre-built 64-bit Perl?
If so, for which platform? The version I have on Solaris 8 may not be =
all that much use to you.
--
Jonathan Leffler #include =
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org "I don't =
suffer from insanity - I enjoy every minute of it."
Re: perl DBD and DBI for 64 bit perl
am 06.02.2007 08:18:57 von jonathan.leffler
------=_Part_477_29471351.1170746337300
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
On 2/5/07, Govinda.Pfister@telekom.de wrote:
>
> Hello Jonathan,
>
> at the momment I am searching for a pre-built 64-Bit Perl for Solaris 10
> Sparc, too. Do you know where one can be found?
> Thanks for any hints.
Have you looked at the Sun sites - http://sun.com/ and/or http://sunsoft.co=
m?
Googling "64-bit perl solaris 10" and going a fair way down the first page
gets to docs.sun.com and discussions about Perl 5.8.4 and 64-bit. If you
simply need to upgrade, use the 'perl -V' output from 5.8.4 as installed as
guidance on how to configure 5.8.8.
Failing that, is one built on Solaris 8 any use? It uses GCC, is compiled
64-bit, threaded, ithreads, and multiplicity, and installs into
/usr/perl/v5.8.8. But frankly, it is simplest just to build your own - I'd
worry whether I've got dependencies on /usr/gnu64, for example, which is a
necessity on my machine but most people can use /usr/local instead.
My technique for ensuring that a build is 64-bit is to use 'gcc -m64' (or
with the Sun compiler, 'cc -xarch=3Dsparcv9') as the compiler name; that wa=
y,
every use of the compiler invokes 64-bittiness. The residual issues are
then down to specifying the correct library directories (/usr/lib/sparcv9,
IIRC, for example, instead of /usr/lib).
-----Ursprüngliche Nachricht-----
> Von: Jonathan Leffler [mailto:jonathan.leffler@gmail.com]
> Gesendet: Dienstag, 6. Februar 2007 00:56
> An: Wholey, Joseph (GTI)
> Cc: dbi-users@perl.org
> Betreff: Re: perl DBD and DBI for 64 bit perl
>
> On 2/5/07, Wholey, Joseph (GTI) wrote:
>
> > I'm trying to track down DBD and DBI for 64 bit perl. Does it exist?
> > If so, can you point me in the right direction?
>
> What are you seeking?
> It exists if you compile it.
> Do you need help compiling a 64-bit Perl?
> Compiling DBI with your pre-built 64-bit Perl?
> Do you want a pre-built 64-bit Perl?
> If so, for which platform? The version I have on Solaris 8 may not be al=
l
> that much use to you.
>
--=20
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
------=_Part_477_29471351.1170746337300--
RE: perl DBD and DBI for 64 bit perl
am 08.02.2007 16:48:49 von joseph_wholey
------_=_NextPart_001_01C74B98.A048EA16
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Jonathon,=20
=20
I'm really in a pinch here:
=20
Here's the error I get when I try to compile the DBD:. Can you help me
out here. Below you'll find my level of Perl and the dbd and dbi
versions I'm attempting to install.
=20
gcc -shared DB2.o dbdimp.o -o blib/arch/auto/DBD/DB2/DB2.so
-L/opt/IBM/db2/V8.1/lib -ldb2 =20
/usr/bin/ld: skipping incompatible /opt/IBM/db2/V8.1/lib/libdb2.so when
searching for -ldb2
/usr/bin/ld: cannot find -ldb2
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/DB2/DB2.so] Error 1
[root@mphqa1cjs101 DBD-DB2-0.78]#=20
=20
=20
Here are the versions I'm trying to compile as well as the perl version.
=20
DBI-1.51
DBD-DB2-0.78
=20
[root@mphqa1cjs101 DBD-DB2-0.78]# perl -v=20
=20
This is perl, v5.8.5 built for x86_64-linux-thread-multi
=20
Copyright 1987-2004, Larry Wall
=20
Any help would be greatly appreciated. =20
=20
=20
-----Original Message-----
From: Wholey, Joseph (GTI)=20
Sent: Monday, February 05, 2007 8:38 PM
To: 'Jonathan Leffler'
Cc: dbi-users@perl.org
Subject: RE: perl DBD and DBI for 64 bit perl
=09
=09
=20
I need perl dbd and dbi 64 bit for Red Hat Linux version 4. =20
-----Original Message-----
From: Jonathan Leffler
[mailto:jonathan.leffler@gmail.com]=20
Sent: Monday, February 05, 2007 6:56 PM
To: Wholey, Joseph (GTI)
Cc: dbi-users@perl.org
Subject: Re: perl DBD and DBI for 64 bit perl
=09
=09
On 2/5/07, Wholey, Joseph (GTI)
wrote:
=09
I'm trying to track down DBD and DBI for 64 bit
perl. Does it exist?
If so, can you point me in the right direction?
=09
What are you seeking?
It exists if you compile it.
Do you need help compiling a 64-bit Perl?=20
Compiling DBI with your pre-built 64-bit Perl?
Do you want a pre-built 64-bit Perl?
If so, for which platform? The version I have on
Solaris 8 may not be all that much use to you.
=09
--=20
Jonathan Leffler < jonathan.leffler@gmail.com> #include
Guardian of DBD::Informix - v2005.02 -
http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of
it."
--------------------------------------------------------
If you are not an intended recipient of this e-mail, please notify the =
sender, delete it and do not read, act upon, print, disclose, copy, =
retain or redistribute it. Click here for important additional terms =
relating to this e-mail. http://www.ml.com/email_terms/
--------------------------------------------------------
------_=_NextPart_001_01C74B98.A048EA16--
Re: perl DBD and DBI for 64 bit perl
am 08.02.2007 17:29:45 von jonathan.leffler
------=_Part_10404_6040428.1170952185723
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
On 2/8/07, Wholey, Joseph (GTI) wrote:
>
>
> Jonathon,
>
Dear Josaph :-)
I'm really in a pinch here:
>
> Here's the error I get when I try to compile the DBD:. Can you help me
> out here. Below you'll find my level of Perl and the dbd and dbi versions
> I'm attempting to install.
>
> gcc -shared DB2.o dbdimp.o -o blib/arch/auto/DBD/DB2/DB2.so
> -L/opt/IBM/db2/V8.1/lib -ldb2
> /usr/bin/ld: skipping incompatible /opt/IBM/db2/V8.1/lib/libdb2.so when
> searching for -ldb2
>
Well, it looks like the DB2 client software you have is probably a 32-bit
version, so GCC is quite correctly not linking your 64-bit DBD::DB2 module
with the 32-bit DB2 client software -- it wouldn't work even if it tried.
You have two options:
* Find, install, use a 64-bit DB2 client library.
* Recompile Perl, DBI and then DBD::DB2 as 32-bit code to use the 32-bit DB2
client.
Both would work - which is better for you depends on whether you can find a
64-bit DB2 client library.
/usr/bin/ld: cannot find -ldb2
> collect2: ld returned 1 exit status
> make: *** [blib/arch/auto/DBD/DB2/DB2.so] Error 1
> [root@mphqa1cjs101 DBD-DB2-0.78]#
>
>
> Here are the versions I'm trying to compile as well as the perl version.
>
> DBI-1.51
> DBD-DB2-0.78
>
> [root@mphqa1cjs101 DBD-DB2-0.78]# perl -v
>
> This is perl, v5.8.5 built for x86_64-linux-thread-multi
>
--
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
------=_Part_10404_6040428.1170952185723--
RE: perl DBD and DBI for 64 bit perl
am 08.02.2007 18:18:49 von joseph_wholey
------_=_NextPart_001_01C74BA5.32D88A4C
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Jonathon,=20
=20
OK... we're making progress... that is a 64 bit db2... maybe there is a
problem with their libraries. Anyway, what from that error I'd sent you
indicates that it's going against a 32 bit db2 lib? btw... I really
appreciate your help on this. =20
=20
rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>exit
[root@mphqa1cjs101 DBD_DBI]# su - rpcjq
mphqa1cjs101
=20
############################################################
*** db2instance ---> rpcjq
*** db2dbdft ---> DBRPCJ
*** schema ---> RPCJQ
*** UNIX ID ---> rpcjq
############################################################
=20
rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>db2level
DB21085I Instance "rpcjq" uses "64" bits and DB2 code release
"SQL08025" with=20
level identifier "03060106".
Informational tokens are "DB2 v8.1.3.112", "s060429", "MI00159", and
FixPak=20
"12".
Product is installed at "/opt/IBM/db2/V8.1".
=20
-----Original Message-----
From: Jonathan Leffler [mailto:jonathan.leffler@gmail.com]=20
Sent: Thursday, February 08, 2007 11:30 AM
To: Wholey, Joseph (GTI)
Cc: dbi-users@perl.org
Subject: Re: perl DBD and DBI for 64 bit perl
=09
=09
On 2/8/07, Wholey, Joseph (GTI) wrote:=20
=20
Jonathon,=20
Dear Josaph :-)=20
=09
I'm really in a pinch here:
=20
Here's the error I get when I try to compile the DBD:.
Can you help me out here. Below you'll find my level of Perl and the
dbd and dbi versions I'm attempting to install.
=20
gcc -shared DB2.o dbdimp.o -o
blib/arch/auto/DBD/DB2/DB2.so -L/opt/IBM/db2/V8.1/lib -ldb2 =20
/usr/bin/ld: skipping incompatible
/opt/IBM/db2/V8.1/lib/libdb2.so when searching for -ldb2
Well, it looks like the DB2 client software you have is probably
a 32-bit version, so GCC is quite correctly not linking your 64-bit
DBD::DB2 module with the 32-bit DB2 client software -- it wouldn't work
even if it tried.=20
=09
You have two options:
* Find, install, use a 64-bit DB2 client library.
* Recompile Perl, DBI and then DBD::DB2 as 32-bit code to use
the 32-bit DB2 client.
=09
Both would work - which is better for you depends on whether you
can find a 64-bit DB2 client library.=20
=20
=09
/usr/bin/ld: cannot find -ldb2
collect2: ld returned 1 exit status
make: *** [blib/arch/auto/DBD/DB2/DB2.so] Error 1
[root@mphqa1cjs101 DBD-DB2-0.78]#=20
=20
=20
Here are the versions I'm trying to compile as well as
the perl version.=20
=20
DBI-1.51
DBD-DB2-0.78
=20
[root@mphqa1cjs101 DBD-DB2-0.78]# perl -v=20
=20
This is perl, v5.8.5 built for x86_64-linux-thread-multi
--=20
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
--------------------------------------------------------
If you are not an intended recipient of this e-mail, please notify the =
sender, delete it and do not read, act upon, print, disclose, copy, =
retain or redistribute it. Click here for important additional terms =
relating to this e-mail. http://www.ml.com/email_terms/
--------------------------------------------------------
------_=_NextPart_001_01C74BA5.32D88A4C--
Re: perl DBD and DBI for 64 bit perl
am 08.02.2007 19:14:25 von jonathan.leffler
------=_Part_11328_12571334.1170958465815
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
On 2/8/07, Wholey, Joseph (GTI) wrote:
>
> Jonathon,
>
Dear Joseph,
My name is JonathAn - please!
OK... we're making progress... that is a 64 bit db2... maybe there is a
> problem with their libraries. Anyway, what from that error I'd sent you
> indicates that it's going against a 32 bit db2 lib? btw... I really
> appreciate your help on this.
>
You need to distinguish between the database server (which I think your
evidence below shows is the case) and the client software used to connect to
it.
The evidence from your build suggests that the client software installed in
/opt/IBM/db2/V8.1/lib
(the libdb2.so file in there) is a 32-bit library. You can confirm that by
running the 'file' command on it.
For example:
Anubis JL: cd /usr/lib
Anubis JL: file libc.so
libc.so: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically
linked, not stripped
Anubis JL: cd sparcv9
Anubis JL: file libc.so
libc.so: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically
linked, not stripped
Anubis JL:
Assuming that this is the problem, you will either need to install the
64-bit client software - probably in a separate location so you don't break
the existing code that uses the 32-bit software (though I'm not sure how
easily you can do that with DB2) - or you have to use a 32-bit Perl and
32-bit DBI to build a 32-bit DBD::DB2 using the 32-bit DB2 client libraries.
If this is not the problem, then we need to understand why GCC is refusing
to play with the libdb2.so library in /opt/IBM/...
rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>exit
> [root@mphqa1cjs101 DBD_DBI]# su - rpcjq
> mphqa1cjs101
>
> ############################################################
> *** db2instance ---> rpcjq
> *** db2dbdft ---> DBRPCJ
> *** schema ---> RPCJQ
> *** UNIX ID ---> rpcjq
> ############################################################
>
> rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>db2level
> DB21085I Instance "rpcjq" uses "64" bits and DB2 code release "SQL08025"
> with
> level identifier "03060106".
> Informational tokens are "DB2 v8.1.3.112", "s060429", "MI00159", and
> FixPak
> "12".
> Product is installed at "/opt/IBM/db2/V8.1".
>
>
> -----Original Message-----
> *From:* Jonathan Leffler [mailto:jonathan.leffler@gmail.com]
> *Sent:* Thursday, February 08, 2007 11:30 AM
> *To:* Wholey, Joseph (GTI)
> *Cc:* dbi-users@perl.org
> *Subject:* Re: perl DBD and DBI for 64 bit perl
>
>
> On 2/8/07, Wholey, Joseph (GTI) wrote:
> >
> >
> > Jonathon,
> >
>
>
> Dear Josaph :-)
>
>
Hint given - not noticed :-(
I'm really in a pinch here:
> >
> > Here's the error I get when I try to compile the DBD:. Can you help me
> > out here. Below you'll find my level of Perl and the dbd and dbi versions
> > I'm attempting to install.
> >
> > gcc -shared DB2.o dbdimp.o -o blib/arch/auto/DBD/DB2/DB2.so
> > -L/opt/IBM/db2/V8.1/lib -ldb2
> > /usr/bin/ld: skipping incompatible /opt/IBM/db2/V8.1/lib/libdb2.so when
> > searching for -ldb2
> >
>
>
> Well, it looks like the DB2 client software you have is probably a 32-bit
> version, so GCC is quite correctly not linking your 64-bit DBD::DB2 module
> with the 32-bit DB2 client software -- it wouldn't work even if it tried.
>
> You have two options:
> * Find, install, use a 64-bit DB2 client library.
> * Recompile Perl, DBI and then DBD::DB2 as 32-bit code to use the 32-bit
> DB2 client.
>
> Both would work - which is better for you depends on whether you can find
> a 64-bit DB2 client library.
>
>
> /usr/bin/ld: cannot find -ldb2
> > collect2: ld returned 1 exit status
> > make: *** [blib/arch/auto/DBD/DB2/DB2.so] Error 1
> > [root@mphqa1cjs101 DBD-DB2-0.78]#
> >
> >
> > Here are the versions I'm trying to compile as well as the perl version.
> >
> >
> > DBI-1.51
> > DBD-DB2-0.78
> >
> > [root@mphqa1cjs101 DBD-DB2-0.78]# perl -v
> >
> > This is perl, v5.8.5 built for x86_64-linux-thread-multi
> >
>
--
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
------=_Part_11328_12571334.1170958465815--
RE: perl DBD and DBI for 64 bit perl
am 08.02.2007 19:33:00 von joseph_wholey
------_=_NextPart_001_01C74BAF.8FD6DB72
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Jonathan (sorry about that)
=20
You are correct... it is a 32 bit file.... bear with me...I'm a little
confused by this statement:=20
=20
"You need to distinguish between the database server (which I think your
evidence below shows is the case) and the client software used to
connect to it." The server in question, is the database server. =20
=20
Anyway, moving forward, how do I force the compilation of the modules to
go to point to the db2 64bit libraries? Do I need to modify the
Makefile.pl script? Is there an easier way?=20
=20
Note: the *.1 files are links. =20
[root@mphqa1cjs101 lib]# locate libdb2.so
/opt/IBM/db2/V8.1/lib/libdb2.so.1
/opt/IBM/db2/V8.1/lib/libdb2.so
/opt/IBM/db2/V8.1/lib64/libdb2.so.1
/opt/IBM/db2/V8.1/lib64/libdb2.so
=20
Thanks again...
=20
Regards, Joe
-----Original Message-----
From: Jonathan Leffler [mailto:jonathan.leffler@gmail.com]=20
Sent: Thursday, February 08, 2007 1:14 PM
To: Wholey, Joseph (GTI)
Cc: DBD::DB2 Maintenance Team; DBI Users Mailing List
Subject: Re: perl DBD and DBI for 64 bit perl
=09
=09
On 2/8/07, Wholey, Joseph (GTI) wrote:=20
Jonathon,=20
Dear Joseph,
=09
My name is JonathAn - please!
=09
OK... we're making progress... that is a 64 bit db2...
maybe there is a problem with their libraries. Anyway, what from that
error I'd sent you indicates that it's going against a 32 bit db2 lib?
btw... I really appreciate your help on this.=20
You need to distinguish between the database server (which I
think your evidence below shows is the case) and the client software
used to connect to it.=20
=09
The evidence from your build suggests that the client software
installed in /opt/IBM/db2/V8.1/lib
(the libdb2.so file in there) is a 32-bit library. You can
confirm that by running the 'file' command on it.
=09
For example:
=09
Anubis JL: cd /usr/lib
Anubis JL: file libc.so
libc.so: ELF 32-bit MSB dynamic lib SPARC Version 1,
dynamically linked, not stripped
Anubis JL: cd sparcv9
Anubis JL: file libc.so
libc.so: ELF 64-bit MSB dynamic lib SPARCV9 Version 1,
dynamically linked, not stripped
Anubis JL:
=09
Assuming that this is the problem, you will either need to
install the 64-bit client software - probably in a separate location so
you don't break the existing code that uses the 32-bit software (though
I'm not sure how easily you can do that with DB2) - or you have to use a
32-bit Perl and 32-bit DBI to build a 32-bit DBD::DB2 using the 32-bit
DB2 client libraries.=20
=09
If this is not the problem, then we need to understand why GCC
is refusing to play with the libdb2.so library in /opt/IBM/...
=09
=09
rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>exit
[root@mphqa1cjs101 DBD_DBI]# su - rpcjq
mphqa1cjs101
=20
=09
############################################################
*** db2instance ---> rpcjq
*** db2dbdft ---> DBRPCJ
*** schema ---> RPCJQ
*** UNIX ID ---> rpcjq
=09
############################################################
=20
rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>db2level
DB21085I Instance "rpcjq" uses "64" bits and DB2 code
release "SQL08025" with=20
level identifier "03060106".
Informational tokens are "DB2 v8.1.3.112", "s060429",
"MI00159", and FixPak=20
"12".
Product is installed at "/opt/IBM/db2/V8.1".
=20
-----Original Message-----
From: Jonathan Leffler
[mailto:jonathan.leffler@gmail.com]=20
Sent: Thursday, February 08, 2007 11:30 AM
To: Wholey, Joseph (GTI)
Cc: dbi-users@perl.org
Subject: Re: perl DBD and DBI for 64 bit perl
=09
=09
=09
=09
On 2/8/07, Wholey, Joseph (GTI)
wrote:=20
=20
Jonathon,=20
Dear Josaph :-)=20
Hint given - not noticed :-(
=09
=09
=09
I'm really in a pinch here:
=20
Here's the error I get when I try to
compile the DBD:. Can you help me out here. Below you'll find my level
of Perl and the dbd and dbi versions I'm attempting to install.
=20
gcc -shared DB2.o dbdimp.o -o
blib/arch/auto/DBD/DB2/DB2.so -L/opt/IBM/db2/V8.1/lib -ldb2 =20
/usr/bin/ld: skipping incompatible
/opt/IBM/db2/V8.1/lib/libdb2.so when searching for -ldb2
Well, it looks like the DB2 client software you
have is probably a 32-bit version, so GCC is quite correctly not linking
your 64-bit DBD::DB2 module with the 32-bit DB2 client software -- it
wouldn't work even if it tried.=20
=09
You have two options:
* Find, install, use a 64-bit DB2 client
library.
* Recompile Perl, DBI and then DBD::DB2 as
32-bit code to use the 32-bit DB2 client.
=09
Both would work - which is better for you
depends on whether you can find a 64-bit DB2 client library.=20
=20
=09
/usr/bin/ld: cannot find -ldb2
collect2: ld returned 1 exit status
make: ***
[blib/arch/auto/DBD/DB2/DB2.so] Error 1
[root@mphqa1cjs101 DBD-DB2-0.78]#=20
=20
=20
Here are the versions I'm trying to
compile as well as the perl version.=20
=20
DBI-1.51
DBD-DB2-0.78
=20
[root@mphqa1cjs101 DBD-DB2-0.78]# perl
-v=20
=20
This is perl, v5.8.5 built for
x86_64-linux-thread-multi
--=20
Jonathan Leffler < jonathan.leffler@gmail.com
> #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
--------------------------------------------------------
If you are not an intended recipient of this e-mail, please notify the =
sender, delete it and do not read, act upon, print, disclose, copy, =
retain or redistribute it. Click here for important additional terms =
relating to this e-mail. http://www.ml.com/email_terms/
--------------------------------------------------------
------_=_NextPart_001_01C74BAF.8FD6DB72--
Re: perl DBD and DBI for 64 bit perl
am 08.02.2007 20:37:42 von jonathan.leffler
------=_Part_12180_19698958.1170963462474
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
On 2/8/07, Wholey, Joseph (GTI) wrote:
>
> You are correct... it is a 32 bit file.... bear with me...I'm a little
> confused by this statement:
>
> "You need to distinguish between the database server (which I think your
> evidence below shows is the case) and the client software used to connect to
> it." The server in question, is the database server.
>
The parenthetical remark in my sentence wasn't complete - apologies. If you
ignore that, then I said that you simply need to be aware that the
application program (eg Perl + DBI + DBD::DB2) uses a client library to
connect to the database server. It does not include the database server
code in the client program. And that means that the client program can have
a different bittiness from the server. What the parenthetical remark should
have been is "(and I think your evidence below shows that the server is a
64-bit server)".
Anyway, moving forward, how do I force the compilation of the modules to go
> to point to the db2 64bit libraries? Do I need to modify the Makefile.plscript? Is there an easier way?
>
> Note: the *.1 files are links.
> [root@mphqa1cjs101 lib]# locate libdb2.so
> /opt/IBM/db2/V8.1/lib/libdb2.so.1
> /opt/IBM/db2/V8.1/lib/libdb2.so
> /opt/IBM/db2/V8.1/lib64/libdb2.so.1
> /opt/IBM/db2/V8.1/lib64/libdb2.so
>
This is the valuable information...You have the 64-bit libraries; you just
need to persuade Perl to use them.
I don't have the source for DBD::DB2 0.78 on my machine - but I looked at
0.76 instead. In Makefile.PL, there is code to the effect:
# libraries required to build DBD::DB2 driver
if( $os eq 'MSWin32' || $os eq 'MSWin64' || $os eq 'os2' )
{
$sysliblist = qq(-L"$DB2/lib" db2cli db2api);
my @libpaths = split /;/, $ENV{'LIB'};
my $libpath;
while( @libpaths )
{
( $libpath = shift(@libpaths) ) =~ s/"//g; # Remove quotes
$libpath =~ s:\\:/:g;
if( $libpath && $sysliblist !~ /-L"$libpath"/i )
{
$sysliblist .= qq( -L"$libpath");
}
}
}
else
{
$sysliblist = "-L$DB2/lib -ldb2";
}
This needs to be modified, I believe, so the last else clause takes into
account the possibility of a 64-bit Perl. There are various configuration
items that could be used to identify 64-bit Perl:
$Config{use64bitint}
$Config{use64bitall}
$Config{intsize} == 8
$Config{ptrsize} == 8
So, if some suitable values of these are set, you should change $sysliblist
to use -L$DB2/lib64
elsif ($Config{ptrsize} == 8)
{
$sysliblist = "-L$DB2/lib -ldb2";
}
With this hacked into Makefile.PL, there's a chance you'll build correctly.
DBD::DB2 Maintenance Team - please note this suggested change; validate and
fix for the next release of DBD::DB2. Thanks!
Thanks again...
>
> Regards, Joe
>
> -----Original Message-----
> *From:* Jonathan Leffler [mailto:jonathan.leffler@gmail.com]
> *Sent:* Thursday, February 08, 2007 1:14 PM
> *To:* Wholey, Joseph (GTI)
> *Cc:* DBD::DB2 Maintenance Team; DBI Users Mailing List
> *Subject:* Re: perl DBD and DBI for 64 bit perl
>
>
>
> On 2/8/07, Wholey, Joseph (GTI) wrote:
> >
> > OK... we're making progress... that is a 64 bit db2... maybe there is a
> > problem with their libraries. Anyway, what from that error I'd sent you
> > indicates that it's going against a 32 bit db2 lib? btw... I really
> > appreciate your help on this.
> >
>
>
> You need to distinguish between the database server (which I think your
> evidence below shows is the case) and the client software used to connect to
> it.
>
> The evidence from your build suggests that the client software installed
> in /opt/IBM/db2/V8.1/lib
> (the libdb2.so file in there) is a 32-bit library. You can confirm that
> by running the 'file' command on it.
>
> For example:
>
> Anubis JL: cd /usr/lib
> Anubis JL: file libc.so
> libc.so: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically
> linked, not stripped
> Anubis JL: cd sparcv9
> Anubis JL: file libc.so
> libc.so: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, dynamically
> linked, not stripped
> Anubis JL:
>
> Assuming that this is the problem, you will either need to install the
> 64-bit client software - probably in a separate location so you don't break
> the existing code that uses the 32-bit software (though I'm not sure how
> easily you can do that with DB2) - or you have to use a 32-bit Perl and
> 32-bit DBI to build a 32-bit DBD::DB2 using the 32-bit DB2 client libraries.
>
>
> If this is not the problem, then we need to understand why GCC is refusing
> to play with the libdb2.so library in /opt/IBM/...
>
>
> rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>exit
> > [root@mphqa1cjs101 DBD_DBI]# su - rpcjq
> > mphqa1cjs101
> >
> > ############################################################
> > *** db2instance ---> rpcjq
> > *** db2dbdft ---> DBRPCJ
> > *** schema ---> RPCJQ
> > *** UNIX ID ---> rpcjq
> > ############################################################
> >
> > rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>db2level
> > DB21085I Instance "rpcjq" uses "64" bits and DB2 code release
> > "SQL08025" with
> > level identifier "03060106".
> > Informational tokens are "DB2 v8.1.3.112", "s060429", "MI00159", and
> > FixPak
> > "12".
> > Product is installed at "/opt/IBM/db2/V8.1".
> >
> >
> > -----Original Message-----
> > *From:* Jonathan Leffler [mailto:jonathan.leffler@gmail.com]
> > *Sent:* Thursday, February 08, 2007 11:30 AM
> > *To:* Wholey, Joseph (GTI)
> > *Cc:* dbi-users@perl.org
> > *Subject:* Re: perl DBD and DBI for 64 bit perl
> >
> >
> > On 2/8/07, Wholey, Joseph (GTI) wrote:
> >
> > I'm really in a pinch here:
> > >
> > > Here's the error I get when I try to compile the DBD:. Can you help
> > > me out here. Below you'll find my level of Perl and the dbd and dbi
> > > versions I'm attempting to install.
> > >
> > > gcc -shared DB2.o dbdimp.o -o blib/arch/auto/DBD/DB2/DB2.so
> > > -L/opt/IBM/db2/V8.1/lib -ldb2
> > > /usr/bin/ld: skipping incompatible /opt/IBM/db2/V8.1/lib/libdb2.so
> > > when searching for -ldb2
> > >
> >
> >
> > Well, it looks like the DB2 client software you have is probably a
> > 32-bit version, so GCC is quite correctly not linking your 64-bit DBD::DB2
> > module with the 32-bit DB2 client software -- it wouldn't work even if it
> > tried.
> >
> > You have two options:
> > * Find, install, use a 64-bit DB2 client library.
> > * Recompile Perl, DBI and then DBD::DB2 as 32-bit code to use the 32-bit
> > DB2 client.
> >
> > Both would work - which is better for you depends on whether you can
> > find a 64-bit DB2 client library.
> >
> >
> > /usr/bin/ld: cannot find -ldb2
> > > collect2: ld returned 1 exit status
> > > make: *** [blib/arch/auto/DBD/DB2/DB2.so] Error 1
> > > [root@mphqa1cjs101 DBD-DB2-0.78]#
> > >
> > >
> > > Here are the versions I'm trying to compile as well as the perl
> > > version.
> > >
> > > DBI-1.51
> > > DBD-DB2-0.78
> > >
> > > [root@mphqa1cjs101 DBD-DB2-0.78]# perl -v
> > >
> > > This is perl, v5.8.5 built for x86_64-linux-thread-multi
> > >
> >
--
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
------=_Part_12180_19698958.1170963462474--
RE: perl DBD and DBI for 64 bit perl
am 08.02.2007 21:53:55 von joseph_wholey
------_=_NextPart_001_01C74BC3.3F5FEF8A
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Jonathan,=20
=20
....and finally, are you aware of a version that points to the 64 bit
libraries. If not... no big deal... I'll just hack it. And your help
and responsiveness has been incredible. Better than paid support.=20
=20
Regards, Joe
-----Original Message-----
From: Jonathan Leffler [mailto:jonathan.leffler@gmail.com]=20
Sent: Thursday, February 08, 2007 2:38 PM
To: Wholey, Joseph (GTI)
Cc: DBD::DB2 Maintenance Team; DBI Users Mailing List
Subject: Re: perl DBD and DBI for 64 bit perl
=09
=09
On 2/8/07, Wholey, Joseph (GTI) wrote:=20
You are correct... it is a 32 bit file.... bear with
me...I'm a little confused by this statement:=20
=20
"You need to distinguish between the database server
(which I think your evidence below shows is the case) and the client
software used to connect to it." The server in question, is the
database server. =20
The parenthetical remark in my sentence wasn't complete -
apologies. If you ignore that, then I said that you simply need to be
aware that the application program (eg Perl + DBI + DBD::DB2) uses a
client library to connect to the database server. It does not include
the database server code in the client program. And that means that the
client program can have a different bittiness from the server. What the
parenthetical remark should have been is "(and I think your evidence
below shows that the server is a 64-bit server)".=20
=09
=09
Anyway, moving forward, how do I force the compilation
of the modules to go to point to the db2 64bit libraries? Do I need to
modify the Makefile.pl script? Is there an easier way?=20
=20
Note: the *.1 files are links. =20
[root@mphqa1cjs101 lib]# locate libdb2.so
/opt/IBM/db2/V8.1/lib/libdb2.so.1
/opt/IBM/db2/V8.1/lib/libdb2.so
/opt/IBM/db2/V8.1/lib64/libdb2.so.1
/opt/IBM/db2/V8.1/lib64/libdb2.so
This is the valuable information...You have the 64-bit
libraries; you just need to persuade Perl to use them.
=09
I don't have the source for DBD::DB2 0.78 on my machine - but I
looked at 0.76 instead. In Makefile.PL, there is code to the effect:
=09
# libraries required to build DBD::DB2 driver
if( $os eq 'MSWin32' || $os eq 'MSWin64' || $os eq 'os2' )
{
$sysliblist =3D qq(-L"$DB2/lib" db2cli db2api);=20
my @libpaths =3D split /;/, $ENV{'LIB'};
my $libpath;
while( @libpaths )
{
( $libpath =3D shift(@libpaths) ) =3D~ s/"//g; # Remove quotes
$libpath =3D~ s:\\:/:g;
=09
if( $libpath && $sysliblist !~ /-L"$libpath"/i )=20
{
$sysliblist .=3D qq( -L"$libpath");
}
}
}
else
{
$sysliblist =3D "-L$DB2/lib -ldb2";
}
=09
=09
This needs to be modified, I believe, so the last else clause
takes into account the possibility of a 64-bit Perl. There are various
configuration items that could be used to identify 64-bit Perl:=20
=09
$Config{use64bitint}
$Config{use64bitall}
$Config{intsize} == 8
$Config{ptrsize} == 8
=09
So, if some suitable values of these are set, you should change
$sysliblist to use -L$DB2/lib64
=09
elsif ($Config{ptrsize} == 8)=20
{
$sysliblist =3D "-L$DB2/lib -ldb2";
}
=09
With this hacked into Makefile.PL, there's a chance you'll build
correctly.
=09
=09
DBD::DB2 Maintenance Team - please note this suggested change;
validate and fix for the next release of DBD::DB2. Thanks!=20
=09
=09
=09
Thanks again...
=20
Regards, Joe
-----Original Message-----
From: Jonathan Leffler
[mailto:jonathan.leffler@gmail.com]=20
Sent: Thursday, February 08, 2007 1:14 PM
To: Wholey, Joseph (GTI)
=09
Cc: DBD::DB2 Maintenance Team; DBI Users Mailing
List
Subject: Re: perl DBD and DBI for 64 bit perl
=09
=09
=09
=09
=09
On 2/8/07, Wholey, Joseph (GTI)
wrote:=20
OK... we're making progress... that is a
64 bit db2... maybe there is a problem with their libraries. Anyway,
what from that error I'd sent you indicates that it's going against a 32
bit db2 lib? btw... I really appreciate your help on this.=20
You need to distinguish between the database
server (which I think your evidence below shows is the case) and the
client software used to connect to it.=20
=09
The evidence from your build suggests that the
client software installed in /opt/IBM/db2/V8.1/lib
(the libdb2.so file in there) is a 32-bit
library. You can confirm that by running the 'file' command on it.
=09
For example:
=09
Anubis JL: cd /usr/lib
Anubis JL: file libc.so
libc.so: ELF 32-bit MSB dynamic lib SPARC
Version 1, dynamically linked, not stripped
Anubis JL: cd sparcv9
Anubis JL: file libc.so
libc.so: ELF 64-bit MSB dynamic lib
SPARCV9 Version 1, dynamically linked, not stripped
Anubis JL:
=09
Assuming that this is the problem, you will
either need to install the 64-bit client software - probably in a
separate location so you don't break the existing code that uses the
32-bit software (though I'm not sure how easily you can do that with
DB2) - or you have to use a 32-bit Perl and 32-bit DBI to build a 32-bit
DBD::DB2 using the 32-bit DB2 client libraries.=20
=09
If this is not the problem, then we need to
understand why GCC is refusing to play with the libdb2.so library in
/opt/IBM/...
=09
=09
rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>exit
[root@mphqa1cjs101 DBD_DBI]# su - rpcjq
mphqa1cjs101
=20
=09
############################################################
*** db2instance ---> rpcjq
*** db2dbdft ---> DBRPCJ
*** schema ---> RPCJQ
*** UNIX ID ---> rpcjq
=09
############################################################
=20
=09
rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>db2level
DB21085I Instance "rpcjq" uses "64"
bits and DB2 code release "SQL08025" with=20
level identifier "03060106".
Informational tokens are "DB2
v8.1.3.112", "s060429", "MI00159", and FixPak=20
"12".
Product is installed at
"/opt/IBM/db2/V8.1".
=20
-----Original Message-----
From: Jonathan Leffler
[mailto:jonathan.leffler@gmail.com]=20
Sent: Thursday, February 08, 2007 11:30
AM
To: Wholey, Joseph (GTI)
Cc: dbi-users@perl.org
Subject: Re: perl DBD and DBI for 64 bit
perl
=09
=09
=09
=09
On 2/8/07, Wholey, Joseph (GTI)
wrote:
=09
I'm really in a pinch here:
=20
Here's the error I get when I try to
compile the DBD:. Can you help me out here. Below you'll find my level
of Perl and the dbd and dbi versions I'm attempting to install.
=20
gcc -shared DB2.o dbdimp.o -o
blib/arch/auto/DBD/DB2/DB2.so -L/opt/IBM/db2/V8.1/lib -ldb2 =20
/usr/bin/ld: skipping incompatible
/opt/IBM/db2/V8.1/lib/libdb2.so when searching for -ldb2
Well, it looks like the DB2 client
software you have is probably a 32-bit version, so GCC is quite
correctly not linking your 64-bit DBD::DB2 module with the 32-bit DB2
client software -- it wouldn't work even if it tried.=20
=09
You have two options:
* Find, install, use a 64-bit DB2 client
library.
* Recompile Perl, DBI and then DBD::DB2
as 32-bit code to use the 32-bit DB2 client.
=09
Both would work - which is better for
you depends on whether you can find a 64-bit DB2 client library.=20
=20
=09
/usr/bin/ld: cannot find -ldb2
collect2: ld returned 1 exit status
make: ***
[blib/arch/auto/DBD/DB2/DB2.so] Error 1
[root@mphqa1cjs101 DBD-DB2-0.78]#=20
=20
=20
Here are the versions I'm trying to
compile as well as the perl version.=20
=20
DBI-1.51
DBD-DB2-0.78
=20
[root@mphqa1cjs101 DBD-DB2-0.78]# perl
-v=20
=20
This is perl, v5.8.5 built for
x86_64-linux-thread-multi
--=20
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org=20
"I don't suffer from insanity - I enjoy every minute of it."
--------------------------------------------------------
If you are not an intended recipient of this e-mail, please notify the =
sender, delete it and do not read, act upon, print, disclose, copy, =
retain or redistribute it. Click here for important additional terms =
relating to this e-mail. http://www.ml.com/email_terms/
--------------------------------------------------------
------_=_NextPart_001_01C74BC3.3F5FEF8A--
Re: perl DBD and DBI for 64 bit perl
am 08.02.2007 22:03:21 von jonathan.leffler
------=_Part_12736_22942316.1170968601525
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
On 2/8/07, Wholey, Joseph (GTI) wrote:
>
>
> Jonathan,
>
> ...and finally, are you aware of a version that points to the 64 bit
> libraries. If not... no big deal... I'll just hack it. And your help and
> responsiveness has been incredible. Better than paid support.
>
Nope - I'm not aware of it (DBD::DB2 isn't my code). Maybe you should
check the very latest version...
http://search.cpan.org/src/IBMTORDB2/DBD-DB2-1.0/Makefile.PL
Looks like it is in there...You can do that just as well as I can, can't
you?
Use the latest version of the code. It often helps.
(Actually, we can debate whether the test is truly correct - it would work
for you because you are using a 64-bit Perl and therefore want the 64-bit
libraries, but if you had a 32-bit Perl, it would still see the 64-bit
libraries and use those, despite the 32-bittiness of Perl.)
Regards, Joe
>
> -----Original Message-----
> *From:* Jonathan Leffler [mailto:jonathan.leffler@gmail.com]
> *Sent:* Thursday, February 08, 2007 2:38 PM
> *To:* Wholey, Joseph (GTI)
> *Cc:* DBD::DB2 Maintenance Team; DBI Users Mailing List
> *Subject:* Re: perl DBD and DBI for 64 bit perl
>
>
>
> On 2/8/07, Wholey, Joseph (GTI) wrote:
> >
> > You are correct... it is a 32 bit file.... bear with me...I'm a little
> > confused by this statement:
> >
> > "You need to distinguish between the database server (which I think your
> > evidence below shows is the case) and the client software used to connect to
> > it." The server in question, is the database server.
> >
>
>
> The parenthetical remark in my sentence wasn't complete - apologies. If
> you ignore that, then I said that you simply need to be aware that the
> application program (eg Perl + DBI + DBD::DB2) uses a client library to
> connect to the database server. It does not include the database server
> code in the client program. And that means that the client program can have
> a different bittiness from the server. What the parenthetical remark should
> have been is "(and I think your evidence below shows that the server is a
> 64-bit server)".
>
>
> Anyway, moving forward, how do I force the compilation of the modules to
> > go to point to the db2 64bit libraries? Do I need to modify the
> > Makefile.pl script? Is there an easier way?
> >
> > Note: the *.1 files are links.
> > [root@mphqa1cjs101 lib]# locate libdb2.so
> > /opt/IBM/db2/V8.1/lib/libdb2.so.1
> > /opt/IBM/db2/V8.1/lib/libdb2.so
> > /opt/IBM/db2/V8.1/lib64/libdb2.so.1
> > /opt/IBM/db2/V8.1/lib64/libdb2.so
> >
>
>
> This is the valuable information...You have the 64-bit libraries; you just
> need to persuade Perl to use them.
>
> I don't have the source for DBD::DB2 0.78 on my machine - but I looked at
> 0.76 instead. In Makefile.PL, there is code to the effect:
>
> # libraries required to build DBD::DB2 driver
> if( $os eq 'MSWin32' || $os eq 'MSWin64' || $os eq 'os2' )
> {
> $sysliblist = qq(-L"$DB2/lib" db2cli db2api);
> my @libpaths = split /;/, $ENV{'LIB'};
> my $libpath;
> while( @libpaths )
> {
> ( $libpath = shift(@libpaths) ) =~ s/"//g; # Remove quotes
> $libpath =~ s:\\:/:g;
>
> if( $libpath && $sysliblist !~ /-L"$libpath"/i )
> {
> $sysliblist .= qq( -L"$libpath");
> }
> }
> }
> else
> {
> $sysliblist = "-L$DB2/lib -ldb2";
> }
>
>
> This needs to be modified, I believe, so the last else clause takes into
> account the possibility of a 64-bit Perl. There are various configuration
> items that could be used to identify 64-bit Perl:
>
> $Config{use64bitint}
> $Config{use64bitall}
> $Config{intsize} == 8
> $Config{ptrsize} == 8
>
> So, if some suitable values of these are set, you should change
> $sysliblist to use -L$DB2/lib64
>
> elsif ($Config{ptrsize} == 8)
> {
> $sysliblist = "-L$DB2/lib -ldb2";
> }
>
> With this hacked into Makefile.PL, there's a chance you'll build
> correctly.
>
>
> DBD::DB2 Maintenance Team - please note this suggested change; validate
> and fix for the next release of DBD::DB2. Thanks!
>
>
>
> Thanks again...
> >
> > Regards, Joe
> >
> > -----Original Message-----
> > *From:* Jonathan Leffler [mailto:jonathan.leffler@gmail.com]
> > *Sent:* Thursday, February 08, 2007 1:14 PM
> > *To:* Wholey, Joseph (GTI)
> > *Cc:* DBD::DB2 Maintenance Team; DBI Users Mailing List
> > *Subject:* Re: perl DBD and DBI for 64 bit perl
> >
> >
> >
> > On 2/8/07, Wholey, Joseph (GTI) wrote:
> > >
> > > OK... we're making progress... that is a 64 bit db2... maybe there is
> > > a problem with their libraries. Anyway, what from that error I'd sent you
> > > indicates that it's going against a 32 bit db2 lib? btw... I really
> > > appreciate your help on this.
> > >
> >
> >
> > You need to distinguish between the database server (which I think your
> > evidence below shows is the case) and the client software used to connect to
> > it.
> >
> > The evidence from your build suggests that the client software installed
> > in /opt/IBM/db2/V8.1/lib
> > (the libdb2.so file in there) is a 32-bit library. You can confirm that
> > by running the 'file' command on it.
> >
> > For example:
> >
> > Anubis JL: cd /usr/lib
> > Anubis JL: file libc.so
> > libc.so: ELF 32-bit MSB dynamic lib SPARC Version 1, dynamically
> > linked, not stripped
> > Anubis JL: cd sparcv9
> > Anubis JL: file libc.so
> > libc.so: ELF 64-bit MSB dynamic lib SPARCV9 Version 1,
> > dynamically linked, not stripped
> > Anubis JL:
> >
> > Assuming that this is the problem, you will either need to install the
> > 64-bit client software - probably in a separate location so you don't break
> > the existing code that uses the 32-bit software (though I'm not sure how
> > easily you can do that with DB2) - or you have to use a 32-bit Perl and
> > 32-bit DBI to build a 32-bit DBD::DB2 using the 32-bit DB2 client libraries.
> >
> >
> > If this is not the problem, then we need to understand why GCC is
> > refusing to play with the libdb2.so library in /opt/IBM/...
> >
> >
> > rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>exit
> > > [root@mphqa1cjs101 DBD_DBI]# su - rpcjq
> > > mphqa1cjs101
> > >
> > > ############################################################
> > > *** db2instance ---> rpcjq
> > > *** db2dbdft ---> DBRPCJ
> > > *** schema ---> RPCJQ
> > > *** UNIX ID ---> rpcjq
> > > ############################################################
> > >
> > > rpcjq-mphqa1cjs101;/rpcjqhome/rpcjq>db2level
> > > DB21085I Instance "rpcjq" uses "64" bits and DB2 code release
> > > "SQL08025" with
> > > level identifier "03060106".
> > > Informational tokens are "DB2 v8.1.3.112", "s060429", "MI00159", and
> > > FixPak
> > > "12".
> > > Product is installed at "/opt/IBM/db2/V8.1".
> > >
> > >
> > > -----Original Message-----
> > > *From:* Jonathan Leffler [mailto:jonathan.leffler@gmail.com]
> > > *Sent:* Thursday, February 08, 2007 11:30 AM
> > > *To:* Wholey, Joseph (GTI)
> > > *Cc:* dbi-users@perl.org
> > > *Subject:* Re: perl DBD and DBI for 64 bit perl
> > >
> > >
> > > On 2/8/07, Wholey, Joseph (GTI) wrote:
> > >
> > > I'm really in a pinch here:
> > > >
> > > > Here's the error I get when I try to compile the DBD:. Can you help
> > > > me out here. Below you'll find my level of Perl and the dbd and dbi
> > > > versions I'm attempting to install.
> > > >
> > > > gcc -shared DB2.o dbdimp.o -o blib/arch/auto/DBD/DB2/DB2.so
> > > > -L/opt/IBM/db2/V8.1/lib -ldb2
> > > > /usr/bin/ld: skipping incompatible /opt/IBM/db2/V8.1/lib/libdb2.so
> > > > when searching for -ldb2
> > > >
> > >
> > >
> > > Well, it looks like the DB2 client software you have is probably a
> > > 32-bit version, so GCC is quite correctly not linking your 64-bit DBD::DB2
> > > module with the 32-bit DB2 client software -- it wouldn't work even if it
> > > tried.
> > >
> > > You have two options:
> > > * Find, install, use a 64-bit DB2 client library.
> > > * Recompile Perl, DBI and then DBD::DB2 as 32-bit code to use the
> > > 32-bit DB2 client.
> > >
> > > Both would work - which is better for you depends on whether you can
> > > find a 64-bit DB2 client library.
> > >
> > >
> > > /usr/bin/ld: cannot find -ldb2
> > > > collect2: ld returned 1 exit status
> > > > make: *** [blib/arch/auto/DBD/DB2/DB2.so] Error 1
> > > > [root@mphqa1cjs101 DBD-DB2-0.78]#
> > > >
> > > >
> > > > Here are the versions I'm trying to compile as well as the perl
> > > > version.
> > > >
> > > > DBI-1.51
> > > > DBD-DB2-0.78
> > > >
> > > > [root@mphqa1cjs101 DBD-DB2-0.78]# perl -v
> > > >
> > > > This is perl, v5.8.5 built for x86_64-linux-thread-multi
> > > >
> > >
>
> --
> Jonathan Leffler #include
> Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
> "I don't suffer from insanity - I enjoy every minute of it."
>
> ------------------------------
> If you are not an intended recipient of this e-mail, please notify the
> sender, delete it and do not read, act upon, print, disclose, copy, retain
> or redistribute it. Click here for
> important additional terms relating to this e-mail.
> http://www.ml.com/email_terms/
> ------------------------------
>
--
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."
------=_Part_12736_22942316.1170968601525--