I am working with the Informix DBA.  The original DBA also got laid off so he 
didn't install.  But he is comparing this environment with the other 
environment that is working.  He is also going to create a "stores" database so 
I can rebuild DBD on the newer system.  Meanwhile, I have confirmed the 
Defaults.pm is correct.

I will provide more information or the solution once I have it.

Thank you to all that have responded for your assistance!

Royce




________________________________
From: Jonathan Leffler <jonathan.leff...@gmail.com>
To: Royce Miller <royce...@pacbell.net>
Cc: dbi-users@perl.org; Guardian of DBD::Informix <dbd.infor...@gmail.com>
Sent: Wed, April 28, 2010 6:54:34 AM
Subject: Re: DBI/DBD question




On Tue, Apr 27, 2010 at 11:17 AM, Royce Miller <royce...@pacbell.net> wrote:

I am taking over the Perl stuff for someone that was laid off.  The previous 
guy built Perl with CGI, DBI and DBD modules for use with a Informix database 
and IBM IHS web server.  He then tar'd it all up and copied it to a different 
server and where thing do not all working.  I know, sounds obvious.  There are 
some scripts that are interactive or run by Unix CRON scheduler on the system 
and others that are web pages used for reporting.  The interactive stuff works 
fine on the new system, but the web pages fail.
>
>The error is:
>Software error:
>install_driver(Informix) failed: Can't load 
>'/home/users/polling/perl/lib/site_perl/5.8.8/sun4-solaris-64/auto/DBD/Informix/Informix.so'
> for module DBD::Informix: ld.so.1: SdtQuery.pl: fatal: libifsql.so: open 
>failed: No such file or directory at 
>/home/users/polling/perl/lib/5.8.8/sun4-solaris-64/DynaLoader.pm line 230.   
>at (eval 32) line 3  Compilation failed in require at (eval 32) line 3.  
>Perhaps a required shared library or dll isn't installed where expected   at 
>/home/users/polling/SDT-2.0/SDT/SDTDB.pm line 443
>This is Perl 5.8.8 running on Solaris 2.8 on V490 Hardware.  All is 64 bit.  I 
>am considering rebuilding these modules.  I have the source for DBI and DBD 
>but don't seem to have the source for CGI.  I figured I would check with the 
>pros before I start doing things.
>Any ideas or suggestions?
>Thank you for your time!
>Royce
Dear Royce,

This is all about Informix and nothing to do with CGI per se - as others have 
said.  In future, please include DBD::Informix in the subject line - it helps 
me spot that the question is about Informix.  Or copy the email address 
dbd.infor...@gmail.com with the request too.  This information is in the README 
file for DBD::Informix.

You should find under one of the DBD/Informix directories (probably 
/home/users/polling/perl/lib/site_perl/5.10.1/sun4-solaris-64/DBD/Informix) you 
should a file Defaults.pm.  In there, you should find a value for INFORMIXDIR.


        sub default_INFORMIXDIR
        {
                return '/usr/informix/11.50.FC3';
        }
        sub default_INFORMIXSERVER
        {
                return 'black_19';
        }

This is from my machine (Solaris 10, Perl 5.10.1).

You need to ensure that the LD_LIBRARY_PATH (or LD_LIBRARY_PATH_64) includes 
the directories:

    $INFORMIXDIR/lib
    $INFORMIXDIR/lib/esql

If the specified directory does not exist, then you need to review what to do 
next.  Options include (1) creating a symlink at the official location pointing 
to the current in-service $INFORMIXDIR, (2) poking around the ld.so.1 
configuration with crle (intuitive name!) to add Informix directories to the 
system list of directories, or (3) rebuilding DBD::Informix to use the new 
location of $INFORMIXDIR.

Option (3) may be the 'best' solution.  You can also build DBD::Informix with 
the environment variable DBD_INFORMIX_RELOCATABLE_INFORMIXDIR set to 1 or yes 
or anything else that Perl will evaluate as 'true' (so not empty, nor 0).  This 
means that the libraries will be linked solely via the LD_LIBRARY_PATH or crle 
settings - rather than having a path built in.  This is more typically a 
nuisance (especially in contexts such as web servers - because web servers 
reset their environment completely and zap the inherited value for 
LD_LIBRARY_PATH) and is not the default behaviour.

-- 
Jonathan Leffler <jonathan.leff...@gmail.com>  #include <disclaimer.h>
Guardian of DBD::Informix - v2008.0513 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to be 
amused."

Reply via email to