make test errors DBI 1.54

make test errors DBI 1.54

am 05.04.2007 13:36:17 von myrose.20.ftumsh

Lo,

I'm getting the error below when trying to install DBI 1.54.
Linux is: Red Hat Enterprise Linux ES release 3 (Taroon Update 5)
or Red Hat Enterprise Linux ES release 2.1 (Panama)
ie both error.
I don't get the errors on my slackware box.

Any ideas?

Thanks, John

t/30subclass..............ok
t/40profile...............ok
10/51
t/40profile...............ok 11/51# Failed test in t/40profile.t at
line 108.
t/40profile...............ok 12/51# Structures begin differing
at:
# $got->[5] = '1175772925.91570711'
# $expected->[5] = '1175772925.915707'
t/40profile...............NOK
14
# Failed test in t/40profile.t at line 113.
t/40profile...............NOK 15# Structures begin differing
at:
# $got->[5] = '1175772925.91570711'
# $expected->[5] = '1175772925.915707'
t/40profile...............ok 51/51# Looks like you failed 2 tests of
51.
t/40profile...............dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 14-15
Failed 2/51 tests, 96.08% okay
t/41prof_dump.............ok


Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration:
Platform:
osname=linux, osvers=2.4.21-32.0.1.elsmp, archname=i686-linux-ld
uname='linux darkstar.firstb2b.net 2.4.21-32.0.1.elsmp #1 smp tue
may 17 17:52:23 edt 2005 i686 i686 i386 gnulinux '
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=define
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -I/usr/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O3',
cppflags='-fno-strict-aliasing -I/usr/include -I/usr/include/gdbm'
ccversion='', gccversion='3.2.3 20030502 (Red Hat Linux 3.2.3-52)',
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='long double', nvsize=12,
Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags ='-L/usr/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.3.2'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic
-Wl,-rpath,/usr/lib/perl5/5.8.3/i686-linux-ld/CORE'
cccdlflags='-fpic', lddlflags='-shared -L/usr/lib'


Characteristics of this binary (from libperl):
Compile-time options: USE_LONG_DOUBLE USE_LARGE_FILES
Built under linux
Compiled at Aug 10 2005 23:01:57
@INC:
/usr/lib/perl5/5.8.3/i686-linux-ld
/usr/lib/perl5/5.8.3
/usr/lib/perl5/site_perl/5.8.3/i686-linux-ld
/usr/lib/perl5/site_perl/5.8.3
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
.

RE: make test errors DBI 1.54

am 05.04.2007 14:03:20 von Philip.Garrett

Hi John,

myrose.20.ftumsh@spamgourmet.com wrote:
> I'm getting the error below when trying to install DBI 1.54. Linux is:
> Red Hat Enterprise Linux ES release 3 (Taroon Update 5) or Red Hat
> Enterprise Linux ES release 2.1 (Panama) ie both error. I don't get
> the errors on my slackware box.
>
> t/40profile...............ok 12/51
> # Structures begin differing at:
> # $got->[5] =3D '1175772925.91570711'
> # $expected->[5] =3D '1175772925.915707'

It looks like a fix that was intended to avoid this error didn't quite
work. If all the other tests passed, you can safely force the install.

From 40profile.t:
93 # Try to avoid rounding problem on double precision systems
94 # $got->[5] =3D '1150962858.01596498'
95 # $expected->[5] =3D '1150962858.015965'

> use64bitint=3Dundef use64bitall=3Dundef uselongdouble=3Ddefine
> longdblsize=3D12 ivtype=3D'long', ivsize=3D4, nvtype=3D'long double',
> nvsize=3D12, Off_t=3D'off_t', lseeksize=3D8

Maybe the test could be adjusted to test for accuracy within a margin of
error based on $Config{nvsize}?

- Philip

Re: make test errors DBI 1.54

am 05.04.2007 21:18:34 von Tim.Bunce

