I wanted mod_perl on my gentoo system. It seems to be touchy about
thread safety. Well that seemed reasonable, but it failed to emerge
(gentoo-speak for "install from source"), and left me without my
favorite editor (!!!): vim.
To handle thread-safety issues, I put this in /etc/package.use:
> # perl needs threads for mod_perl to work (or else mod_perl can't have
> threads)
> # Moreover vim cannot be built unless perl and libperl have the same use flags
> dev-lang/perl ithreads -ldap perlsuid doc
> sys-devel/libperl ithreads -ldap perlsuid doc
> www-apache/mod_perl ithreads -ldap doc
The result was failure. I was not rebuilding vim, but it got killed
in the process anyway: it errors out on startup.
Moreover, I cannot re-emerge vim either, because it fails in about the
same way as mod_perl.
Both perl and libperl seem to build okay with the above lines in package-use.
My running kernel matches /usr/src/linux, so the headers should be good.
I'm looking for guidance from anyone who's using mod_perl with apache.
Here's the build log:
treat portage # cat /var/tmp/portage/www-apache/mod_perl-2.0.4-r1/temp/build.log
>>> Unpacking source...
>>> Unpacking mod_perl-2.0.4.tar.gz to
>>> /var/tmp/portage/www-apache/mod_perl-2.0.4-r1/work
* Applying mod_perl-2.0.1-sneak-tmpdir.patch ... [ ok ]
* Applying CVE-2009-0796.patch ... [ ok ]
>>> Source unpacked in /var/tmp/portage/www-apache/mod_perl-2.0.4-r1/work
>>> Compiling source in
>>> /var/tmp/portage/www-apache/mod_perl-2.0.4-r1/work/mod_perl-2.0.4 ...
Errno architecture (i686-linux-2.6.24-gentoo-r4-kosmanor) does not
match executable architecture
(i686-linux-thread-multi-2.6.28-gentoo-r5-kosmanor) at
/usr/lib/perl5/site_perl/5.8.8/Errno.pm line 11.
Compilation failed in require at /usr/lib/perl5/5.8.8/File/Path.pm line 185.
BEGIN failed--compilation aborted at /usr/lib/perl5/5.8.8/File/Path.pm line 185.
Compilation failed in require at Apache-Test/lib/Apache/TestConfig.pm line 46.
BEGIN failed--compilation aborted at
Apache-Test/lib/Apache/TestConfig.pm line 46.
Compilation failed in require at lib/ModPerl/Code.pm line 27.
BEGIN failed--compilation aborted at lib/ModPerl/Code.pm line 27.
Compilation failed in require at lib/Apache2/Build.pm line 48.
BEGIN failed--compilation aborted at lib/Apache2/Build.pm line 48.
Compilation failed in require at Makefile.PL line 36.
BEGIN failed--compilation aborted at Makefile.PL line 36.
*
* ERROR: www-apache/mod_perl-2.0.4-r1 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 2677: Called die
* The specific snippet of code:
* perl Makefile.PL PREFIX="${D}"/usr MP_TRACE=1 MP_DEBUG=1
MP_USE_DSO=1 MP_APXS=${APXS} INSTALLDIRS=vendor < /dev/null || die;
* The die message:
* (no error message)
*
* If you need support, post the topmost build error, and the call
stack if relevant.
* A complete build log is located at
'/var/tmp/portage/www-apache/mod_perl-2.0.4-r1/temp/build.log'.
* The ebuild environment file is located at
'/var/tmp/portage/www-apache/mod_perl-2.0.4-r1/temp/environment'.
*
--
Kevin O'Gorman, PhD