#46764 closed defect (fixed)
mod_perl: obsolete outdated/unmaintained port, not compatible with perl5.16+
Reported by: | dbevans (David B. Evans) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt), mojca (Mojca Miklavec) | |
Port: | mod_perl |
Description (last modified by dbevans (David B. Evans))
mod_perl (version 1.x) fails to build with perl5.16 as follows
/usr/bin/clang -O3 -I/opt/local/lib/perl5/5.16.3/darwin-thread-multi-2level/CORE -pipe -Os -fno-common -DPERL_DARWIN -I/opt/local/include -fno-strict-aliasing -fstack-protector -I/opt/local/include -DMOD_PERL_VERSION=\"1.31\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.31\" -DMOD_PERL_PREFIX=\"/opt/local/lib/perl5/site_perl/5.16.3/darwin-thread-multi-2level\" -I/opt/local/include/httpd -DMOD_PERL -DDARWIN -DUSE_HSREGEX -pipe -Os -std=c89 -arch x86_64 -c perlio.c && mv perlio.o perlio.lo /usr/bin/clang -O3 -I/opt/local/lib/perl5/5.16.3/darwin-thread-multi-2level/CORE -pipe -Os -fno-common -DPERL_DARWIN -I/opt/local/include -fno-strict-aliasing -fstack-protector -I/opt/local/include -DMOD_PERL_VERSION=\"1.31\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.31\" -DMOD_PERL_PREFIX=\"/opt/local/lib/perl5/site_perl/5.16.3/darwin-thread-multi-2level\" -I/opt/local/include/httpd -DMOD_PERL -DDARWIN -DUSE_HSREGEX -pipe -Os -std=c89 -arch x86_64 -c mod_perl_opmask.c && mv mod_perl_opmask.o mod_perl_opmask.lo perl_util.c:673:5: error: use of undeclared identifier 'PL_uid' uid = (int)getuid(); ^ ./perl_PL.h:68:13: note: expanded from macro 'uid' #define uid PL_uid ^ perl_util.c:674:5: error: use of undeclared identifier 'PL_euid' euid = (int)geteuid(); ^ ./perl_PL.h:47:14: note: expanded from macro 'euid' #define euid PL_euid ^ perl_util.c:675:5: error: use of undeclared identifier 'PL_gid' gid = (int)getgid(); ^ ./perl_PL.h:50:13: note: expanded from macro 'gid' #define gid PL_gid ^ perl_util.c:676:5: error: use of undeclared identifier 'PL_egid' egid = (int)getegid(); ^ ./perl_PL.h:38:14: note: expanded from macro 'egid' #define egid PL_egid ^ perl_util.c:761:mod_perl.c:525:28: warning: 34: warning: invalid conversion specifier '_' [-Wformat-invalid-specifier] invalid conversion specifier '_' [-Wformat-invalid-specifier] sv_catpvf(fake, " at %_ line ", GvSV(CopFILEGV(curcop))); ~^ fprintf(stderr, "%s", form("%_ is version %_\n", ~^ mod_perl.c:525:48: warning: invalid conversion specifier '_' [-Wformat-invalid-specifier] fprintf(stderr, "%s", form("%_ is version %_\n", ~^ mod_perl.c:536:22: warning: invalid conversion specifier '_' [-Wformat-invalid-specifier] sv_setpvf(namesv, "%_/Apache.pm", dir); ~^ 1 warning and 4 errors generated. mod_perl.c:562:31: warning: invalid conversion specifier 'v' [-Wformat-invalid-specifier] char *version = form("Perl/v%vd", PL_patchlevel); ~^ make[1]: *** [perl_util.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... mod_perl.c:788:15: error: expression is not assignable GvCV(exitgp) = perl_get_cv("Apache::exit", TRUE); ~~~~~~~~~~~~ ^ perl_config.c:1723:22: error: expression is not assignable CvGV(cv) = gv; ~~~~~~~~ ^ 1 error generated. make[1]: Entering directory `/opt/local/var/macports/build/_opt_macports_trunk_dports_www_mod_perl/mod_perl/work/mod_perl-1.31/Apache' make[1]: *** [perl_config.lo] Error 1 4 warnings and 1 error generated.
The undeclared identifiers mentioned were removed from perl in perl5.16.
See upstream bug report RT #77129 for this problem against mod_perl 2.0.6. Although a patch was proposed to fix the problem and incorporated into mod_perl 2.x, it was never backported to mod_perl 1.x.
I've tried the patch as given against mod_perl, but it fixes only a portion of the problems associated with these missing identifiers.
Unless there is someone who really needs this port and is willing to take maintainership and make it work with current perl versions, I see no point in carrying it further and propose to remove it and it sole dependency p5-libapreq and remove optional support for it in other ports such as p5-html-mason.
Mavericks build log attached.
Attachments (1)
Change History (6)
Changed 10 years ago by dbevans (David B. Evans)
comment:1 follow-up: 3 Changed 10 years ago by mojca (Mojca Miklavec)
Which also makes p5-libapreq
useless, right?
Unless there is someone who really needs this port and is willing to take maintainership and make it work with current perl versions, I see no point in carrying it further
I fully agree.
Ryan wanted to keep support for Apache 1. Ryan, are you still willing to take over these three broken ports (apache
, mod_perl
, p5-libapreq
)?
comment:2 Changed 10 years ago by dbevans (David B. Evans)
Description: | modified (diff) |
---|
comment:3 Changed 10 years ago by dbevans (David B. Evans)
Replying to mojca@…:
Which also makes
p5-libapreq
useless, right?
That's what I meant to say (typo).
Unless there is someone who really needs this port and is willing to take maintainership and make it work with current perl versions, I see no point in carrying it further
I fully agree.
Ryan wanted to keep support for Apache 1. Ryan, are you still willing to take over these three broken ports (
apache
,mod_perl
,p5-libapreq
)?
mod_perl, p5-libapreq are not requirements for keeping Apache 1: they are optional extensions. I have no problem keeping Apache 1 as long as it works.
comment:4 Changed 10 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Build log showing failure