You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Mohit Anchlia <mo...@gmail.com> on 2010/12/21 01:07:06 UTC

Re: Building and installing mod_perl as a complete package

I created a rpm for the files in DESTDIR but when I tried to install I see:

rpm -ivh mod-perl-2.0.4-rpm.rpm
error: Failed dependencies:
        perl(Apache2::FunctionTable) is needed by mod-perl-2.0.4-1.noarch
        perl(Apache2: StructureTable) is needed by mod-perl-2.0.4-1.noarch
        perl(Apache::TestConfigParse) is needed by mod-perl-2.0.4-1.noarch
        perl(Apache::TestConfigPerl) is needed by mod-perl-2.0.4-1.noarch
        perl(BSD::Resource) is needed by mod-perl-2.0.4-1.noarch
        perl(Data::Flow) is needed by mod-perl-2.0.4-1.noarch
        perl(Module::Build) >= 0.18 is needed by mod-perl-2.0.4-1.noarch

Then I looked inside the source directory and it looks like for eg
StructureTable is not in DESTDIR. And also when I installed with
--nodeps and tested my code it seems to work fine. I am confused if
the above are needed or not?

2010/12/14 Torsten Förtsch <to...@gmx.net>:
> On Tuesday, December 14, 2010 23:17:10 Mohit Anchlia wrote:
>> Thanks! So for eg: DESTDIR needs to be given in make install or with
>> make perl Makefile.PL?
>
> the former
>
> Torsten Förtsch
>
> --
> Need professional modperl support? Hire me! (http://foertsch.name)
>
> Like fantasy? http://kabatinte.net
>

Re: Building and installing mod_perl as a complete package

Posted by Torsten Förtsch <to...@gmx.net>.
On Tuesday, December 21, 2010 01:07:06 Mohit Anchlia wrote:
> I created a rpm for the files in DESTDIR but when I tried to install I see:
> 
> rpm -ivh mod-perl-2.0.4-rpm.rpm
> error: Failed dependencies:
>         perl(Apache2::FunctionTable) is needed by mod-perl-2.0.4-1.noarch
>         perl(Apache2: StructureTable) is needed by mod-perl-2.0.4-1.noarch
>         perl(Apache::TestConfigParse) is needed by mod-perl-2.0.4-1.noarch
>         perl(Apache::TestConfigPerl) is needed by mod-perl-2.0.4-1.noarch
>         perl(BSD::Resource) is needed by mod-perl-2.0.4-1.noarch
>         perl(Data::Flow) is needed by mod-perl-2.0.4-1.noarch
>         perl(Module::Build) >= 0.18 is needed by mod-perl-2.0.4-1.noarch
> 
> Then I looked inside the source directory and it looks like for eg
> StructureTable is not in DESTDIR. And also when I installed with
> --nodeps and tested my code it seems to work fine. I am confused if
> the above are needed or not?

Enclosed you'll find a SPEC file that works for me. It uses perl and apache in 
/opt. Note that the install_vendor target works only if 2 conditions are met. 
Firstly, modperl trunk is used and, secondly, perl is compiled with a vendor 
path. I build RPM packages for various opensuse/sles versions. For Redhat or 
Centos your mileage may vary.

As for the error message above, Apache2::{Function,Structure}Table are modules 
used only for building modperl. They are normally not installed. 

Apache::Test... are part of Apache::Test and are needed if you want to test AT 
based modules. They are normally installed together with modperl. So, perhaps 
your %files entry is incomplete. There is an option in the RPM system that if 
set makes rpmbuild fail if there are files DESTDIR that are not covered by 
%files. On suse this (perhaps _unpackaged_files_terminate_build) is set by 
default.

BSD::Resource is not needed. modperl uses it it its test suite. But the test 
is simply skipped if it's not available. Module::Build is part of perl core 
since 5.10.0. modperl does not use it, AFAIK. Data::Flow is not installed on 
any of my build machines. So, somehow your dependencies are wrong. Do you use 
"Autoreqprov"? If yes it does not work. Otherwise check your "Requires" 
definitions.

See also: http://www.rpm.org/max-rpm/index.html

Torsten F�rtsch

-- 
Need professional modperl support? Hire me! (http://foertsch.name)

Like fantasy? http://kabatinte.net