On Tue Jun 02 15:32:00 2015, SREZIC wrote:
Show quoted text> On 2015-06-02 13:39:46, SHAY wrote:
> > On Sat Mar 21 12:52:15 2015, SREZIC wrote:
> > > After the workaround described in
> > >
https://rt.cpan.org/Ticket/Display.html?id=101144 I was able to
> > > compile mod_perl from SVN on a FreeBSD 9.2 system with perl
> > > 5.21.10.
> > > "make test" gives me the following error summary:
> > >
> > > Test Summary Report
> > > -------------------
> > > t/apache/util.t (Wstat: 0 Tests: 8 Failed: 4)
> > > Failed tests: 1-4
> > > t/api/uri.t (Wstat: 0 Tests: 12 Failed:
> > > 0)
> > > Parse errors: Bad plan. You planned 24 tests but ran 12.
> > > t/apr-ext/uri.t (Wstat: 65280 Tests: 12
> > > Failed:
> > > 0)
> > > Non-zero exit status: 255
> > > Parse errors: Bad plan. You planned 36 tests but ran 12.
> > > t/apr/uri.t (Wstat: 0 Tests: 12 Failed:
> > > 0)
> > > Parse errors: Bad plan. You planned 36 tests but ran 12.
> > > t/directive/perlloadmodule3.t (Wstat: 0 Tests: 3 Failed: 3)
> > > Failed tests: 1-3
> > > t/filter/both_str_native_remove.t (Wstat: 0 Tests: 8 Failed: 4)
> > > Failed tests: 1, 6-8
> > > t/modperl/print.t (Wstat: 0 Tests: 5 Failed: 0)
> > > Parse errors: Bad plan. You planned 6 tests but ran 5.
> > > t/modperl/printf.t (Wstat: 512 Tests: 0 Failed:
> > > 0)
> > > Non-zero exit status: 2
> > > Parse errors: No plan found in TAP output
> > > Files=252, Tests=2539, 548 wallclock secs ( 3.24 usr 1.48 sys +
> > > 356.99 cusr 76.09 csys = 437.80 CPU)
> > > Result: FAIL
> > >
> > > Attached the generated error_log.
> >
> >
> > Thanks for the report. Do you still see these errors with 2.0.9-RC2
> > and 5.22.0?
> >
> > What about with 5.20.2? (I.e. Are the errors specific to 5.22?)
>
> Compilation fails with 2.0.9-RC2 & unthreaded perl 5.22.0. I tried on
> Debian wheezy and FreeBSD 9.2:
>
> cc -I/tmp/mod_perl-2.0.9-rc2/src/modules/perl -I/tmp/mod_perl-2.0.9-
> rc2/xs -I/usr/include/apr-1.0 -I/usr/include/apr-1.0 -I/usr/include
> -I/usr/include/apache2 -fwrapv -fno-strict-aliasing -pipe -fstack-
> protector -I/usr/local/include -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -I/opt/perl-
> 5.22.0/lib/5.22.0/x86_64-linux/CORE -DMOD_PERL -DMP_COMPAT_1X -O2
> -fPIC \
> -c modperl_filter.c && mv modperl_filter.o modperl_filter.lo
> modperl_filter.c: In function 'modperl_run_filter':
> modperl_filter.c:538:17: error: unknown type name 'modperl_interp_t'
> modperl_filter.c:538:17: warning: initialization makes pointer from
> integer without a cast [enabled by default]
> modperl_filter.c:538:17: error: request for member 'refcnt' in
> something not a structure or union
> modperl_filter.c:549:9: error: unknown type name 'modperl_interp_t'
> modperl_filter.c:549:9: warning: initialization makes pointer from
> integer without a cast [enabled by default]
> modperl_filter.c:549:9: error: request for member 'refcnt' in
> something not a structure or union
> modperl_filter.c:553:9: error: unknown type name 'modperl_interp_t'
> modperl_filter.c:553:9: warning: initialization makes pointer from
> integer without a cast [enabled by default]
> modperl_filter.c:553:9: error: request for member 'refcnt' in
> something not a structure or union
> make[1]: *** [modperl_filter.lo] Error 1
> make[1]: Leaving directory `/tmp/mod_perl-2.0.9-rc2/src/modules/perl'
> make: *** [modperl_lib] Error 2
> [3] 14308
I think that was caused by r1682366 and the patch below/attached may fix it (although I can't reproduce the problem on Windows since the WinNT MPM is threaded and so requires a threaded perl):
Index: src/modules/perl/modperl_error.h
===================================================================
--- src/modules/perl/modperl_error.h (revision 1683243)
+++ src/modules/perl/modperl_error.h (working copy)
@@ -37,6 +37,7 @@
void modperl_croak(pTHX_ apr_status_t rc, const char* func);
+#ifdef USE_ITHREADS
#define MP_PUTBACK_IF_USED() STMT_START \
{ \
modperl_interp_t *interp = modperl_thx_interp_get(aTHX); \
@@ -44,6 +45,9 @@
modperl_interp_unselect(interp); \
} \
} STMT_END
+#else
+#define MP_PUTBACK_IF_USED() NOOP
+#endif
#define MP_CROAK_PUTBACK(rc, func) STMT_START \
{ \