Mailing List Archive

"make test" fails while using "local::lib"
Hello,

due to some reasons, we use "local::lib" to have a defined set of perl modules on all servers. We also have to compile mod_perl, because in Ubuntu1204 "Apache::SizeLimit.pm" is broken - and we need that.

Relevant parts of %ENV:
$VAR1 = {
'PERL_MM_OPT' => 'INSTALL_BASE=/web/data/nureg_shop/lib/local',
'PERL_LOCAL_LIB_ROOT' => ':/web/data/nureg_shop/lib/local',
'PERL_MB_OPT' => '--install_base /web/data/nureg_shop/lib/local',
'PERL5LIB' => '/web/data/nureg_shop/lib/local/lib/perl5:/web/data/nureg_shop/lib',
'PATH' => '/web/data/nureg_shop/lib/local/bin:/web/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
};

local::lib is in '/web/data/nureg_shop/lib/local'

When I "make test" Embperl 2.5.0_4, i get:

----------------- make test --------------
Performing httpd syntax check 1 ... ok
Performing httpd syntax check 2 ... ok
Starting httpd...
[Mon Jul 15 10:28:35 2013] [error] Can't locate Apache2/ServerRec.pm in @INC (@INC contains: /web/local/src/Embperl-2.5.0_4/eg/forms /web/local/src/Embperl-2.5.0_4/blib/arch /web/local/src/Embperl-2.5.0_4/blib/lib . /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl /web/local/src/Embperl-2.5.0_4/test) at /web/local/src/Embperl-2.5.0_4/blib/lib/Embperl.pm line 75.\nCompilation failed in require at /web/local/src/Embperl-2.5.0_4/test/conf/startup.pl line 72.\nBEGIN failed--compilation aborted at /web/local/src/Embperl-2.5.0_4/test/conf/startup.pl line 72.\nCompilation failed in require at (eval 2) line 1.\n
[Mon Jul 15 10:28:35 2013] [error] Can't load Perl file: /web/local/src/Embperl-2.5.0_4/test/conf/startup.pl for server localhost:0, exiting...
Cannot open test/tmp/httpd.pid at test.pl line 2878.
Test terminated with fatal error
----------------------------------------------


When I add "use local::lib '/web/data/nureg_shop/lib/local"; ' to /web/local/src/Embperl-2.5.0_4/test/conf/startup.pl, it works, but fails later:
----------------- make test --------------
Testing cgi mode...
#0 ascii... ok
#1 pure.htm...
[-1][Mon Jul 15 10:30:12 2013] [error] [client 127.0.0.1] [16430]ERR: 66: Embperl Session handling DISABLED because of the following error: Can't locate Apache/SessionX.pm in @INC (@INC contains: /web/local/src/Embperl-2.5.0_4/blib/arch /web/local/src/Embperl-2.5.0_4/blib/lib /web/local/src/Embperl-2.5.0_4/eg/forms /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at (eval 1) line 2.
[-2][Mon Jul 15 10:30:12 2013] [error] [client 127.0.0.1]
[-3][Mon Jul 15 10:30:12 2013] [error] [client 127.0.0.1] Set EMBPERL_SESSION_HANDLER_CLASS to 'no' to avoid this message.
Input: test/html/pure.htm
Output: test/tmp/out.htm
Log: test/tmp/test.log
----------------------------------------------

I did not find a quick way to fix that (for my setup)

After I installed embperl, it works as expected (because I have a "use local::lib" in startup.pl...)


To sum it up, the question is: why does the "make test" ignore BASHs environment PERL5LIB?



With best regards,

Dirk Melchers
/// IT/Software-Development ///

NUREG GmbH ///
Dorfäckerstraße 31 | 90427 Nürnberg | Germany
Tel. +49-911-32002-256 | Fax +49-911-32002-299
Mobil +49-172-9354670 | www.nureg.de
Nürnberg HRB 22653 | USt.ID DE 814 685 653
Geschäftsführer: Michael Schmidt, Stefan Boas


