trouble finding the object method driver....

From: Jerry Asher <jerry(at)hollyjerry(dot)org>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: trouble finding the object method driver....
Date: 2001-04-03 00:16:11
Message-ID: 200104030016.f330GBK69146@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Hi,

I am trying to get webcal 3.03,
(http://bulldog.tzo.org/webcal/webcal.html) running on my Red Hat Linux
6.1 system.

I am using PostgreSQL 7.1beta5, and perl5.00503.

I am a perl newbie, but familiar with webservers and postgres.

Caveat: I know what @INC does, but I have no idea how to set it.

At a suggestion from then net, I have recently (today) loaded DBI::DBD
and Bundle::DBI

perl -MCPAN -e 'install DBI::DBD'
perl -MCPAN -e 'install Bundle::DBI'

I then followed the instructions in
postgresql-7.1beta5/src/interfaces/perl5/README, and installed Pg.pm.

When I then tried to run webcal, Apache/Webcal complained that:

install_driver(Pg) failed: [Mon Apr 2 17:13:01 2001] webcal.cgi: Can't
locate DBD/Pg.pm in @INC (@INC contains: /home/httpd/cgi-bin/webcal
/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 (eval 4) line 3. Perhaps the
DBD::Pg perl module hasn't been fully installed, or perhaps the
capitalisation of 'Pg' isn't right. Available drivers: ADO, ExampleP,
Multiplex, Proxy. at /home/httpd/cgi-bin/webcal/webcal_io.pm line 282

Investigating, I found that Pg.pm had been placed in
/usr/lib/perl5/site_perl/5.005/i386-linux and not in
/usr/lib/perl5/site_perl/5.005/i386-linux/DBD

So I linked from one to the other
ln -s Pg.pm DBD/Pg.pm

When I rerun webcal, Apache/webcal tells me:

DBD::Pg initialisation failed: [Mon Apr 2 17:15:31 2001] webcal.cgi:
Can't locate object method "driver" via package "DBD::Pg" at
/usr/lib/perl5/site_perl/5.005/i386-linux/DBI.pm line 520. Perhaps the
capitalisation of DBD 'Pg' isn't right. at
/home/httpd/cgi-bin/webcal/webcal_io.pm line 282

This is what DBI.pm looks like:

# $Id: DBI.pm,v 10.34 2001/03/30 14:35:41 timbo Exp $
#
# Copyright (c) 1994-2000 Tim Bunce England
#
# See COPYRIGHT section in pod text below for usage and distribution rights.
#

/usr/lib/perl5/site_perl/5.005/i586-linux/DBI.pm

sub install_driver { # croaks on failure
...
# --- run the driver function
$drh = eval { $driver_class->driver($attr || {}) };

Can you offer me some tips or advice on how to proceed?

Thank you,

Jerry Asher

perl -v

This is perl, version 5.005_03 built for i386-linux

Copyright 1987-1999, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5.0 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.

perl -V
Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
Platform:
osname=linux, osvers=2.2.5-22smp, archname=i386-linux
uname='linux porky.devel.redhat.com 2.2.5-22smp #1 smp wed jun 2 09:11:51 edt 1999 i686 unknown '
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef useperlio=undef d_sfio=undef
Compiler:
cc='cc', optimize='-O2', gccversion=egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
cppflags='-Dbool=char -DHAS_BOOL -I/usr/local/include'
ccflags ='-Dbool=char -DHAS_BOOL -I/usr/local/include'
stdchar='char', d_stdstdio=undef, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
alignbytes=4, usemymalloc=n, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -ldl -lm -lc -lposix -lcrypt
libc=, so=so, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
Built under linux
Compiled at Aug 30 1999 23:09:51
@INC:
/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
.
psql -V
psql (PostgreSQL) 7.1beta5
contains readline, history support
Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
Portions Copyright (c) 1996 Regents of the University of California
Read the file COPYRIGHT or use the command \copyright to see the
usage and distribution terms.

[root(at)web DBD]# which pgsql_perl5
which: no pgsql_perl5 in (/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/orasw/app/oracle/product/8.1.6/bin:/orasw/app/oracle/product/8.1.6/ctx/lib:/usr/local/pgsql/bin:/opt/ajuba/TclPro1.4/linux-ix86/bin:/home/nsadmin/bin:/orasw/app/oracle/product/8.1.6/bin:/orasw/app/oracle/product/8.1.6/ctx/lib:/usr/local/pgsql/bin:/opt/ajuba/TclPro1.4/linux-ix86/bin:/orasw/app/oracle/product/8.1.6/bin:/orasw/app/oracle/product/8.1.6/ctx/lib:/usr/local/pgsql/bin:/opt/ajuba/TclPro1.4/linux-ix86/bin:/orasw/app/oracle/product/8.1.6/bin:/orasw/app/oracle/product/8.1.6/ctx/lib:/usr/local/pgsql/bin:/opt/ajuba/TclPro1.4/linux-ix86/bin)
[root(at)web DBD]# locate pgsql_perl5

Browse pgsql-interfaces by date

  From Date Subject
Next Message Jerry Asher 2001-04-03 00:18:33 trouble finding the object method driver....
Previous Message Andrew Kuchling 2001-04-02 20:07:00 pgdb.py fetching same row multiple times