Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3E9A2A1D.3060106@belkam.com> Date: Mon, 14 Apr 2003 08:25:17 +0500 From: Dmitry Melekhov User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030314 X-Accept-Language: ru, en-us MIME-Version: 1.0 To: Greg Matheson CC: cygwin AT cygwin DOT com Subject: Re: Exim, .forward and DBD::Oracle References: <321323244855 DOT 20030410222844 AT familiehaase DOT de><3E9538B8 DOT 5010107 AT belkam DOT com><321323244855 DOT 20030410222844 AT familiehaase DOT de><3 DOT 0 DOT 5 DOT 32 DOT 20030410233114 DOT 007fcc30 AT incoming DOT verizon DOT net><3E963AF7 DOT 6060101 AT belkam DOT com> <3E96CA54 DOT 35118EA3 AT ieee DOT org><009201c30048$8cf1ad80$141ea8c0 AT dm> <3E96E558 DOT 9D8E5729 AT ieee DOT org><00d501c3004e$ee6a5160$141ea8c0 AT dm> <014d01c30109$221a7ac0$141ea8c0 AT dm> <007601c301c3$053adca0$141ea8c0 AT dm> <00f601c301e2$a104f840$141ea8c0 AT dm> <20030414065754 DOT A13221 AT ms> In-Reply-To: <20030414065754.A13221@ms> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Greg Matheson wrote: > On Sun, 13 Apr 2003, Dmitry Melekhov wrote: > > >>Another problem is with perl in cygwin. >>On Linux I can set >>$ENV{PATH} and $ENV{ORACLE_HOME} inside >>perl script, but in cygwin I had to write shell script to call perl script: > > > Does it work in Linux if you DON'T set $ENV{PATH} and > $ENV{ORACLE_HOME} inside your program? Are you sure they are > not set elsewhere in your environment? > Yes ans yes. Moreover, I don't need to have ORACLE_HOME/bin in PATH on Linux. May be this is DBD::Oracle problem? > >>#!/bin/sh >>PATH=/cygdrive/c/oracle/ora81/bin ORACLE_HOME='c:\oracle\ora81' >>/home/tabel/test.pl > > >>or I received following error: > > >>install_driver(Oracle) failed: Can't load >>'/usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int/auto/DBD/Oracle/Oracle.dl >>l' for module DBD::Oracle: dlopen: Win32 error 126 at >>/usr/lib/perl5/5.8.0/cygwin-multi-64int/DynaLoader.pm line 232 > > >>if I try to call perl script from .forward. > > >>This is thing I still don't understand. :-( > > > Does it work in cygwin if you set them in a BEGIN { } block at > the top of the script. Quoting perlmod, > > A "BEGIN" subroutine is executed as soon as possible, that is, the > moment it is completely defined, even before the rest of the containing > file is parsed. ... Because a "BEGIN" block executes > immediately, it can pull in definitions of subroutines and such from > other files in time to be visible to the rest of the file. > > I thought the problem might be setting environmental variables in > perl perhaps only passes them to children of the process, but: > > greg AT 7106 ~ > $ perl -e '$ENV{hey}="what?"; print $ENV{hey}' > what? > greg AT 7106 ~ > $ > > shows this is not so. > All I can say right now: OKtabel AT kettle:~> ./test.pl OKtabel AT kettle:~> use DBI; $ENV{ORACLE_HOME}="/opt/oracle/product/8.1.7"; $user = "tabel"; $passwd = ""; $host = "oracle.belkam.com"; $sid = "TABEL"; $dbh = DBI->connect("dbi:Oracle:host=$host;sid=$sid", $user, $passwd) or die; print "OK"; If I comment out : #$ENV{ORACLE_HOME}="/opt/oracle/product/8.1.7"; I get: tabel AT kettle:~> ./test.pl ORACLE_HOME environment variable not set! I'll try to do more test on cygwin today. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/