1 year ago
#177585
Salvatore Facista
Installation errors with old version of mod_perl (2.0.3) with Apache 2.2.25 on Debian10
I am trying to mirror the Ensembl using these instructions: https://www.ensembl.org/info/docs/webcode/mirror/install/non-ensembl-code.html#apache
They recommend specific versions of mod_perl and Apache2. My system is an AWS Debian 10 instance.
I can successfully install Apache2, but when issuing the following commands, I get errors in what appears to be the compilation of mod_perl from source.
sudo apt install git
git --version
sudo apt install gnupg
cd /tmp; wget https://dev.mysql.com/get/mysql-apt-config_0.8.20-1_all.deb
sudo dpkg -i mysql-apt-config*
sudo apt update
sudo apt install mysql-server
sudo systemctl status mysql
#if you need C compiler & zlib development lib
sudo apt-get install build-essential
sudo apt-get install zlib1g-dev/oldstable
#Apache2 install instructions and where to DL mod_perl
cd /tmp; wget https://archive.apache.org/dist/httpd/httpd-2.2.25.tar.gz
wget https://archive.apache.org/dist/perl/mod_perl-2.0.3.tar.gz
tar zxf httpd-2.2.25.tar.gz
tar zxf mod_perl-2.0.3.tar.gz
cd httpd-2.2.25
#PREFIX will default to /usr/local/apache2 if not specified
./configure \
--enable-deflate \
--enable-headers \
--enable-expires \
--enable-rewrite \
--enable-proxy \
--enable-proxy-http \
--enable-unique-id;
cd ../mod_perl-2.0.3
perl Makefile.PL PREFIX=/usr/local/apache2/ MP_APXS=/usr/local/apache2/bin/apxs/
make
Resulting in the following error:
cd "src/modules/perl" && make
make[1]: Entering directory '/tmp/mod_perl-2.0.3/src/modules/perl'
x86_64-linux-gnu-gcc -I/tmp/mod_perl-2.0.3/src/modules/perl -I/tmp/mod_perl-2.0.3/xs -I/usr/local/apache2/include -I/usr/local/apache2/include -I/usr/local/apache2/include -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/lib/x86_64-linux-gnu/perl/5.28/CORE -DMOD_PERL -DMP_COMPAT_1X -DLINUX -O2 -g -fPIC \
-c mod_perl.c && mod_perl.o mod_perl.lo
In file included from mod_perl.h:95,
from mod_perl.c:17:
modperl_debug.h:23:17: warning: inline function ‘modperl_pid_tid’ declared but never defined
MP_INLINE char *modperl_pid_tid(apr_pool_t *p);
^~~~~~~~~~~~~~~
In file included from mod_perl.h:91,
from mod_perl.c:17:
modperl_cgi.h:35:15: warning: inline function ‘modperl_cgi_header_parse’ declared but never defined
MP_INLINE int modperl_cgi_header_parse(request_rec *r, char *buffer,
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from mod_perl.h:85,
from mod_perl.c:17:
modperl_filter.h:105:24: warning: inline function ‘modperl_input_filter_write’ declared but never defined
MP_INLINE apr_status_t modperl_input_filter_write(pTHX_
^~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_filter.h:100:22: warning: inline function ‘modperl_input_filter_read’ declared but never defined
MP_INLINE apr_size_t modperl_input_filter_read(pTHX_
^~~~~~~~~~~~~~~~~~~~~~~~~
modperl_filter.h:82:24: warning: inline function ‘modperl_output_filter_write’ declared but never defined
MP_INLINE apr_status_t modperl_output_filter_write(pTHX_
^~~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_filter.h:77:22: warning: inline function ‘modperl_output_filter_read’ declared but never defined
MP_INLINE apr_size_t modperl_output_filter_read(pTHX_
^~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_filter.h:74:24: warning: inline function ‘modperl_input_filter_flush’ declared but never defined
MP_INLINE apr_status_t modperl_input_filter_flush(modperl_filter_t *filter);
^~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_filter.h:73:24: warning: inline function ‘modperl_output_filter_flush’ declared but never defined
MP_INLINE apr_status_t modperl_output_filter_flush(modperl_filter_t *filter);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_filter.h:44:24: warning: inline function ‘modperl_wbucket_write’ declared but never defined
MP_INLINE apr_status_t modperl_wbucket_write(pTHX_
^~~~~~~~~~~~~~~~~~~~~
modperl_filter.h:41:24: warning: inline function ‘modperl_wbucket_flush’ declared but never defined
MP_INLINE apr_status_t modperl_wbucket_flush(modperl_wbucket_t *b,
^~~~~~~~~~~~~~~~~~~~~
modperl_filter.h:37:24: warning: inline function ‘modperl_wbucket_pass’ declared but never defined
MP_INLINE apr_status_t modperl_wbucket_pass(modperl_wbucket_t *b,
^~~~~~~~~~~~~~~~~~~~
In file included from mod_perl.h:83,
from mod_perl.c:17:
modperl_io.h:60:16: warning: inline function ‘modperl_io_perlio_restore_stdout’ declared but never defined
MP_INLINE void modperl_io_perlio_restore_stdout(pTHX_ GV *handle);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_io.h:58:16: warning: inline function ‘modperl_io_perlio_restore_stdin’ declared but never defined
MP_INLINE void modperl_io_perlio_restore_stdin(pTHX_ GV *handle);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_io.h:56:15: warning: inline function ‘modperl_io_perlio_override_stdout’ declared but never defined
MP_INLINE GV *modperl_io_perlio_override_stdout(pTHX_ request_rec *r);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_io.h:54:15: warning: inline function ‘modperl_io_perlio_override_stdin’ declared but never defined
MP_INLINE GV *modperl_io_perlio_override_stdin(pTHX_ request_rec *r);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_io.h:52:16: warning: inline function ‘modperl_io_handle_untie’ declared but never defined
MP_INLINE void modperl_io_handle_untie(pTHX_ GV *handle);
^~~~~~~~~~~~~~~~~~~~~~~
modperl_io.h:50:15: warning: inline function ‘modperl_io_handle_tied’ declared but never defined
MP_INLINE int modperl_io_handle_tied(pTHX_ GV *handle, char *classname);
^~~~~~~~~~~~~~~~~~~~~~
modperl_io.h:48:15: warning: inline function ‘modperl_io_tie_stdin’ declared but never defined
MP_INLINE GV *modperl_io_tie_stdin(pTHX_ request_rec *r);
^~~~~~~~~~~~~~~~~~~~
modperl_io.h:46:15: warning: inline function ‘modperl_io_tie_stdout’ declared but never defined
MP_INLINE GV *modperl_io_tie_stdout(pTHX_ request_rec *r);
^~~~~~~~~~~~~~~~~~~~~
modperl_io.h:44:16: warning: inline function ‘modperl_io_handle_tie’ declared but never defined
MP_INLINE void modperl_io_handle_tie(pTHX_ GV *handle,
^~~~~~~~~~~~~~~~~~~~~
In file included from modperl_io.h:20,
from mod_perl.h:83,
from mod_perl.c:17:
modperl_io_apache.h:57:19: warning: inline function ‘modperl_request_read’ declared but never defined
MP_INLINE SSize_t modperl_request_read(pTHX_ request_rec *r,
^~~~~~~~~~~~~~~~~~~~
modperl_io_apache.h:37:16: warning: inline function ‘modperl_io_apache_init’ declared but never defined
MP_INLINE void modperl_io_apache_init(pTHX);
^~~~~~~~~~~~~~~~~~~~~~
In file included from mod_perl.h:76,
from mod_perl.c:17:
modperl_handler.h:47:23: warning: inline function ‘modperl_handler_name’ declared but never defined
MP_INLINE const char *modperl_handler_name(modperl_handler_t *handler);
^~~~~~~~~~~~~~~~~~~~
modperl_handler.h:29:15: warning: inline function ‘modperl_handler_anon_get’ declared but never defined
MP_INLINE CV *modperl_handler_anon_get(pTHX_ modperl_mgv_t *anon);
^~~~~~~~~~~~~~~~~~~~~~~~
modperl_handler.h:28:16: warning: inline function ‘modperl_handler_anon_add’ declared but never defined
MP_INLINE void modperl_handler_anon_add(pTHX_ modperl_mgv_t *anon, CV *cv);
^~~~~~~~~~~~~~~~~~~~~~~~
modperl_handler.h:27:26: warning: inline function ‘modperl_handler_anon_next’ declared but never defined
MP_INLINE modperl_mgv_t *modperl_handler_anon_next(pTHX_ apr_pool_t *p);
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from mod_perl.h:73,
from mod_perl.c:17:
modperl_util.h:88:15: warning: inline function ‘modperl_perl_module_loaded’ declared but never defined
MP_INLINE int modperl_perl_module_loaded(pTHX_ const char *name);
^~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_util.h:82:15: warning: inline function ‘modperl_dir_config’ declared but never defined
MP_INLINE SV *modperl_dir_config(pTHX_ request_rec *r, server_rec *s,
^~~~~~~~~~~~~~~~~~
modperl_util.h:64:16: warning: inline function ‘modperl_perl_av_push_elts_ref’ declared but never defined
MP_INLINE void modperl_perl_av_push_elts_ref(pTHX_ AV *dst, AV *src);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_util.h:47:15: warning: inline function ‘modperl_ptr2obj’ declared but never defined
MP_INLINE SV *modperl_ptr2obj(pTHX_ char *classname, void *ptr);
^~~~~~~~~~~~~~~
modperl_util.h:45:15: warning: inline function ‘modperl_newSVsv_obj’ declared but never defined
MP_INLINE SV *modperl_newSVsv_obj(pTHX_ SV *stashsv, SV *obj);
^~~~~~~~~~~~~~~~~~~
modperl_util.h:41:24: warning: inline function ‘modperl_sv2request_rec’ declared but never defined
MP_INLINE request_rec *modperl_sv2request_rec(pTHX_ SV *sv);
^~~~~~~~~~~~~~~~~~~~~~
modperl_util.h:40:23: warning: inline function ‘modperl_sv2server_rec’ declared but never defined
MP_INLINE server_rec *modperl_sv2server_rec(pTHX_ SV *sv);
^~~~~~~~~~~~~~~~~~~~~
In file included from modperl_util.h:20,
from mod_perl.h:73,
from mod_perl.c:17:
modperl_common_util.h:97:26: warning: inline function ‘modperl_uri_new’ declared but never defined
MP_INLINE modperl_uri_t *modperl_uri_new(apr_pool_t *p);
^~~~~~~~~~~~~~~
modperl_common_util.h:94:15: warning: inline function ‘modperl_perl_sv_setref_uv’ declared but never defined
MP_INLINE SV *modperl_perl_sv_setref_uv(pTHX_ SV *rv,
^~~~~~~~~~~~~~~~~~~~~~~~~
modperl_common_util.h:91:17: warning: inline function ‘modperl_hash_tied_object’ declared but never defined
MP_INLINE void *modperl_hash_tied_object(pTHX_ const char *classname,
^~~~~~~~~~~~~~~~~~~~~~~~
modperl_common_util.h:87:15: warning: inline function ‘modperl_hash_tied_object_rv’ declared but never defined
MP_INLINE SV *modperl_hash_tied_object_rv(pTHX_
^~~~~~~~~~~~~~~~~~~~~~~~~~~
modperl_common_util.h:83:15: warning: inline function ‘modperl_hash_tie’ declared but never defined
MP_INLINE SV *modperl_hash_tie(pTHX_ const char *classname,
^~~~~~~~~~~~~~~~
/bin/sh: 2: mod_perl.o: not found
make[1]: *** [Makefile:112: mod_perl.lo] Error 127
make[1]: Leaving directory '/tmp/mod_perl-2.0.3/src/modules/perl'
make: *** [Makefile:453: modperl_lib] Error 2
I am not very skilled with Perl or C, but I think it is wrapping the compiling process. I do not know if the inline function warnings are important. I do know that the final (3) lines are important. Has anyone seen such an error with mod_perl, or can someone explain what I might want to check next?
Thanks for looking at the problem!
c
perl
apache2
mod-perl
0 Answers
Your Answer