I'm in need of help. Too many days have gone down the tube trying to load
DBI.pm.
I've read several times the README files, FAQ's on CPAN, and other sources
found through GOOGLE. Others report similar problems to mine, and I've used
the fixes recommended to them w/o success.
My situation:
** unix system on Cobalt linus release 5.0 (Pacifica) Kernel 2.216C27_III on
an i586 having perl 5.00503
* Attempting to load DBI.pm in local workspace.
* (found script for installing modules in nonstandard places.)
After many attempts, I'm down to this procedure ...
1) create dirs ... /HOME/perl5/perlmod /HOME/perllib
/HOME/perletc/man/man1
/HOME/perletc/man/man3 /HOME/tmp/build
where $HOME = /home/sites/site10/users/esickafus
2) download DBI-1.20.ta.gz to /HOME/tmp/build
3) gunzip DBI-1.20.ta.gz
4) tar xvf DBI-1.20.ta
5) cd DBI-1.20
6) perl Makefile.PL LIB=$HOME/perllib \
PREFIX=$HOME/perletc \
INSTALLMAN1DIR=$HOME/perletc/man/man1 \
INSTALLMAN3DIR=$HOME/perletc/man/man3
make
make test
make install
[esickafus DBI-1.20]$ chmod -v 705 DBI.pm
... I arrive here w/o any error messages. However, although
/home/tmp/build/DBI-1.20/DBI.pm exists ...
[esickafus build]$ ls DBI-1.20
Changes DBI.xs Makefile.PL README dbipport.h lib
DBI.bs DBIXS.h Perl.c ToDo dbiproxy pm_to_blib
DBI.c Driver.xst Perl.o blib dbiproxy.PL t
DBI.o MANIFEST Perl.xs dbd_xsh.h dbish test.pl
DBI.pm Makefile Perl.xsi dbi_sql.h dbish.PL
/home/perllib/DBI.pm doesn't exist here ...
[esickafus esickafus]$ ls perllib
i386-linux
nor here ...
[esickafus esickafus]$ ls perl5/perlmod/DBI-1.20
Changes Driver.xst Makefile.PL ToDo dbipport.h lib
DBI.xs MANIFEST Perl.xs dbd_xsh.h dbiproxy.PL t
DBIXS.h Makefile README dbi_sql.h dbish.PL test.pl
Consequently, I have not erased the temporary dir/files: /.../tmp/build/*.*
7) When I try to run a simple cgi script, lstdrvrs.cgi, from the dir
containing DBI.pm the following error mssg is returned ...
[esickafus DBI-1.20]$ perl $HOME/perl5/perlmod/lstdrvrs.cgi
Can't locate loadable object for module DBI in @INC
(@INC contains: /usr/lib/perl5/5.00503
/usr/lib/perl5/5.00503/i386-linux
/usr/lib/perl5/5.00503 /usr/lib/perl5/site_perl/5.005/i386-linux
/usr/lib/perl5/site_perl/5.005 .) at DBI.pm line 189
BEGIN failed--compilation aborted at DBI.pm line 189.
BEGIN failed--compilation aborted at
/home/sites/site10/users/esickafus/perl5/perlmod/lstdrvrs.cgi line 13.
ANY HELP WILL BE GREATLY APPRECIATED
THANKS FOR YOUR KIND CONSIDERATION
ED SICKAFUS hoping to s/ :-( / :-) /
------ The gory details of the installation log
.... -------------------------
------ This procedure follows the removal of DBI.pm and /tmp/build/ from
------ previous installation
attempts ---------------------------------------
[esickafus build]$ tar xvf DBI-1.20.tar
DBI-1.20/
DBI-1.20/DBI.xs
DBI-1.20/lib/
DBI-1.20/lib/DBD/
DBI-1.20/lib/DBD/NullP.pm
DBI-1.20/lib/DBD/Sponge.pm
DBI-1.20/lib/DBD/ExampleP.pm
DBI-1.20/lib/DBD/Proxy.pm
DBI-1.20/lib/DBI/
DBI-1.20/lib/DBI/FAQ.pm
DBI-1.20/lib/DBI/W32ODBC.pm
DBI-1.20/lib/DBI/DBD.pm
DBI-1.20/lib/DBI/Format.pm
DBI-1.20/lib/DBI/Shell.pm
DBI-1.20/lib/DBI/ProxyServer.pm
DBI-1.20/lib/Bundle/
DBI-1.20/lib/Bundle/DBI.pm
DBI-1.20/lib/Win32/
DBI-1.20/lib/Win32/DBIODBC.pm
DBI-1.20/MANIFEST
DBI-1.20/dbipport.h
DBI-1.20/Changes
DBI-1.20/t/
DBI-1.20/t/proxy.t
DBI-1.20/t/examp.t
DBI-1.20/t/basics.t
DBI-1.20/t/shell.t
DBI-1.20/t/subclass.t
DBI-1.20/t/preparse.t
DBI-1.20/t/dbidrv.t
DBI-1.20/t/meta.t
DBI-1.20/dbish.PL
DBI-1.20/dbi_sql.h
DBI-1.20/Perl.xs
DBI-1.20/Driver.xst
DBI-1.20/README
DBI-1.20/DBIXS.h
DBI-1.20/test.pl
DBI-1.20/dbd_xsh.h
DBI-1.20/Makefile.PL
DBI-1.20/DBI.pm
DBI-1.20/dbiproxy.PL
DBI-1.20/ToDo
[esickafus build]$ ls
DBI-1.20 DBI-1.20.tar
[esickafus build]$ cd DBI-1.20
[esickafus DBI-1.20]$ perl Makefile.PL LIB=$HOME/perletc \
> PREFIX=$HOME/
[esickafus DBI-1.20]$ perl Makefile.PL LIB=$HOME/perllib \
> PREFIX=$HOME/perletc \
> INSTALLMAN1DIR=$HOME/perletc/man/man1 \
> INSTALLMAN3DIR=$HOME/perletc/man/man3
*** Note:
The optional PlRPC-modules (RPC::PlServer etc) are not installed.
If you want to use the DBD::Proxy driver and DBI::ProxyServer
modules, then you'll need to install the RPC::PlServer, RPC::PlClient,
Storable and Net::Daemon modules. The CPAN Bundle::DBI may help you.
You can install them any time after installing the DBI.
You do *not* need these modules for typical DBI usage.
Optional modules are available from any CPAN mirror, in particular
http://www.perl.com/CPAN/modules/by-module
http://www.perl.org/CPAN/modules/by-module
ftp://ftp.funet.fi/pub/languages/perl/CPAN/modules/by-module
Checking if your kit is complete...
Looks good
Writing Makefile for DBI
Remember to actually *read* the README file!
Use 'make' to build the software (dmake or nmake on Windows).
Then 'make test' to execute self tests.
Then 'make install' to install the DBI and then delete this working
directory before unpacking and building any DBD::* drivers.
[esickafus DBI-1.20]$ make
mkdir blib
mkdir blib/lib
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/DBI
mkdir blib/lib/auto
mkdir blib/lib/auto/DBI
mkdir blib/man1
mkdir blib/man3
cp lib/DBI/W32ODBC.pm blib/lib/DBI/W32ODBC.pm
cp lib/DBD/ExampleP.pm blib/lib/DBD/ExampleP.pm
cp lib/DBI/FAQ.pm blib/lib/DBI/FAQ.pm
cp lib/DBI/Shell.pm blib/lib/DBI/Shell.pm
cp lib/DBI/ProxyServer.pm blib/lib/DBI/ProxyServer.pm
cp lib/Bundle/DBI.pm blib/lib/Bundle/DBI.pm
cp lib/DBD/Proxy.pm blib/lib/DBD/Proxy.pm
cp DBIXS.h blib/arch/auto/DBI/DBIXS.h
cp dbd_xsh.h blib/arch/auto/DBI/dbd_xsh.h
cp dbi_sql.h blib/arch/auto/DBI/dbi_sql.h
cp lib/DBD/NullP.pm blib/lib/DBD/NullP.pm
cp lib/DBD/Sponge.pm blib/lib/DBD/Sponge.pm
cp lib/DBI/Format.pm blib/lib/DBI/Format.pm
cp lib/DBI/DBD.pm blib/lib/DBI/DBD.pm
cp Driver.xst blib/arch/auto/DBI/Driver.xst
cp dbipport.h blib/arch/auto/DBI/dbipport.h
cp lib/Win32/DBIODBC.pm blib/lib/Win32/DBIODBC.pm
cp DBI.pm blib/lib/DBI.pm
/usr/bin/perl -p -e "s/~DRIVER~/Perl/g" < blib/arch/auto/DBI/Driver.xst >
Perl.x
si
/usr/bin/perl -I/usr/lib/perl5/5.00503/i386-linux -I/usr/lib/perl5/5.00503
/usr/
lib/perl5/5.00503/ExtUtils/xsubpp -typemap
/usr/lib/perl5/5.00503/ExtUtils/type
map Perl.xs >xstmp.c && mv xstmp.c Perl.c
cc -c -Dbool=char -DHAS_BOOL -I/usr/local/include -O2 -DVERSION=\"1.20\"
-DX
S_VERSION=\"1.20\" -fpic -I/usr/lib/perl5/5.00503/i386-linux/CORE -DDBI_NO_T
HREA
DS Perl.c
/usr/bin/perl -I/usr/lib/perl5/5.00503/i386-linux -I/usr/lib/perl5/5.00503
/usr/
lib/perl5/5.00503/ExtUtils/xsubpp -typemap
/usr/lib/perl5/5.00503/ExtUtils/type
map DBI.xs >xstmp.c && mv xstmp.c DBI.c
cc -c -Dbool=char -DHAS_BOOL -I/usr/local/include -O2 -DVERSION=\"1.20\"
-DX
S_VERSION=\"1.20\" -fpic -I/usr/lib/perl5/5.00503/i386-linux/CORE -DDBI_NO_T
HREA
DS DBI.c
Running Mkbootstrap for DBI ()
chmod 644 DBI.bs
LD_RUN_PATH="" cc -o blib/arch/auto/DBI/DBI.so -shared -L/usr/local/lib
DBI.o
chmod 755 blib/arch/auto/DBI/DBI.so
cp DBI.bs blib/arch/auto/DBI/DBI.bs
chmod 644 blib/arch/auto/DBI/DBI.bs
/usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl5/5.00503/i386-linux -I/
usr/
lib/perl5/5.00503 dbiproxy.PL dbiproxy
Extracted dbiproxy from dbiproxy.PL with variable substitutions.
mkdir blib/script
cp dbiproxy blib/script/dbiproxy
/usr/bin/perl -I/usr/lib/perl5/5.00503/i386-linux -I/usr/lib/perl5/5.00503 -
MExt
Utils::MakeMaker -e "MY->fixin(shift)" blib/script/dbiproxy
/usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl5/5.00503/i386-linux -I/
usr/
lib/perl5/5.00503 dbish.PL dbish
Extracted dbish from dbish.PL with variable substitutions.
cp dbish blib/script/dbish
/usr/bin/perl -I/usr/lib/perl5/5.00503/i386-linux -I/usr/lib/perl5/5.00503 -
MExt
Utils::MakeMaker -e "MY->fixin(shift)" blib/script/dbish
Manifying blib/man1/dbiproxy.1
Manifying blib/man3/DBI::W32ODBC.3
Manifying blib/man3/DBI::Shell.3
Manifying blib/man3/DBI::FAQ.3
Manifying blib/man3/DBI::ProxyServer.3
Manifying blib/man3/DBI::Format.3
Manifying blib/man3/Bundle::DBI.3
Manifying blib/man3/DBI::DBD.3
Manifying blib/man1/dbish.1
Manifying blib/man3/DBI.3
Manifying blib/man3/Win32::DBIODBC.3
Manifying blib/man3/DBD::Proxy.3
[esickafus DBI-1.20]$ make test
PERL_DL_NONLAZY=1
/usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl5/5.00503/
i386-linux -I/usr/lib/perl5/5.00503 -e 'use Test::Harness qw(&runtests
$verbose)
; $verbose=0; runtests @ARGV;' t/*.t
t/basics............ok
t/dbidrv............ok
t/examp.............ok
t/meta..............ok
t/preparse..........ok
t/proxy.............skipping test on this platform
t/shell.............ok
t/subclass..........ok
All tests successful, 1 test skipped.
Files=8, Tests=240, 3 wallclock secs ( 2.56 cusr + 0.45 csys = 3.01 CPU)
PERL_DL_NONLAZY=1
/usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl5/5.00503/
i386-linux -I/usr/lib/perl5/5.00503 test.pl
test.pl
DBI test application $Revision: 11.2 $
Using /home/sites/site10/users/esickafus/tmp/build/DBI-1.20/blib
Switch: DBI 1.20 by Tim Bunce, 1.20
Available Drivers: ExampleP, Proxy
dbi:ExampleP:: testing 5 sets of 20 connections:
Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Disconnecting...
Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Disconnecting...
Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Disconnecting...
Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Disconnecting...
Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Disconnecting...
Made 100 connections in 0 wallclock secs ( 0.08 usr + 0.00 sys = 0.08
CPU)
Testing handle creation speed...
5000 NullP statement handles cycled in 1.9 cpu+sys seconds (2631 per sec)
test.pl done
[esickafus DBI-1.20]$ make install
Skipping
/home/sites/site10/users/esickafus/perllib/i386-linux/auto/DBI/DBIXS.h
(unchanged)
Skipping
/home/sites/site10/users/esickafus/perllib/i386-linux/auto/DBI/dbd_xsh.
h (unchanged)
Skipping
/home/sites/site10/users/esickafus/perllib/i386-linux/auto/DBI/dbi_sql.
h (unchanged)
Skipping
/home/sites/site10/users/esickafus/perllib/i386-linux/auto/DBI/Driver.x
st (unchanged)
Skipping
/home/sites/site10/users/esickafus/perllib/i386-linux/auto/DBI/dbipport
..h (unchanged)
Skipping
/home/sites/site10/users/esickafus/perllib/i386-linux/auto/DBI/DBI.so (
unchanged)
Skipping
/home/sites/site10/users/esickafus/perllib/i386-linux/auto/DBI/DBI.bs (
unchanged)
Files found in blib/arch --> Installing files in blib/lib into architecture
depe
ndend library tree!
Skipping
/home/sites/site10/users/esickafus/perllib/i386-linux/DBI/W32ODBC.pm (u
nchanged)
Skipping /home/sites/site10/users/esickafus/perllib/i386-linux/DBI/FAQ.pm
(uncha
nged)
Skipping /home/sites/site10/users/esickafus/perllib/i386-linux/DBI/Shell.pm
(unc
hanged)
Skipping
/home/sites/site10/users/esickafus/perllib/i386-linux/DBI/ProxyServer.p
m (unchanged)
Skipping /home/sites/site10/users/esickafus/perllib/i386-linux/DBI/Format.pm
(un
changed)
Skipping /home/sites/site10/users/esickafus/perllib/i386-linux/DBI/DBD.pm
(uncha
nged)
Skipping
/home/sites/site10/users/esickafus/perllib/i386-linux/DBD/ExampleP.pm (
unchanged)
Skipping /home/sites/site10/users/esickafus/perllib/i386-linux/DBD/Proxy.pm
(unc
hanged)
Skipping /home/sites/site10/users/esickafus/perllib/i386-linux/DBD/NullP.pm
(unc
hanged)
Skipping /home/sites/site10/users/esickafus/perllib/i386-linux/DBD/Sponge.pm
(un
changed)
Skipping /home/sites/site10/users/esickafus/perllib/i386-linux/Bundle/DBI.pm
(un
changed)
Skipping
/home/sites/site10/users/esickafus/perllib/i386-linux/Win32/DBIODBC.pm
(unchanged)
Skipping /home/sites/site10/users/esickafus/perllib/i386-linux/DBI.pm
(unchanged
)
Skipping /home/sites/site10/users/esickafus/perletc/man/man1/dbiproxy.1
(unchang
ed)
Skipping /home/sites/site10/users/esickafus/perletc/man/man1/dbish.1
(unchanged)
Skipping /home/sites/site10/users/esickafus/perletc/man/man3/DBI::W32ODBC.3
(unc
hanged)
Skipping /home/sites/site10/users/esickafus/perletc/man/man3/DBI::Shell.3
(uncha
nged)
Skipping /home/sites/site10/users/esickafus/perletc/man/man3/DBI::FAQ.3
(unchang
ed)
Skipping
/home/sites/site10/users/esickafus/perletc/man/man3/DBI::ProxyServer.3
(unchanged)
Skipping /home/sites/site10/users/esickafus/perletc/man/man3/DBI::Format.3
(unch
anged)
Skipping /home/sites/site10/users/esickafus/perletc/man/man3/Bundle::DBI.3
(unch
anged)
Skipping /home/sites/site10/users/esickafus/perletc/man/man3/DBI::DBD.3
(unchang
ed)
Skipping /home/sites/site10/users/esickafus/perletc/man/man3/DBI.3
(unchanged)
Skipping
/home/sites/site10/users/esickafus/perletc/man/man3/Win32::DBIODBC.3 (u
nchanged)
Skipping /home/sites/site10/users/esickafus/perletc/man/man3/DBD::Proxy.3
(uncha
nged)
Skipping /home/sites/site10/users/esickafus/perletc/bin/dbiproxy (unchanged)
Skipping /home/sites/site10/users/esickafus/perletc/bin/dbish (unchanged)
Writing
/home/sites/site10/users/esickafus/perllib/i386-linux/auto/DBI/.packlist
Appending installation info to
/home/sites/site10/users/esickafus/perllib/i386-l
inux/perllocal.pod
-------- end of installation
log ---------------------------------------------