---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org
AW: "make test" fails while using "local::lib" [ In reply to ]
Hi,

the reason is, that environment variables are not passed into mod_perl, unless you have a PerlPassEnv in your httpd.conf

You can try to add a PerlPassEnv into test/conf/httpd.conf.src for the relevant environment variables

Regards

Gerald

> -----Ursprüngliche Nachricht-----
> Von: Dirk Melchers [mailto:dirk.melchers@nureg.de]
> Gesendet: Montag, 15. Juli 2013 10:55
> An: embperl@perl.apache.org
> Betreff: "make test" fails while using "local::lib"
>
> Hello,
>
> due to some reasons, we use "local::lib" to have a defined set of perl
> modules on all servers. We also have to compile mod_perl, because in
> Ubuntu1204 "Apache::SizeLimit.pm" is broken - and we need that.
>
> Relevant parts of %ENV:
> $VAR1 = {
> 'PERL_MM_OPT' => 'INSTALL_BASE=/web/data/nureg_shop/lib/local',
> 'PERL_LOCAL_LIB_ROOT' => ':/web/data/nureg_shop/lib/local',
> 'PERL_MB_OPT' => '--install_base /web/data/nureg_shop/lib/local',
> 'PERL5LIB' =>
> '/web/data/nureg_shop/lib/local/lib/perl5:/web/data/nureg_shop/lib',
> 'PATH' =>
> '/web/data/nureg_shop/lib/local/bin:/web/local/bin:/usr/local/sbin:/usr/loc
> al/bin:/usr/sbin:/usr/bin:/sbin:/bin',
> };
>
> local::lib is in '/web/data/nureg_shop/lib/local'
>
> When I "make test" Embperl 2.5.0_4, i get:
>
> ----------------- make test -------------- Performing httpd syntax check 1 ... ok
> Performing httpd syntax check 2 ... ok
> Starting httpd...
> [Mon Jul 15 10:28:35 2013] [error] Can't locate Apache2/ServerRec.pm in
> @INC (@INC contains: /web/local/src/Embperl-2.5.0_4/eg/forms
> /web/local/src/Embperl-2.5.0_4/blib/arch /web/local/src/Embperl-
> 2.5.0_4/blib/lib . /etc/perl /usr/local/lib/perl/5.14.2
> /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14
> /usr/share/perl/5.14 /usr/local/lib/site_perl /web/local/src/Embperl-
> 2.5.0_4/test) at /web/local/src/Embperl-2.5.0_4/blib/lib/Embperl.pm line
> 75.\nCompilation failed in require at /web/local/src/Embperl-
> 2.5.0_4/test/conf/startup.pl line 72.\nBEGIN failed--compilation aborted at
> /web/local/src/Embperl-2.5.0_4/test/conf/startup.pl line 72.\nCompilation
> failed in require at (eval 2) line 1.\n [Mon Jul 15 10:28:35 2013] [error] Can't
> load Perl file: /web/local/src/Embperl-2.5.0_4/test/conf/startup.pl for server
> localhost:0, exiting...
> Cannot open test/tmp/httpd.pid at test.pl line 2878.
> Test terminated with fatal error
> ----------------------------------------------
>
>
> When I add "use local::lib '/web/data/nureg_shop/lib/local"; ' to
> /web/local/src/Embperl-2.5.0_4/test/conf/startup.pl, it works, but fails later:
> ----------------- make test -------------- Testing cgi mode...
> #0 ascii... ok
> #1 pure.htm...
> [-1][Mon Jul 15 10:30:12 2013] [error] [client 127.0.0.1] [16430]ERR: 66:
> Embperl Session handling DISABLED because of the following error: Can't
> locate Apache/SessionX.pm in @INC (@INC contains:
> /web/local/src/Embperl-2.5.0_4/blib/arch /web/local/src/Embperl-
> 2.5.0_4/blib/lib /web/local/src/Embperl-2.5.0_4/eg/forms /etc/perl
> /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5
> /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14
> /usr/local/lib/site_perl .) at (eval 1) line 2.
> [-2][Mon Jul 15 10:30:12 2013] [error] [client 127.0.0.1] [-3][Mon Jul 15
> 10:30:12 2013] [error] [client 127.0.0.1] Set
> EMBPERL_SESSION_HANDLER_CLASS to 'no' to avoid this message.
> Input: test/html/pure.htm
> Output: test/tmp/out.htm
> Log: test/tmp/test.log
> ----------------------------------------------
>
> I did not find a quick way to fix that (for my setup)
>
> After I installed embperl, it works as expected (because I have a "use
> local::lib" in startup.pl...)
>
>
> To sum it up, the question is: why does the "make test" ignore BASHs
> environment PERL5LIB?
>
>
>
> With best regards,
>
> Dirk Melchers
> /// IT/Software-Development ///
>
> NUREG GmbH ///
> Dorfäckerstraße 31 | 90427 Nürnberg | Germany Tel. +49-911-32002-256 |
> Fax +49-911-32002-299 Mobil +49-172-9354670 | www.nureg.de Nürnberg
> HRB 22653 | USt.ID DE 814 685 653
> Geschäftsführer: Michael Schmidt, Stefan Boas
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
> For additional commands, e-mail: embperl-help@perl.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org
Re: AW: "make test" fails while using "local::lib" [ In reply to ]
Hi Gerald,

thanks for the quick answer.

This helped for the mod_perl test, but the CGI-Tests still fail. Do you have any ideas, how to fix this - or skip the CGI test at all? I only need the embperl.so and the *.pm at the end, so disabling all other things (CGI, CLI, FastCGI) would be perfect for me ;-)


