Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 30087 - perl 5.8.1-r1 breaks refuses to build mod_perl-1.99.09
Summary: perl 5.8.1-r1 breaks refuses to build mod_perl-1.99.09
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Robert Coie (RETIRED)
Depends on:
Reported: 2003-10-01 10:40 UTC by Haroon Rafique
Modified: 2003-12-21 22:25 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---

patch to enable version bump from mod_perl 1.99.09 to 1.99.10 (mod_perl-09-to-10.diff,804 bytes, patch)
2003-10-01 10:42 UTC, Haroon Rafique
Details | Diff
emerge --info output (emerge_info.txt,1.63 KB, text/plain)
2003-10-01 10:43 UTC, Haroon Rafique

Note You need to log in before you can comment on or make changes to this bug.
Description Haroon Rafique 2003-10-01 10:40:27 UTC
I had a working install of perl-5.8.0-r12/mod_perl-1.99.09.
Recently upgraded from perl-5.8.0-r12 to 5.8.1-r1 which broke mod_perl.
Usual course of action, of course, is to rebuild mod_perl whenever
you build perl. However, mod_perl-1.99.09 refuses to build with the
new perl. 

The output of the build is as follows (snipped for brevity):

chmod 755 ../../../blib/arch/Apache2/auto/ModPerl/Util/
make[3]: Leaving directory `/var/tmp/portage/mod_perl-1.99.09/work/mod_perl-1.99_09/WrapXS/ModPerl/Util'
make[2]: Leaving directory `/var/tmp/portage/mod_perl-1.99.09/work/mod_perl-1.99_09/WrapXS/ModPerl'
make[1]: Leaving directory `/var/tmp/portage/mod_perl-1.99.09/work/mod_perl-1.99_09/WrapXS'

!!! ERROR: dev-perl/mod_perl-1.99.09 failed.
!!! Function src_compile, Line 69, Exitcode 2
!!! (no error message)

As you can see it offers no clues. I cd'ed into the work directory:

cd /var/tmp/portage/mod_perl-1.99.09/work/mod_perl-1.99_09

and issued:


which produced this:

cd "src/modules/perl" && make -f Makefile.modperl
make[1]: Entering directory `/var/tmp/portage/mod_perl-1.99.09/work/mod_perl-1.99_09/src/modules/perl'
rm -f
ld -shared -L/usr/local/lib \
mod_perl.lo modperl_interp.lo modperl_tipool.lo modperl_log.lo modperl_config.lo modperl_cmd.lo modperl_options.lo modperl_callback.lo modperl_handler.lo modperl_gtop.lo modperl_util.lo modperl_io.lo modperl_filter.lo modperl_bucket.lo modperl_mgv.lo modperl_pcw.lo modperl_global.lo modperl_env.lo modperl_cgi.lo modperl_perl.lo modperl_perl_global.lo modperl_perl_pp.lo modperl_sys.lo modperl_module.lo modperl_svptr_table.lo modperl_const.lo modperl_constants.lo modperl_apache_compat.lo modperl_hooks.lo modperl_directives.lo modperl_flags.lo modperl_xsinit.lo  -rdynamic  -L/usr/local/lib /usr/lib/perl5/5.8.1/i686-linux/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.8.1/i686-linux/CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lc \
ld: bad -rpath option
make[1]: *** [] Error 1
make[1]: Leaving directory `/var/tmp/portage/mod_perl-1.99.09/work/mod_perl-1.99_09/src/modules/perl'
make: *** [modperl_lib] Error 2

Any way, to get things going. I was able to get mod_perl-1.99.10 built with minimum fuss. I will attach a patch which enables the tests to pass in 1.99.10
Comment 1 Haroon Rafique 2003-10-01 10:42:26 UTC
Created attachment 18569 [details, diff]
patch to enable version bump from mod_perl 1.99.09 to 1.99.10

One of the files does not have a end of line, so force newlines by using
Comment 2 Haroon Rafique 2003-10-01 10:43:31 UTC
Created attachment 18570 [details]
emerge --info output
Comment 3 Shaun Guth 2003-10-01 14:59:29 UTC
The proposed fix works for me as well
Comment 4 Haroon Rafique 2003-10-02 07:10:26 UTC
FYI, the "echo" fixes that are in the current 1.99.09 ebuild and in
patch 18569 have been reported upstream to mod_perl developers. They
should shortly appear in the mod_perl CVS sources and in 1.99.11-dev.
So, when 1.99.11 comes out, we can safely take out the "echo" fixes
from the ebuils. I will however confirm this when the source changes
do make it upstream.
Comment 5 Haroon Rafique 2003-10-03 09:47:04 UTC
The echo fixes mentioned in comment 4, and also present in attachment 18569 [details, diff],
and in the current ebuild have made it upstream in CVS. I presume that starting
form 1.99.11 we won't need the fixes to be present in the ebuild.
Comment 6 Stephane Loeuillet 2003-10-05 18:48:55 UTC
dupe ?
Comment 7 Zack Gilburd (RETIRED) gentoo-dev 2003-10-28 00:34:57 UTC
Problem with proposed patch... running ebuild mod_perl-1.99.10.ebuild compile
turned up this set of errors.

*** root mode: changing the files ownership to 'nobody' (65534:65534)
*** sudo -u '#65534' /usr/bin/perl -e 'print -r "/var/tmp/portage/mod_perl-1.99.10/work/mod_perl-1.99_10/t"
&&  -w _ && -x _ ? "OK" : "NOK"'

sh: line 1: sudo: command not found
*** result: 
!!! You are running the test suite under user 'root'.
Apache cannot spawn child processes as 'root', therefore
we attempt to run the test suite with user 'nobody' (65534:65534).
The problem is that the path:
must be 'rwx' by user 'nobody', so Apache can read and write under that

There several ways to resolve this issue. For example move 
'/var/tmp/portage/mod_perl-1.99.10/work/mod_perl-1.99_10/t' to '/tmp/' and
repeat the 'make test' phase. 

You can test whether the location is good by running the following test:
  % sudo -u '#65534' /usr/bin/perl -e 'print -r "/var/tmp/portage/mod_perl-1.99.10/work/mod_perl-1.99_10/t"
&&  -w _ && -x _ ? "OK" : "NOK"'

make: *** [run_tests] Error 127

Comment 8 Zack Gilburd (RETIRED) gentoo-dev 2003-10-28 00:40:45 UTC
After emerging sudo, the tests are running fine.  May one thus conclude that
sudo should therein be a dep of mod_perl?  Seems silly to me, but hey if
that's what it takes, then that's what it takes.
Comment 9 Robert Coie (RETIRED) gentoo-dev 2003-10-30 17:01:52 UTC
I had to disable attempted removal of the, because it was sandboxing,
.10 is in the tree.  Thanks to all.
Comment 10 Stephane Loeuillet 2003-11-15 04:34:54 UTC
perl 5.8.2 and mod_perl 1.99.10 works well together. closing this one ?
Comment 11 Robert Coie (RETIRED) gentoo-dev 2003-12-21 22:25:01 UTC
Marking fixed.