David,

Thank you for your reply.

Yes, I have tested the script on the Subversion server and it runs just fine.  
And I agree it is obvious that Perl is including the directories to my 
libraries (so the use lib statements are working as designed as you stated).  
However, it is Perl that is complaining that it can't find my libraries even 
though they are clearly in the @INC path.  I have never run into this situation 
before and I believe it has to do with the fact that the Subversion hook is 
running with no environment defined, but why it makes Perl not able to find my 
libs ONLY when it runs as a Subversion hook I haven't a clue.

I have temporarily resolved the problem by moving my libraries to the 
/usr/lib/perl5/site_perl path (which I didn't want to do) which is predefined 
by my Perl installation in @INC.  The script now runs via the Subversion hook 
and finds my libraries just fine.  I would, however, like to understand what 
causes Perl to not recognize my added paths to @INC when it runs as a 
Subversion hook.

Craig

-----Original Message-----
From: David Weintraub [mailto:qazw...@gmail.com] 
Sent: Wednesday, March 03, 2010 9:57 PM
To: Craig Thayer
Cc: users@subversion.apache.org
Subject: Re: Perl can't find my libraries when run via the subversion 
post-commit script

On Wed, Mar 3, 2010 at 3:15 PM, Craig Thayer <ctha...@sensorlogic.com> wrote:
> I am at a loss as to why my perl script cannot find my libraries when
> invoked by the subversion post-commit script.  My script runs just fine when
> invoked manually in a terminal window.  I'm aware that the subversion
> post-commit script runs with no environment defined, but the error I'm
> getting (below) makes no sense since the module perl claims it can't find
> (Log.pm) is, in fact, in the '/root/perl5/lib' directory which is clearly
> listed in the @INC array.

Have you tried logging into the server as the user that runs
Subversion and tried running the Perl script as that user (and not as
part of the hook)? You might find the error when you try to execute as
the user that is running the Subversion server.

It is obvious that the Perl program is including the directories you
want to include in the @INC array, so the problem is not in the use
lib statements.

I wonder if there is a permission issue going on -- especially since
these are not standard Perl directories.

-- 
David Weintraub
qazw...@gmail.com

Reply via email to