With best regards,

Dirk Melchers
/// IT/Software-Development ///

NUREG GmbH ///
Dorfäckerstraße 31 | 90427 Nürnberg | Germany
Tel. +49-911-32002-256 | Fax +49-911-32002-299
Mobil +49-172-9354670 | www.nureg.de
Nürnberg HRB 22653 | USt.ID DE 814 685 653
Geschäftsführer: Michael Schmidt, Stefan Boas

Am 15.07.2013 um 11:33 schrieb Gerald Richter - ECOS:

> Hi,
>
> the reason is, that environment variables are not passed into mod_perl, unless you have a PerlPassEnv in your httpd.conf
>
> You can try to add a PerlPassEnv into test/conf/httpd.conf.src for the relevant environment variables
>
> Regards
>
> Gerald
>
>> -----Ursprüngliche Nachricht-----
>> Von: Dirk Melchers [mailto:dirk.melchers@nureg.de]
>> Gesendet: Montag, 15. Juli 2013 10:55
>> An: embperl@perl.apache.org
>> Betreff: "make test" fails while using "local::lib"
>>
>> Hello,
>>
>> due to some reasons, we use "local::lib" to have a defined set of perl
>> modules on all servers. We also have to compile mod_perl, because in
>> Ubuntu1204 "Apache::SizeLimit.pm" is broken - and we need that.
>>
>> Relevant parts of %ENV:
>> $VAR1 = {
>> 'PERL_MM_OPT' => 'INSTALL_BASE=/web/data/nureg_shop/lib/local',
>> 'PERL_LOCAL_LIB_ROOT' => ':/web/data/nureg_shop/lib/local',
>> 'PERL_MB_OPT' => '--install_base /web/data/nureg_shop/lib/local',
>> 'PERL5LIB' =>
>> '/web/data/nureg_shop/lib/local/lib/perl5:/web/data/nureg_shop/lib',
>> 'PATH' =>
>> '/web/data/nureg_shop/lib/local/bin:/web/local/bin:/usr/local/sbin:/usr/loc
>> al/bin:/usr/sbin:/usr/bin:/sbin:/bin',
>> };
>>
>> local::lib is in '/web/data/nureg_shop/lib/local'
>>
>> When I "make test" Embperl 2.5.0_4, i get:
>>
>> ----------------- make test -------------- Performing httpd syntax check 1 ... ok
>> Performing httpd syntax check 2 ... ok
>> Starting httpd...
>> [Mon Jul 15 10:28:35 2013] [error] Can't locate Apache2/ServerRec.pm in
>> @INC (@INC contains: /web/local/src/Embperl-2.5.0_4/eg/forms
>> /web/local/src/Embperl-2.5.0_4/blib/arch /web/local/src/Embperl-
>> 2.5.0_4/blib/lib . /etc/perl /usr/local/lib/perl/5.14.2
>> /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14
>> /usr/share/perl/5.14 /usr/local/lib/site_perl /web/local/src/Embperl-
>> 2.5.0_4/test) at /web/local/src/Embperl-2.5.0_4/blib/lib/Embperl.pm line
>> 75.\nCompilation failed in require at /web/local/src/Embperl-
>> 2.5.0_4/test/conf/startup.pl line 72.\nBEGIN failed--compilation aborted at
>> /web/local/src/Embperl-2.5.0_4/test/conf/startup.pl line 72.\nCompilation
>> failed in require at (eval 2) line 1.\n [Mon Jul 15 10:28:35 2013] [error] Can't
>> load Perl file: /web/local/src/Embperl-2.5.0_4/test/conf/startup.pl for server
>> localhost:0, exiting...
>> Cannot open test/tmp/httpd.pid at test.pl line 2878.
>> Test terminated with fatal error
>> ----------------------------------------------
>>
>>
>> When I add "use local::lib '/web/data/nureg_shop/lib/local"; ' to
>> /web/local/src/Embperl-2.5.0_4/test/conf/startup.pl, it works, but fails later:
>> ----------------- make test -------------- Testing cgi mode...
>> #0 ascii... ok
>> #1 pure.htm...
>> [-1][Mon Jul 15 10:30:12 2013] [error] [client 127.0.0.1] [16430]ERR: 66:
>> Embperl Session handling DISABLED because of the following error: Can't
>> locate Apache/SessionX.pm in @INC (@INC contains:
>> /web/local/src/Embperl-2.5.0_4/blib/arch /web/local/src/Embperl-
>> 2.5.0_4/blib/lib /web/local/src/Embperl-2.5.0_4/eg/forms /etc/perl
>> /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5
>> /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14
>> /usr/local/lib/site_perl .) at (eval 1) line 2.
>> [-2][Mon Jul 15 10:30:12 2013] [error] [client 127.0.0.1] [-3][Mon Jul 15
>> 10:30:12 2013] [error] [client 127.0.0.1] Set
>> EMBPERL_SESSION_HANDLER_CLASS to 'no' to avoid this message.
>> Input: test/html/pure.htm
>> Output: test/tmp/out.htm
>> Log: test/tmp/test.log
>> ----------------------------------------------
>>
>> I did not find a quick way to fix that (for my setup)
>>
>> After I installed embperl, it works as expected (because I have a "use
>> local::lib" in startup.pl...)
>>
>>
>> To sum it up, the question is: why does the "make test" ignore BASHs
>> environment PERL5LIB?
>>
>>
>>
>> With best regards,
>>
>> Dirk Melchers
>> /// IT/Software-Development ///
>>
>> NUREG GmbH ///
>> Dorfäckerstraße 31 | 90427 Nürnberg | Germany Tel. +49-911-32002-256 |
>> Fax +49-911-32002-299 Mobil +49-172-9354670 | www.nureg.de Nürnberg
>> HRB 22653 | USt.ID DE 814 685 653
>> Geschäftsführer: Michael Schmidt, Stefan Boas
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
>> For additional commands, e-mail: embperl-help@perl.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org