PEPPLER.ORG
Michael Peppler
Sybase Consulting
Menu
Home
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
Freeware
Sybperl
Sybase::Simple
DBD::Sybase
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
FAQs
Sybase on Linux FAQ
Sybperl FAQ
Personal
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: Mark Conover <markc at celtech dot com>
Subject: Re: Sybperl problem
Date: Oct 7 1997 11:08PM

Check out the sybperl faq on this.  But the
short answer is that you need LD_LIBRARY_PATH set from
within your perl code, in a BEGIN block.

-Mark

Jagadeesan Manivannan wrote:
> 
> Hi
> 
> I have a perl with sybperl script which runs fine
> when run in UNIX prompt. runs fine. But
> the same script when run run under http server
> complains with the following error message.
> The https server is running under solaris.
> 
> Can't load '/usr/local/perl/5.2.0.0/solaris/lib/site_perl/sun4-solaris/auto/Sybase/DBlib/DBlib.so'
> for module Sybase:
> :DBlib: ld.so.1: /usr/local/bin/perl: fatal: libsybdb.so: can't open file: errno=2 at
> /usr/local/perl/5.2.0.0/solaris
> /lib/DynaLoader.pm line 140.
> 
> Can someone tell me what could be the problem ?
> 
> Thanks
> 
> Mani
> 
> Note :
> 
> Here is the script that I am using.
> 
> #!/usr/local/bin/perl
> 
> Here is the script that I am using.
> 
> use Sybase::DBlib ;
> use Sybase::Sybperl ;
> 
> push (@INC, "/cgi-bin");
> require("mycgi-lib.pl");
> 
> &ReadParse (*input);
> 
> $logname = $input{UserName};
> $passwd  = $input{PasswordName};
> $vers    = $input{vers};
> $wintype = $input{WindowType};
> 
> $DOCUMENT_ROOT = GetDocRoot() ;
> 
> print("Content-type: text/html\n");
> 
> $ret_stat = ReadConfVariables() ;
> 
> if ( $ret_stat == -1 )
> {
>     print ("\n\n");
>     ErrReturn ("Can not open WebModel.cfg file.  Please notify the system administrator");
> }
> 
> $pkg_vers = $ENV{'VERSION'} ;
> 
> if ( !defined($pkg_vers) )
> {
>     print ("\n\n");
>     ErrReturn ("Can not find VERSION in WebModel.cfg file.  Please notify the system
> administrator");
> }
> 
> if ( $vers ne $pkg_vers )
> {
>     print ("\n\n");
>     $errstr = "You are not accessing the latest version of SAGE.
" ; > $errstr = $errstr . "Please clear your cache and reload SAGE or contact your system > adminstrator." ; > ErrReturn ($errstr); > } > > $dbSrvName = $ENV{'SERVER'} ; > $syb_dir = $ENV{'SYBASE_DIR'} ; > if (!defined ($dbSrvName)) > { > print ("\n\n"); > ErrReturn ("Can not find SERVER in WebModel.cfg file. Please notify the system administrator"); > } > if (!defined ($syb_dir)) > { > print ("\n\n"); > ErrReturn ("Can not find SYBASE_DIR in WebModel.cfg file. Please notify the system > administrator"); > } > > $ENV{'SYBASE'} = $syb_dir ; > > $IsExtWeb = $ENV{'EXTERN_WEB'}; > > if ((!defined ($IsExtWeb) || $IsExtWeb eq "" )) > { > print "\n\n"; > ErrReturn ("Can not find EXTERN_WEB in WebModel.cfg file. Please notify the system > administrator"); > } > > if ($IsExtWeb eq "NO") #internal web need ext_web's url > { #for sales log > $extWebUrl = $ENV{'EXT_WEB_URL'}; > if ((!defined ($extWebUrl) || $extWebUrl eq "" )) > { > print "\n\n"; > ErrReturn ("Can not find EXT_WEB_URL in WebModel.cfg file. Please notify the system > administrator"); > } > } > > if (defined ($logname) && ($logname ne '') && > defined ($passwd) ) > { > $login_str = sprintf("%s+%s",$logname,$passwd) ; > $enc_login_str = `$DOCUMENT_ROOT/../../cgi-bin/sageEnc -e $login_str` ; > $enc_login_str =~ s/\n$//g ; > > print ("Set-Cookie: myLogin=", $enc_login_str, > "; domain=.jpmorgan.com; path=/; \n"); > print ("Set-Cookie: myDbSrv=", $dbSrvName, ";\n\n"); > > $d = &dblogin ($logname, $passwd, $dbSrvName); > if (!$d) > { > print ("\n\n"); > $errmsg="Login failed"; > } > } > else > { > print ("\n\n"); > $errmsg="Login failed. Please enter your name and password."; > } > > if (defined ($errmsg)) > { > ErrReturn ($errmsg); > } > > if ($wintype eq 'ANALYTICS') > { > &writeSrc("sage.html"); > } > else > { > &writeSrc("c_sage.html"); > } > > sub ErrReturn () > { > > local($errStr) = @_; > > print<<"print_tag"; > > > >
> $errStr > > > print_tag > exit; > > } -- Mark Conover Software Engineer Cellular Technical Services