On Thu, Apr 05, 2007 at 08:03:20AM -0400, Garrett, Philip (MAN-Corporate) wrote:
> Hi John,
>
> myrose.20.ftumsh@spamgourmet.com wrote:
> > I'm getting the error below when trying to install DBI 1.54. Linux is:
> > Red Hat Enterprise Linux ES release 3 (Taroon Update 5) or Red Hat
> > Enterprise Linux ES release 2.1 (Panama) ie both error. I don't get
> > the errors on my slackware box.
> >
> > t/40profile...............ok 12/51
> > # Structures begin differing at:
> > # $got->[5] = '1175772925.91570711'
> > # $expected->[5] = '1175772925.915707'
>
> It looks like a fix that was intended to avoid this error didn't quite
> work. If all the other tests passed, you can safely force the install.

Agreed.

> >From 40profile.t:
> 93 # Try to avoid rounding problem on double precision systems
> 94 # $got->[5] = '1150962858.01596498'
> 95 # $expected->[5] = '1150962858.015965'
>
> > use64bitint=undef use64bitall=undef uselongdouble=define
> > longdblsize=12 ivtype='long', ivsize=4, nvtype='long double',
> > nvsize=12, Off_t='off_t', lseeksize=8
>
> Maybe the test could be adjusted to test for accuracy within a margin of
> error based on $Config{nvsize}?

It's a bug in the profile code within DBI. It was using 'double' to
hold the time instead of 'NV', which is a 'long double' on some systems.

The test is just picking up the slight loss of accuracy. I didn't
notice the underlying problem till after 1.54 was release. It's fixed
for 1.55.

Tim.

Change Oracle Home

am 06.04.2007 19:32:24 von joebayerii

--0-1393275924-1175880744=:88346
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Dear group,

I just upgrade my Oracle to 10g to a new Oracle HOME. How could I change the pointer of DBI and DBD::oracle to this new home before I remove the old home?

Is there a way I can let DBI point to two Oracle HOMEs?

Thanks very much for your help.

Joe


---------------------------------
The fish are biting.
Get more visitors on your site using Yahoo! Search Marketing.
--0-1393275924-1175880744=:88346--

Re: Change Oracle Home

am 06.04.2007 19:50:07 von mgainty

Hi Joe-

ORACLE_HOME environment variable is used to locate the Oracle Network
configuration files (tnsnames.ora spercifically)
e.g.if ORACLE_HOME = C:\Oracle\Ora10G then location of tnsnames.ora would be
located at
C:\Oracle\Ora10G\NETWORK\ADMIN\tnsnames.ora
http://www.oracle.com/technology/tech/oci/instantclient/ic-f aq.html
but you CAN have multiple Databases (tnsnames) defined in your tnsname.ora

Martin--
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed. If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy. Thank you.

----- Original Message -----
From: "joe bayer"
To:
Sent: Friday, April 06, 2007 1:32 PM
Subject: Change Oracle Home


> Dear group,
>
> I just upgrade my Oracle to 10g to a new Oracle HOME. How could I change
> the pointer of DBI and DBD::oracle to this new home before I remove the
> old home?
>
> Is there a way I can let DBI point to two Oracle HOMEs?
>
> Thanks very much for your help.
>
> Joe
>
>
> ---------------------------------
> The fish are biting.
> Get more visitors on your site using Yahoo! Search Marketing.

Re: Change Oracle Home

am 06.04.2007 20:14:34 von joebayerii

--0-250693978-1175883274=:90495
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Martin,

Thanks for your reply.

I rename the old oracle home to /OHOME_to_be_deleted, all my scripts give the following errors:
==========================================
install_driver(Oracle) failed: Can't load '/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto /DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.9.0: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 229.
at (eval 5)[/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DB I.pm:709] line 3
Compilation failed in require at (eval 5)[/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DB I.pm:709] line 3.
Perhaps a required shared library or dll isn't installed where expected
at test.pl line 8
DBI::install_driver('DBI','Oracle') called at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DBI.p m line 573
=============================================

I need to move /OHOME_to_be_deleted back to /OHOME in order for my script to work.

This /OHOME needs to be deleted, but DBI is still pointing at it, which file should I change so that DBI knows /OHOME is not used any more, use /OHOME_NEW instead.

Or, do you recommend me to re-install DBD::Oracle?

