Opened 10 years ago
Last modified 10 years ago
#46764 closed defect
mod_perl: obsolete outdated/unmaintained port, not compatible with perl5.16+ — at Initial Version
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
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-libapr and remove optional support for it in other ports such as p5-html-mason.
Mavericks build log attached.
Build log showing failure