Re: /usr/bin/prove: Cannot find blib
its working ! used: export PATH=/usr/codertyte/bin:$PATH prove WAS/is the coderyte prove Thanks David and Andrew > > From: David Weintraub >To: jenkinsci-users@googlegroups.com >Sent: Friday, November 2, 2012 10:20 AM >Subject: Re: /usr/bin/prove: Cannot find blib > > > > >On Nov 2, 2012, at 8:54 AM, Kamal Ahmed wrote: > >right on the dot! >> >> >>Here is what i believe is happening: >>Jenkins THINKS the perl means /usr/bin/perl , but the actual perl is >>/usr/coderyte/bin/perl >> >> >>which prove >>/usr/coderyte/bin/prove >>kahmed@athena ~/workspace/ONATHENA $ which perl >>/usr/coderyte/bin/perl >> >> >>am i right in this assumption ? > >Yes. > > >> >>Now, how can i trick Jenkins to believe that perl actually >>means /usr/coderyte/bin/perl >> >> >>Since i cannot change the #! in code. > >Instead of executing just "prove", execute "/usr/coderyte/bin/perl prove". >This will specify the version of Perl you want to use. > > > >> >>Thanks, >>-Kamal. >> >>> >>> From: David Weintraub >>>To: jenkinsci-users@googlegroups.com >>>Sent: Thursday, November 1, 2012 10:01 PM >>>Subject: Re: /usr/bin/prove: Cannot find blib >>> >>> >>>Look at this @INC path: >>> >>> >>> * /extra/coderyte/nlp-builds/icd/icd-current/tools/perl_lib >>> * /extra/coderyte/www/iatqa/cgi-bin >>> * /extra/coderyte/www/iatqa/bin/engine/icd >>> * /extra/coderyte/www/iatqa/etc >>> * /extra/coderyte/www/iatqa/bin/engine/icd/engine >>> * /extra/coderyte/www/iatqa/bin/engine/icd/engine/perl_lib >>> * /extra/coderyte/www/iatqa/bin/engine/icd/engine/preproc >>> * /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi >>> * /usr/lib/perl5/5.8.5 >>> /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi >>> * /usr/lib/perl5/site_perl/5.8.5 >>> * /usr/lib/perl5/site_perl >>> /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi >>> * /usr/lib/perl5/vendor_perl/5.8.5 >>> /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi >>> * /usr/lib/perl5/vendor_perl >>>Now look at the one @INC you sent me with the program error: >>> >>> >>> * /usr/coderyte/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi >>> * /usr/coderyte/lib/perl5/site_perl/5.8.8 >>> * /usr/coderyte/lib/perl5/5.8.8/x86_64-linux-thread-multi >>> * /usr/coderyte/lib/perl5/5.8.8 >>> >>> >>>You see a difference? >>> >>> >>>In fact, I believe you're looking at two different Perl libraries being >>>executed. Note the "perl5" portions of the paths! In the second one, they're >>>all /usr/coderyte/lib. In the one you just sent me, they're >>>"/usr/lib/perl5". >>> >>> >>>The "site_perl" paths are for CPAN modules you install. They're usually in >>>the @INC first, so you can override the versions of the same modules that >>>came wiith the installation. >>> >>> >>>So, your problem is that you are executing two different Perl programs. One >>>you are using when you use Jenkins which is the Perl version that probably >>>came with the system. The other is what you execute when you use the SSH >>>user. >>> >>> >>>Log in as your SSH user, the one which allows the program to work. Then, >>>type in "which perl" at the command line. This is the Perl you must execute >>>as the Jenkins user. Either fix the first line (the shebang (#!)) to point >>>to the SSH user's Perl, or prepend your Perl script with that Perl program >>>(include the full path). >>> >>> >>> >>> >>>On Nov 1, 2012, at 8:31 PM, Kamal Ahmed wrote: >>> >>> >>>David, >>>> >>>>Unfortunately i would have to stick to Perl 5.8.8 >>>>Here is more of the error: >>>> >>>>15:06:11 >>>> >>>> >>>> + sh run_prove.sh >>>>15:06:18 >>>> ./DBI_CrossFeed_Crosswalk_custom.Can't >>>>locate Log/Log4perl.pm in @INC (@INC contains: >>>>/extra/coderyte/nlp-builds/icd/icd-current/tools/perl_lib >>>
Re: /usr/bin/prove: Cannot find blib
On Nov 2, 2012, at 8:54 AM, Kamal Ahmed wrote: > right on the dot! > > Here is what i believe is happening: > Jenkins THINKS the perl means /usr/bin/perl , but the actual perl is > /usr/coderyte/bin/perl > > which prove > /usr/coderyte/bin/prove > kahmed@athena ~/workspace/ONATHENA $ which perl > /usr/coderyte/bin/perl > > am i right in this assumption ? Yes. > > Now, how can i trick Jenkins to believe that perl actually means > /usr/coderyte/bin/perl > > Since i cannot change the #! in code. Instead of executing just "prove", execute "/usr/coderyte/bin/perl prove". This will specify the version of Perl you want to use. > > Thanks, > -Kamal. > From: David Weintraub > To: jenkinsci-users@googlegroups.com > Sent: Thursday, November 1, 2012 10:01 PM > Subject: Re: /usr/bin/prove: Cannot find blib > > Look at this @INC path: > > /extra/coderyte/nlp-builds/icd/icd-current/tools/perl_lib > /extra/coderyte/www/iatqa/cgi-bin > /extra/coderyte/www/iatqa/bin/engine/icd > /extra/coderyte/www/iatqa/etc > /extra/coderyte/www/iatqa/bin/engine/icd/engine > /extra/coderyte/www/iatqa/bin/engine/icd/engine/perl_lib > /extra/coderyte/www/iatqa/bin/engine/icd/engine/preproc > /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/5.8.5 > /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/site_perl/5.8.5 > /usr/lib/perl5/site_perl > /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl/5.8.5 > /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl > Now look at the one @INC you sent me with the program error: > > /usr/coderyte/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi > /usr/coderyte/lib/perl5/site_perl/5.8.8 > /usr/coderyte/lib/perl5/5.8.8/x86_64-linux-thread-multi > /usr/coderyte/lib/perl5/5.8.8 > > You see a difference? > > In fact, I believe you're looking at two different Perl libraries being > executed. Note the "perl5" portions of the paths! In the second one, they're > all /usr/coderyte/lib. In the one you just sent me, they're "/usr/lib/perl5". > > The "site_perl" paths are for CPAN modules you install. They're usually in > the @INC first, so you can override the versions of the same modules that > came wiith the installation. > > So, your problem is that you are executing two different Perl programs. One > you are using when you use Jenkins which is the Perl version that probably > came with the system. The other is what you execute when you use the SSH user. > > Log in as your SSH user, the one which allows the program to work. Then, type > in "which perl" at the command line. This is the Perl you must execute as the > Jenkins user. Either fix the first line (the shebang (#!)) to point to the > SSH user's Perl, or prepend your Perl script with that Perl program (include > the full path). > > > On Nov 1, 2012, at 8:31 PM, Kamal Ahmed wrote: > >> David, >> >> Unfortunately i would have to stick to Perl 5.8.8 >> Here is more of the error: >> >> 15:06:11 >> >> + sh run_prove.sh >> >> 15:06:18 >> ./DBI_CrossFeed_Crosswalk_custom.Can't >> locate Log/Log4perl.pm in @INC (@INC contains: >> /extra/coderyte/nlp-builds/icd/icd-current/tools/perl_lib >> /extra/coderyte/www/iatqa/cgi-bin /extra/coderyte/www/iatqa/bin/engine/icd >> /extra/coderyte/www/iatqa/etc >> /extra/coderyte/www/iatqa/bin/engine/icd/engine >> /extra/coderyte/www/iatqa/bin/engine/icd/engine/perl_lib >> /extra/coderyte/www/iatqa/bin/engine/icd/engine/preproc >> /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/5.8.5 >> /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi >> /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl >> /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi >> /usr/lib/perl5/vendor_perl/5.8.5 >> /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi >> /usr/lib/perl5/vendor_perl .) at >> /extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx.pm line 28. >> >> 15:06:18 >> BEGIN failed--compilation aborted at >> /extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx.pm line 28. >> >> 15:06:18 >> Compilation failed in require at >> /extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx/Lynx_Utilities.pm line 8. >> >> 15:06:18 >> BEGIN failed--compilation aborted at >> /extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx/Lynx_Utilities.pm line 8. >> >> 15:0
Re: /usr/bin/prove: Cannot find blib
On Fri, Nov 2, 2012 at 1:54 PM, Kamal Ahmed wrote: > right on the dot! > > Here is what i believe is happening: > Jenkins THINKS the perl means /usr/bin/perl , but the actual perl is > /usr/coderyte/bin/perl > > which prove > /usr/coderyte/bin/prove > kahmed@athena ~/workspace/ONATHENA $ which perl > /usr/coderyte/bin/perl > > am i right in this assumption ? > > Now, how can i trick Jenkins to believe that perl actually means > /usr/coderyte/bin/perl > > Since i cannot change the #! in code. export PATH=/usr/codertyte/bin:$PATH will make it so the shell will search your custom directory before looking in the system-wide directories. HTH Andrew > > Thanks, > -Kamal. > > > From: David Weintraub > To: jenkinsci-users@googlegroups.com > Sent: Thursday, November 1, 2012 10:01 PM > > Subject: Re: /usr/bin/prove: Cannot find blib > > Look at this @INC path: > > /extra/coderyte/nlp-builds/icd/icd-current/tools/perl_lib > /extra/coderyte/www/iatqa/cgi-bin > /extra/coderyte/www/iatqa/bin/engine/icd > /extra/coderyte/www/iatqa/etc > /extra/coderyte/www/iatqa/bin/engine/icd/engine > /extra/coderyte/www/iatqa/bin/engine/icd/engine/perl_lib > /extra/coderyte/www/iatqa/bin/engine/icd/engine/preproc > /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/5.8.5 > /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/site_perl/5.8.5 > /usr/lib/perl5/site_perl > /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl/5.8.5 > /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl > > Now look at the one @INC you sent me with the program error: > > /usr/coderyte/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi > /usr/coderyte/lib/perl5/site_perl/5.8.8 > /usr/coderyte/lib/perl5/5.8.8/x86_64-linux-thread-multi > /usr/coderyte/lib/perl5/5.8.8 > > > You see a difference? > > In fact, I believe you're looking at two different Perl libraries being > executed. Note the "perl5" portions of the paths! In the second one, they're > all /usr/coderyte/lib. In the one you just sent me, they're > "/usr/lib/perl5". > > The "site_perl" paths are for CPAN modules you install. They're usually in > the @INC first, so you can override the versions of the same modules that > came wiith the installation. > > So, your problem is that you are executing two different Perl programs. One > you are using when you use Jenkins which is the Perl version that probably > came with the system. The other is what you execute when you use the SSH > user. > > Log in as your SSH user, the one which allows the program to work. Then, > type in "which perl" at the command line. This is the Perl you must execute > as the Jenkins user. Either fix the first line (the shebang (#!)) to point > to the SSH user's Perl, or prepend your Perl script with that Perl program > (include the full path). > > > On Nov 1, 2012, at 8:31 PM, Kamal Ahmed wrote: > > David, > > Unfortunately i would have to stick to Perl 5.8.8 > Here is more of the error: > > 15:06:11 > > + sh run_prove.sh > > 15:06:18 > ./DBI_CrossFeed_Crosswalk_custom.Can't > locate Log/Log4perl.pm in @INC (@INC contains: > /extra/coderyte/nlp-builds/icd/icd-current/tools/perl_lib > /extra/coderyte/www/iatqa/cgi-bin /extra/coderyte/www/iatqa/bin/engine/icd > /extra/coderyte/www/iatqa/etc > /extra/coderyte/www/iatqa/bin/engine/icd/engine > /extra/coderyte/www/iatqa/bin/engine/icd/engine/perl_lib > /extra/coderyte/www/iatqa/bin/engine/icd/engine/preproc > /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/5.8.5 > /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl > /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl/5.8.5 > /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl .) at > /extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx.pm line 28. > > 15:06:18 > BEGIN failed--compilation aborted at > /extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx.pm line 28. > > 15:06:18 > Compilation failed in require at > /extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx/Lynx_Utilities.pm line 8. > > 15:06:18 > BEGIN failed--compilation aborted at > /extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx/Lynx_Utilities.pm line 8. > > 15:06:18 > Compilation failed in require at ./DBI_CrossFeed_Crosswalk_custom.t line > 10. > > 15:06:18 > BEGIN failed--compilation aborted at ./
Re: /usr/bin/prove: Cannot find blib
right on the dot! Here is what i believe is happening: Jenkins THINKS the perl means /usr/bin/perl , but the actual perl is /usr/coderyte/bin/perl which prove /usr/coderyte/bin/prove kahmed@athena ~/workspace/ONATHENA $ which perl /usr/coderyte/bin/perl am i right in this assumption ? Now, how can i trick Jenkins to believe that perl actually means /usr/coderyte/bin/perl Since i cannot change the #! in code. Thanks, -Kamal. > > From: David Weintraub >To: jenkinsci-users@googlegroups.com >Sent: Thursday, November 1, 2012 10:01 PM >Subject: Re: /usr/bin/prove: Cannot find blib > > >Look at this @INC path: > > > * /extra/coderyte/nlp-builds/icd/icd-current/tools/perl_lib > * /extra/coderyte/www/iatqa/cgi-bin > * /extra/coderyte/www/iatqa/bin/engine/icd > * /extra/coderyte/www/iatqa/etc > * /extra/coderyte/www/iatqa/bin/engine/icd/engine > * /extra/coderyte/www/iatqa/bin/engine/icd/engine/perl_lib > * /extra/coderyte/www/iatqa/bin/engine/icd/engine/preproc > * /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi > * /usr/lib/perl5/5.8.5 > /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi > * /usr/lib/perl5/site_perl/5.8.5 > * /usr/lib/perl5/site_perl > /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi > * /usr/lib/perl5/vendor_perl/5.8.5 > /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi > * /usr/lib/perl5/vendor_perl >Now look at the one @INC you sent me with the program error: > > > * /usr/coderyte/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi > * /usr/coderyte/lib/perl5/site_perl/5.8.8 > * /usr/coderyte/lib/perl5/5.8.8/x86_64-linux-thread-multi > * /usr/coderyte/lib/perl5/5.8.8 > > >You see a difference? > > >In fact, I believe you're looking at two different Perl libraries being >executed. Note the "perl5" portions of the paths! In the second one, they're >all /usr/coderyte/lib. In the one you just sent me, they're "/usr/lib/perl5". > > >The "site_perl" paths are for CPAN modules you install. They're usually in the >@INC first, so you can override the versions of the same modules that came >wiith the installation. > > >So, your problem is that you are executing two different Perl programs. One >you are using when you use Jenkins which is the Perl version that probably >came with the system. The other is what you execute when you use the SSH user. > > >Log in as your SSH user, the one which allows the program to work. Then, type >in "which perl" at the command line. This is the Perl you must execute as the >Jenkins user. Either fix the first line (the shebang (#!)) to point to the SSH >user's Perl, or prepend your Perl script with that Perl program (include the >full path). > > > > >On Nov 1, 2012, at 8:31 PM, Kamal Ahmed wrote: > > >David, >> >>Unfortunately i would have to stick to Perl 5.8.8 >>Here is more of the error: >> >>15:06:11 >> >> >> + sh run_prove.sh >>15:06:18 >> ./DBI_CrossFeed_Crosswalk_custom.Can't >>locate Log/Log4perl.pm in @INC (@INC contains: >>/extra/coderyte/nlp-builds/icd/icd-current/tools/perl_lib >>/extra/coderyte/www/iatqa/cgi-bin /extra/coderyte/www/iatqa/bin/engine/icd >>/extra/coderyte/www/iatqa/etc /extra/coderyte/www/iatqa/bin/engine/icd/engine >>/extra/coderyte/www/iatqa/bin/engine/icd/engine/perl_lib >>/extra/coderyte/www/iatqa/bin/engine/icd/engine/preproc >>/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/5.8.5 >>/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi >>/usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl >>/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi >>/usr/lib/perl5/vendor_perl/5.8.5 >>/usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi >>/usr/lib/perl5/vendor_perl .) at >>/extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx.pm line 28. >>15:06:18 >> BEGIN failed--compilation aborted at >>/extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx.pm line 28. >>15:06:18 >> Compilation failed in require at >>/extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx/Lynx_Utilities.pm line 8. >>15:06:18 >> BEGIN failed--compilation aborted at >>/extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx/Lynx_Utilities.pm line 8. >>15:06:18 >> Compilation failed in require at ./DBI_CrossFeed_Crosswalk_custom.t line 10. >>15:06:18 >> BEGIN failed--compilation aborted at ./DBI_CrossFeed_Crosswalk_custom.t line >
Re: /usr/bin/prove: Cannot find blib
/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/5.8.5 > /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl > /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl/5.8.5 > /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl .) at > /extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx/StagingDB.pm line 3. > > > and so on... > > > 15:06:24 > # Error: Can't locate Text/Unidecode.pm in @INC (@INC contains: > /extra/coderyte/www/iatqa/cgi-bin /extra/coderyte/www/iatqa/bin/engine/icd > /extra/coderyte/www/iatqa/etc /extra/coderyte/www/iatqa/bin/engine/icd/engine > /extra/coderyte/www/iatqa/bin/engine/icd/engine/perl_lib > /extra/coderyte/www/iatqa/bin/engine/icd/engine/preproc > /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/5.8.5 > /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.5 > /usr/lib/perl5/site_perl > /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl/5.8.5 > /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl . > /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/5.8.5 > /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl > /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl/5.8.5 > /usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi > /usr/lib/perl5/vendor_perl .) at > /extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx/Feed.pm line 5. > > 15:06:24 > # BEGIN failed--compilation aborted at > /extra/coderyte/www/iatqa/cgi-bin/CodeRyte/Lynx/Feed.pm line 5. > > 15:06:24 > # Compilation failed in require at (eval 1) line 2. > > 15:06:24 > Can't locate object method "new" via package "CodeRyte::Lynx::Feed" at > ./Feed-Binary_Conversion.t line 13. > > 15:06:24 > 1..1 > > 15:06:24 > # Looks like you failed 1 tests of 1. > > 15:06:24 > # Looks like your test died just after 1. > > 15:06:24 > dubious > > 15:06:24 > Test returned status 255 (wstat 65280, 0xff00) > > 15:06:24 > DIED. FAILED test 1 > > 15:06:24 > Failed 1/1 tests, 0.00% okay > > 15:06:24 > ./DBI_Assembler_Primary_Defined_Counts...Can't locate > Log/Log4perl.pm in @INC (@INC contains: > > > Strange thing is when @ work, i am connected to this remote slave , and when > i come home and connect via VPN, i am still connected even though the IP > changed, and the connection was severed for the time i was driving. > > > From: David Weintraub > To: jenkinsci-users@googlegroups.com > Sent: Thursday, November 1, 2012 1:09 PM > Subject: Re: /usr/bin/prove: Cannot find blib > > I see you're on Perl 5.8.8 -- a release of Perl that's over six years old. > The "use feature" pragma didn't come in until Perl 5.10 (current version is > 5.16). All that "use feature" does is give you access to the "say" command. > Say is like "print" except that it automatically includes a "\n". > > Use this program. I removed "say" and used "print" instead: > > #!/usr/bin/env perl > use strict; > use warnings; > > use Log::Log4Perl > > print "Perl \@INC: " . join ("\n", @INC) . "\n"; > for my $module (sort keys %INC) { > print qq(\$INC{$module} = "$INC{$module}"\n); > } > > By the way, note the @INC array which printed out as part of the error > message: > > * /usr/coderyte/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi > * /usr/coderyte/lib/perl5/site_perl/5.8.8 > * /usr/coderyte/lib/perl5/5.8.8/x86_64-linux-thread-multi > * /usr/coderyte/lib/perl5/5.8.8 > > Compare that with the one you got as the Jenkins user. (You didn't include > that in your original email!). I can see that Perl 5.8.8 isn't installed as a > standard Perl program because it's under /usr/coderyte and not a standard > directory. On most Unix type systems it's under /usr/share/perl or > /usr/local/perl, or /var/perl or /opt/perl. I suspect that your Jenkins user > is looking in different directories and maybe even using a completely > different version of Perl. > > What's the full error message you're getting with Jenkins. You only gave: > >> 11:41:35 Can't locate Log/Log4p
Re: /usr/bin/prove: Cannot find blib
ote slave , and when i come home and connect via VPN, i am still connected even though the IP changed, and the connection was severed for the time i was driving. > > From: David Weintraub >To: jenkinsci-users@googlegroups.com >Sent: Thursday, November 1, 2012 1:09 PM >Subject: Re: /usr/bin/prove: Cannot find blib > > >I see you're on Perl 5.8.8 -- a release of Perl that's over six years old. The >"use feature" pragma didn't come in until Perl 5.10 (current version is 5.16). >All that "use feature" does is give you access to the "say" command. Say is >like "print" except that it automatically includes a "\n". > > >Use this program. I removed "say" and used "print" instead: > > >#!/usr/bin/env perl >use strict; >use warnings; > >use Log::Log4Perl > >print "Perl \@INC: " . join ("\n", @INC) . "\n"; >for my $module (sort keys %INC) { > print qq(\$INC{$module} = "$INC{$module}"\n); >} > > >By the way, note the @INC array which printed out as part of the error message: > > >* /usr/coderyte/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi >* /usr/coderyte/lib/perl5/site_perl/5.8.8 >* /usr/coderyte/lib/perl5/5.8.8/x86_64-linux-thread-multi >* /usr/coderyte/lib/perl5/5.8.8 > >Compare that with the one you got as the Jenkins user. (You didn't include >that in your original email!). I can see that Perl 5.8.8 isn't installed as a >standard Perl program because it's under /usr/coderyte and not a standard >directory. On most Unix type systems it's under /usr/share/perl or >/usr/local/perl, or /var/perl or /opt/perl. I suspect that your Jenkins user >is looking in different directories and maybe even using a completely >different version of Perl. > > >What's the full error message you're getting with Jenkins. You only gave: > > >11:41:35 Can't locate Log/Log4perl.pm in @INC (@INC contains: > > >You left off the interesting part. > > >On Nov 1, 2012, at 12:56 PM, Kamal Ahmed wrote: > > >Hi David, >>Now i am getting error: >> >>./test_log4p.pl >>Can't locate feature.pm in @INC (@INC contains: >>/usr/coderyte/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi >>/usr/coderyte/lib/perl5/site_perl/5.8.8 /usr/coderyte/lib/perl5/5.8.8/x86_64-linux-thread-multi >> /usr/coderyte/lib/perl5/5.8.8 .) at ./test_log4p.pl line 4. >>BEGIN failed--compilation aborted at ./test_log4p.pl line 4. >> >> >> more test_log4p.pl >> >>#!/usr/bin/env perl >>use strict; >>use warnings; >>use feature qw(say); >> >>use Log::Log4Perl >> >>say "Perl \@INC: " . join "\n", @INC; >>for my $module (sort keys %INC) { >> say qq(\$INC{$module} = "$INC{$module}"); >>} >> >>From: David Weintraub >>To: jenkinsci-users@googlegroups.com >>Sent: Thursday, November 1, 2012 12:27 PM >>Subject: Re: /usr/bin/prove: Cannot find blib >> >>Perl CPAN modules can be installed via user or via machine. Normally, if you >>can't get root access on the machine, you install it for that user. Maybe the >>Log::Log4perl module is installed as a user module. Thus, if you're running >>it as another user, you simply can't find the module. >> >>Another possibility is that the module wasn't installed, and is located in a >>different directory than expected. The Perl @INC shows you the directories >>where modules are searched. The %INC hash shows the module loaded and the >>directory where found. >> >>Try a simple program: >> >>use strict; >>use warnings; >>use feature qw(say); >> >>use Log::Log4Perl >> >>say "Perl \@INC: " . join "\n", @INC; >>for my $module (sort keys %INC) { >> say qq(\$INC{$module} = "$INC{$module}"); >>} >> >>Do this via SSH where you can execute run_prove.sh and it works. This will >>show you where this program is searching for the module and where it finds >>it. That will give you an idea why Jenkins can't find it. >> >>If you do find that Log::Log4Perl is not where you expect it, use the "use >>lib" pragma to add that directory to your @INC search array. >> >>On Nov 1, 2012, at 12:15 PM, Kamal Ahmed wrote: >> >> >>Hi, >>>When i run run_prove.sh after doing an ssh to host , the perl unit tests run >>>fine >>>but when i do it via "Execute shell script on remote host using ssh" i get >>>error: >>> >>>11:41:35 >>> + prove -b -v -r . >>>11:41:35 >>> /usr/bin/prove: Cannot find blib >>>11:41:35 >>> No blib directories found. >>>11:41:35 Can't locate Log/Log4perl.pm in @INC (@INC contains: >>> >>>I have tried with just execute shell script option as well, same result >>> >>>Would appreciate any help / Hint/Resolution >>> >>>Thanks, >>>-Kamal. >>> >>> >>> >> >> >> > > >
Re: /usr/bin/prove: Cannot find blib
I see you're on Perl 5.8.8 -- a release of Perl that's over six years old. The "use feature" pragma didn't come in until Perl 5.10 (current version is 5.16). All that "use feature" does is give you access to the "say" command. Say is like "print" except that it automatically includes a "\n". Use this program. I removed "say" and used "print" instead: #!/usr/bin/env perl use strict; use warnings; use Log::Log4Perl print "Perl \@INC: " . join ("\n", @INC) . "\n"; for my $module (sort keys %INC) { print qq(\$INC{$module} = "$INC{$module}"\n); } By the way, note the @INC array which printed out as part of the error message: * /usr/coderyte/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi * /usr/coderyte/lib/perl5/site_perl/5.8.8 * /usr/coderyte/lib/perl5/5.8.8/x86_64-linux-thread-multi * /usr/coderyte/lib/perl5/5.8.8 Compare that with the one you got as the Jenkins user. (You didn't include that in your original email!). I can see that Perl 5.8.8 isn't installed as a standard Perl program because it's under /usr/coderyte and not a standard directory. On most Unix type systems it's under /usr/share/perl or /usr/local/perl, or /var/perl or /opt/perl. I suspect that your Jenkins user is looking in different directories and maybe even using a completely different version of Perl. What's the full error message you're getting with Jenkins. You only gave: > 11:41:35 Can't locate Log/Log4perl.pm in @INC (@INC contains: You left off the interesting part. On Nov 1, 2012, at 12:56 PM, Kamal Ahmed wrote: > Hi David, > Now i am getting error: > > ./test_log4p.pl > Can't locate feature.pm in @INC (@INC contains: > /usr/coderyte/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi > /usr/coderyte/lib/perl5/site_perl/5.8.8 > /usr/coderyte/lib/perl5/5.8.8/x86_64-linux-thread-multi > /usr/coderyte/lib/perl5/5.8.8 .) at ./test_log4p.pl line 4. > BEGIN failed--compilation aborted at ./test_log4p.pl line 4. > > > more test_log4p.pl > > #!/usr/bin/env perl > use strict; > use warnings; > use feature qw(say); > > use Log::Log4Perl > > say "Perl \@INC: " . join "\n", @INC; > for my $module (sort keys %INC) { > say qq(\$INC{$module} = "$INC{$module}"); > } > > From: David Weintraub > To: jenkinsci-users@googlegroups.com > Sent: Thursday, November 1, 2012 12:27 PM > Subject: Re: /usr/bin/prove: Cannot find blib > > Perl CPAN modules can be installed via user or via machine. Normally, if you > can't get root access on the machine, you install it for that user. Maybe the > Log::Log4perl module is installed as a user module. Thus, if you're running > it as another user, you simply can't find the module. > > Another possibility is that the module wasn't installed, and is located in a > different directory than expected. The Perl @INC shows you the directories > where modules are searched. The %INC hash shows the module loaded and the > directory where found. > > Try a simple program: > > use strict; > use warnings; > use feature qw(say); > > use Log::Log4Perl > > say "Perl \@INC: " . join "\n", @INC; > for my $module (sort keys %INC) { > say qq(\$INC{$module} = "$INC{$module}"); > } > > Do this via SSH where you can execute run_prove.sh and it works. This will > show you where this program is searching for the module and where it finds > it. That will give you an idea why Jenkins can't find it. > > If you do find that Log::Log4Perl is not where you expect it, use the "use > lib" pragma to add that directory to your @INC search array. > > On Nov 1, 2012, at 12:15 PM, Kamal Ahmed wrote: > >> Hi, >> When i run run_prove.sh after doing an ssh to host , the perl unit tests run >> fine >> but when i do it via "Execute shell script on remote host using ssh" i get >> error: >> >> 11:41:35 >> + prove -b -v -r . >> >> 11:41:35 >> /usr/bin/prove: Cannot find blib >> >> 11:41:35 >> No blib directories found. >> >> 11:41:35 Can't locate Log/Log4perl.pm in @INC (@INC contains: >> >> I have tried with just execute shell script option as well, same result >> >> Would appreciate any help / Hint/Resolution >> >> Thanks, >> -Kamal. >> >> > > >
Re: /usr/bin/prove: Cannot find blib
Hi David, Now i am getting error: ./test_log4p.pl Can't locate feature.pm in @INC (@INC contains: /usr/coderyte/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/coderyte/lib/perl5/site_perl/5.8.8 /usr/coderyte/lib/perl5/5.8.8/x86_64-linux-thread-multi /usr/coderyte/lib/perl5/5.8.8 .) at ./test_log4p.pl line 4. BEGIN failed--compilation aborted at ./test_log4p.pl line 4. more test_log4p.pl #!/usr/bin/env perl use strict; use warnings; use feature qw(say); use Log::Log4Perl say "Perl \@INC: " . join "\n", @INC; for my $module (sort keys %INC) { say qq(\$INC{$module} = "$INC{$module}"); } > > From: David Weintraub >To: jenkinsci-users@googlegroups.com >Sent: Thursday, November 1, 2012 12:27 PM >Subject: Re: /usr/bin/prove: Cannot find blib > > >Perl CPAN modules can be installed via user or via machine. Normally, if you >can't get root access on the machine, you install it for that user. Maybe the >Log::Log4perl module is installed as a user module. Thus, if you're running it >as another user, you simply can't find the module. > > >Another possibility is that the module wasn't installed, and is located in a >different directory than expected. The Perl @INC shows you the directories >where modules are searched. The %INC hash shows the module loaded and the >directory where found. > > >Try a simple program: > > >use strict; >use warnings; >use feature qw(say); > > >use Log::Log4Perl > > >say "Perl \@INC: " . join "\n", @INC; >for my $module (sort keys %INC) { > say qq(\$INC{$module} = "$INC{$module}"); >} > > >Do this via SSH where you can execute run_prove.sh and it works. This will >show you where this program is searching for the module and where it finds it. >That will give you an idea why Jenkins can't find it. > > >If you do find that Log::Log4Perl is not where you expect it, use the "use >lib" pragma to add that directory to your @INC search array. > > >On Nov 1, 2012, at 12:15 PM, Kamal Ahmed wrote: > >Hi, >>When i run run_prove.sh after doing an ssh to host , the perl unit tests run >>fine >>but when i do it via "Execute shell script on remote host using ssh" i get >>error: >> >> >>11:41:35 + prove -b -v -r . 11:41:35 /usr/bin/prove: Cannot find blib >>11:41:35 No blib directories found. 11:41:35 Can't locate Log/Log4perl.pm in >>@INC (@INC contains: >> >> >>I have tried with just execute shell script option as well, same result >> >> >>Would appreciate any help / Hint/Resolution >> >> >>Thanks, >>-Kamal. >> >> >> >> > > >
Re: /usr/bin/prove: Cannot find blib
Perl CPAN modules can be installed via user or via machine. Normally, if you can't get root access on the machine, you install it for that user. Maybe the Log::Log4perl module is installed as a user module. Thus, if you're running it as another user, you simply can't find the module. Another possibility is that the module wasn't installed, and is located in a different directory than expected. The Perl @INC shows you the directories where modules are searched. The %INC hash shows the module loaded and the directory where found. Try a simple program: use strict; use warnings; use feature qw(say); use Log::Log4Perl say "Perl \@INC: " . join "\n", @INC; for my $module (sort keys %INC) { say qq(\$INC{$module} = "$INC{$module}"); } Do this via SSH where you can execute run_prove.sh and it works. This will show you where this program is searching for the module and where it finds it. That will give you an idea why Jenkins can't find it. If you do find that Log::Log4Perl is not where you expect it, use the "use lib" pragma to add that directory to your @INC search array. On Nov 1, 2012, at 12:15 PM, Kamal Ahmed wrote: > Hi, > When i run run_prove.sh after doing an ssh to host , the perl unit tests run > fine > but when i do it via "Execute shell script on remote host using ssh" i get > error: > > 11:41:35 + prove -b -v -r . > 11:41:35 /usr/bin/prove: Cannot find blib > 11:41:35 No blib directories found. > 11:41:35 Can't locate Log/Log4perl.pm in @INC (@INC contains: > > I have tried with just execute shell script option as well, same result > > Would appreciate any help / Hint/Resolution > > Thanks, > -Kamal. > >
/usr/bin/prove: Cannot find blib
Hi, When i run run_prove.sh after doing an ssh to host , the perl unit tests run fine but when i do it via "Execute shell script on remote host using ssh" i get error: 11:41:35 + prove -b -v -r . 11:41:35 /usr/bin/prove: Cannot find blib 11:41:35 No blib directories found. 11:41:35 Can't locate Log/Log4perl.pm in @INC (@INC contains: I have tried with just execute shell script option as well, same result Would appreciate any help / Hint/Resolution Thanks, -Kamal.
/usr/bin/prove: Cannot find blib
Hi, When i run run_prove.sh after doing an ssh to host , the perl unit tests run fine but when i do it via "Execute shell script on remote host using ssh" i get error: 11:41:35 + prove -b -v -r . 11:41:35 /usr/bin/prove: Cannot find blib 11:41:35 No blib directories found. 11:41:35 Can't locate Log/Log4perl.pm in @INC (@INC contains: I have tried with just execute shell script option as well, same result Would appreciate any help / Hint/Resolution Thanks, -Kamal.