[sf-perl] cgi question

Quinn Weaver quinn at pgexperts.com
Fri Feb 8 11:42:49 PST 2013


If JSON.pm is indeed in one of the directories listed for @INC, then I would check permissions. Maybe the CGI user, who is running the new perl process, doesn't have permission to read JSON.pm or its ancestor directories.

On Feb 8, 2013, at 11:32 AM, David Alban wrote:

> 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
> _______________________________________________
> SanFrancisco-pm mailing list
> SanFrancisco-pm at pm.org
> http://mail.pm.org/mailman/listinfo/sanfrancisco-pm


Regards,

--
Quinn Weaver
PostgreSQL Experts, Inc.
http://pgexperts.com/
1-888-743-9778 (my extension: 510)




More information about the SanFrancisco-pm mailing list