[sf-perl] cgi question

David Alban extasia at extasia.org
Fri Feb 8 11:32:32 PST 2013


greetings,

a cgi program i'm writing calls an external perl program.  when run
from the command line, the external program runs correctly, but via
cgi, it doesn't, complaining about not being able to find JSON.pm.

command line invocation of external program works as expected:

[root at srwd00reg011 ~]# jenkins-build-data  --help
usage: jenkins-build-data [ options ]

options:
  -h,--help            List usage and exit

  -b,--branch Branch      Process using branch Branch

  --list-branches      List branches that have available jenkins builds

  --list-builds        List build numbers for given branch.  Requires --branch.

  --list-artifacts     List url's for artifacts in a given build.
Requires --branch and --build.

  -u,--build Build     Process using build number Build

then, from error_log:

[Fri Feb 08 19:19:13 2013] [error] [client 10.249.134.215] 2013-02-08
19:19:13 +0000 srwd00reg011
jenkins-build-changes-from-jenkins-build-data.cgi[26068]
PRIORITY=ERROR [*] command returned non-zero status (2); cmd =>
'jenkins-build-data --list-branches' ; output => 'command returned
non-zero status; command => 'jenkins-build-data --list-branches';
status => 2; command output => Can't locate JSON/XS.pm in @INC (@INC
contains: /nas/reg/lib/perl/x86_64-linux-thread-multi
/nas/reg/lib/perl/5.8.8 /nas/reg/lib/perl/5.8.5 /nas/reg/lib/perl
/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl
/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8
.) at /nas/reg/bin/jenkins-build-data line 11.
[Fri Feb 08 19:19:13 2013] [error] [client 10.249.134.215] 2013-02-08
19:19:13 +0000 srwd00reg011
jenkins-build-changes-from-jenkins-build-data.cgi[26068]
PRIORITY=ERROR BEGIN failed--compilation aborted at
/nas/reg/bin/jenkins-build-data line 11.
[Fri Feb 08 19:19:13 2013] [error] [client 10.249.134.215] 2013-02-08
19:19:13 +0000 srwd00reg011
jenkins-build-changes-from-jenkins-build-data.cgi[26068]
PRIORITY=ERROR '
[Fri Feb 08 19:19:13 2013] [error] [client 10.249.134.215] Premature
end of script headers:
jenkins-build-changes-from-jenkins-build-data.cgi
[Fri Feb 08 19:19:13 2013] [error] [client 10.249.134.215] File does
not exist: /var/www/html/favicon.ico

i get "Can't locate JSON/XS.pm in @INC".

another test:

[root at srwd00reg011 ~]# sudo -H -u apache perl
/nas/reg/bin/jenkins-build-data --help
Can't locate JSON/XS.pm in @INC (@INC contains:
/nas/reg/lib/perl/x86_64-linux-thread-multi /nas/reg/lib/perl/5.8.8
/nas/reg/lib/perl/5.8.5 /nas/reg/lib/perl
/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl
/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8
.) at /nas/reg/bin/jenkins-build-data line 11.
BEGIN failed--compilation aborted at /nas/reg/bin/jenkins-build-data line 11.

and we have:

$ find /nas/reg/lib/perl/x86_64-linux-thread-multi/JSON/ -ls
3336992448    4 drwxr-sr-x   3 root     regauto      2048 Jan 19 00:48
/nas/reg/lib/perl/x86_64-linux-thread-multi/JSON/
2825141390    4 drwxr-sr-x   2 root     regauto      2048 Jan 19 00:48
/nas/reg/lib/perl/x86_64-linux-thread-multi/JSON/XS
1173004200    4 -r--r--r--   1 root     regauto       386 Jul  3  2007
/nas/reg/lib/perl/x86_64-linux-thread-multi/JSON/XS/Boolean.pm
967325435   56 -r--r--r--   1 root     regauto     57085 Aug  1  2012
/nas/reg/lib/perl/x86_64-linux-thread-multi/JSON/XS.pm

and:

$ find /nas/reg/lib/perl/JSON -ls
4275598264    4 drwxr-sr-x   3 relmgt   regauto      2048 Sep 26  2011
/nas/reg/lib/perl/JSON
215538142    4 drwxr-sr-x   2 relmgt   regauto      2048 Sep 26  2011
/nas/reg/lib/perl/JSON/PP
504904387    4 -r--r--r--   1 relmgt   regauto      3939 Sep 26  2011
/nas/reg/lib/perl/JSON/PP/Compat5006.pm
3961032869    4 -r--r--r--   1 relmgt   regauto       425 Feb  8  2008
/nas/reg/lib/perl/JSON/PP/Boolean.pm
3051093964   16 -r-xr-xr-x   1 relmgt   regauto     14104 Jul  5  2008
/nas/reg/lib/perl/JSON/Any.pm
1481989354   84 -r--r--r--   1 relmgt   regauto     82227 Sep 26  2011
/nas/reg/lib/perl/JSON/PP.pm
185846595    4 -r--r--r--   1 relmgt   regauto      3913 Jun  3  2008
/nas/reg/lib/perl/JSON/PP5005.pm
4178796837    8 -r--r--r--   1 relmgt   regauto      4438 Jun  4  2008
/nas/reg/lib/perl/JSON/PP56.pm
3956507192    4 -r--r--r--   1 relmgt   regauto      1972 Jun  4  2008
/nas/reg/lib/perl/JSON/PP58.pm

what am i missing?

thanks,
david
-- 
Live in a world of your own, but always welcome visitors.
***
Rule of law is for the little people.
http://www.amazon.com/Liberty-Justice-Some-Equality-Powerful/dp/0805092056


More information about the SanFrancisco-pm mailing list