I have a Perl program running on RedHat Linux that runs just find from the command-line as root, but throws an error from the commaind-line as a user, like so:
[gblackburn]$ perl program.pl
DBI object version 1.32 does not match $DBI::VERSION 1.37 at /usr/lib/
+perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 249.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/i3
+86-linux-thread-multi/DBI.pm line 255.
Compilation failed in require at program.pl line 5.
BEGIN failed--compilation aborted at program.pl line 5.
So it looks like it's trying to use the Perl 5.6.1 DBI binary instead of the Perl 5.8.0 binary. But like I said it runs fine as root, so I checked which perl
and both the user and root respond with /usr/bin/perl
. Then I checked @INC
for both, and they are identical.
The PATH variables for root and user are somewhat different (of course) but if the path-to-perl is the same, and the @INC is the same, shouldn't the same modules be called in both cases? I'm clearly missing something dumb. Thanks!
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.