Thanks




Martin Gainty wrote: Hi Joe-

ORACLE_HOME environment variable is used to locate the Oracle Network
configuration files (tnsnames.ora spercifically)
e.g.if ORACLE_HOME = C:\Oracle\Ora10G then location of tnsnames.ora would be
located at
C:\Oracle\Ora10G\NETWORK\ADMIN\tnsnames.ora
http://www.oracle.com/technology/tech/oci/instantclient/ic-f aq.html
but you CAN have multiple Databases (tnsnames) defined in your tnsname.ora


Martin--
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed. If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy. Thank you.

----- Original Message -----
From: "joe bayer"
To:
Sent: Friday, April 06, 2007 1:32 PM
Subject: Change Oracle Home


> Dear group,
>
> I just upgrade my Oracle to 10g to a new Oracle HOME. How could I change
> the pointer of DBI and DBD::oracle to this new home before I remove the
> old home?
>
> Is there a way I can let DBI point to two Oracle HOMEs?
>
> Thanks very much for your help.
>
> Joe
>
>
> ---------------------------------
> The fish are biting.
> Get more visitors on your site using Yahoo! Search Marketing.




---------------------------------
Expecting? Get great news right away with email Auto-Check.
Try the Yahoo! Mail Beta.
--0-250693978-1175883274=:90495--

RE: Change Oracle Home

am 06.04.2007 20:17:43 von KongA

You need to re-install DBD::Oracle with new ORACLE_HOME set.=20

-----Original Message-----
From: joe bayer [mailto:joebayerii@yahoo.com]=20
Sent: Friday, April 06, 2007 2:15 PM
To: Martin Gainty; dbi-users@perl.org
Subject: Re: Change Oracle Home

Martin,

Thanks for your reply. =20

I rename the old oracle home to /OHOME_to_be_deleted, all my scripts
give the following errors:
==================== =====3D=
=================3D
install_driver(Oracle) failed: Can't load
'/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto /DBD/Oracle/
Oracle.so' for module DBD::Oracle: libclntsh.so.9.0: cannot open shared
object file: No such file or directory at
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 229.
at (eval
5)[/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DB I.pm:709]
line 3 Compilation failed in require at (eval
5)[/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DB I.pm:709]
line 3.
Perhaps a required shared library or dll isn't installed where expected
at test.pl line 8
DBI::install_driver('DBI','Oracle') called at
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/DBI.p m line 573
==================== =====3D=
====================

I need to move /OHOME_to_be_deleted back to /OHOME in order for my
script to work. =20

This /OHOME needs to be deleted, but DBI is still pointing at it, which
file should I change so that DBI knows /OHOME is not used any more, use
/OHOME_NEW instead.

Or, do you recommend me to re-install DBD::Oracle?

Thanks




Martin Gainty wrote: Hi Joe-

ORACLE_HOME environment variable is used to locate the Oracle Network
configuration files (tnsnames.ora spercifically) e.g.if ORACLE_HOME =3D
C:\Oracle\Ora10G then location of tnsnames.ora would be located at
C:\Oracle\Ora10G\NETWORK\ADMIN\tnsnames.ora
http://www.oracle.com/technology/tech/oci/instantclient/ic-f aq.html
but you CAN have multiple Databases (tnsnames) defined in your
tnsname.ora


Martin--
This email message and any files transmitted with it contain
confidential information intended only for the person(s) to whom this
email message is addressed. If you have received this email message in
error, please notify the sender immediately by telephone or email and
destroy the original message without making a copy. Thank you.

----- Original Message -----
From: "joe bayer"=20
To:=20
Sent: Friday, April 06, 2007 1:32 PM
Subject: Change Oracle Home


> Dear group,
>
> I just upgrade my Oracle to 10g to a new Oracle HOME. How could I
change=20
> the pointer of DBI and DBD::oracle to this new home before I remove
the=20
> old home?
>
> Is there a way I can let DBI point to two Oracle HOMEs?
>
> Thanks very much for your help.
>
> Joe
>
>
> ---------------------------------
> The fish are biting.
> Get more visitors on your site using Yahoo! Search Marketing.=20



=20
---------------------------------
Expecting? Get great news right away with email Auto-Check.
Try the Yahoo! Mail Beta.

RE: Change Oracle Home

am 06.04.2007 20:22:07 von Philip.Garrett

joe bayer wrote:
> I just upgrade my Oracle to 10g to a new Oracle HOME. How could I
> change the pointer of DBI and DBD::oracle to this new home before I
> remove the old home?

You will need to rebuild DBD::Oracle against your new 10g Oracle
installation. Download DBD::Oracle from CPAN and follow the instructions
in the README.

> Is there a way I can let DBI point to two Oracle HOMEs?

You can install DBD::Oracle into two different library locations and
then put those in your PERL5LIB (or perl -I/path/to/lib).

First, install for 9iR2:
$ export ORACLE_HOME=3D/path/to/oracle9iR2
$ perl Makefile.PL INSTALLSITELIB=3D$HOME/DBD-Oracle-9iR2
$ make test && make install

Now, install for 10g:
$ export ORACLE_HOME=3D/path/to/oracle10g
$ perl Makefile.PL INSTALLSITELIB=3D$HOME/DBD-Oracle-10g
$ make test && make install

Now, you can switch between them by changing ORACLE_HOME and PERL5LIB:

$ export ORACLE_HOME=3D/path/to/oracle10g
$ export PERL5LIB=3D$HOME/DBD-Oracle-10g:$PERL5LIB
$ ./script.pl # runs with 10g client

$ export ORACLE_HOME=3D/path/to/oracle9iR2
$ export PERL5LIB=3D$HOME/DBD-Oracle-9iR2:$PERL5LIB
$ ./script.pl # runs with 9i client

I think you'll also need to also point LD_LIBRARY_PATH at
$ORACLE_HOME/lib.

- Philip

Re: Change Oracle Home

am 06.04.2007 21:13:48 von jdw

Garrett, Philip (MAN-Corporate) wrote:
> joe bayer wrote:
>
>> I just upgrade my Oracle to 10g to a new Oracle HOME. How could I
>> change the pointer of DBI and DBD::oracle to this new home before I
>> remove the old home?
>>
>
> You will need to rebuild DBD::Oracle against your new 10g Oracle
> installation. Download DBD::Oracle from CPAN and follow the instructions
> in the README.
>
>
>> Is there a way I can let DBI point to two Oracle HOMEs?
>>
>
>
You can use a single DBD::Oracle installed with a single version of the
Oracle
client library (i.e., one Oracle HOME) and specify different Oracle
servers on
your connect string. The Oracle client library does not always have to
be exactly
the same version as the server instance. You don't want to mix very old
and new
combinations of client and server, but I would expect one version +/- to
usually
work unless you need new Oracle features that are not in the old
version. I have
not yet worked with 10g, so some of this is an educated guess, but I
have used
this with 8 and 9.
> You can install DBD::Oracle into two different library locations and
> then put those in your PERL5LIB (or perl -I/path/to/lib).
>
> First, install for 9iR2:
> $ export ORACLE_HOME=/path/to/oracle9iR2
> $ perl Makefile.PL INSTALLSITELIB=$HOME/DBD-Oracle-9iR2
> $ make test && make install
>
> Now, install for 10g:
> $ export ORACLE_HOME=/path/to/oracle10g
> $ perl Makefile.PL INSTALLSITELIB=$HOME/DBD-Oracle-10g
> $ make test && make install
>
> Now, you can switch between them by changing ORACLE_HOME and PERL5LIB:
>
> $ export ORACLE_HOME=/path/to/oracle10g
> $ export PERL5LIB=$HOME/DBD-Oracle-10g:$PERL5LIB
> $ ./script.pl # runs with 10g client
>
> $ export ORACLE_HOME=/path/to/oracle9iR2
> $ export PERL5LIB=$HOME/DBD-Oracle-9iR2:$PERL5LIB
> $ ./script.pl # runs with 9i client
>
> I think you'll also need to also point LD_LIBRARY_PATH at
> $ORACLE_HOME/lib.
>
> - Philip
>