Bug 11576

Summary: Unable to start apache with event MPM on raspberry pi 3
Product: buildroot Reporter: kurt <garnier.etienne>
Component: OtherAssignee: unassigned
Status: RESOLVED FIXED    
Severity: normal CC: buildroot, busybox-cvs
Priority: P5    
Version: 2018.11.1   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Host: Target:
Build:

Description kurt 2018-12-26 23:45:22 UTC
I'm trying to use apache with the 'event' Multi-Processing Module. Apache compile correctly but when I'm trying to start the service it ends with the following error in the log:

> [Thu Jan 01 00:00:43.624286 1970] [mpm_event:crit] [pid 173:tid 1996214272] (70023)This function has not been implemented on this platform: AH00495: Couldn't create a Thread Safe Pollset. Is it supported on your platform?Also check system or user limits!
> [Thu Jan 01 00:00:43.624555 1970] [:emerg] [pid 173:tid 1996214272] AH00017: Pre-configuration failed, exiting

I'm using the latest stable branch (2018.11.x), on a raspberry pi 3.
Comment 1 Peter Seiderer 2019-01-05 18:27:06 UTC
Apache is based on apr and apr has some configure runtime checks for some features, e.g. epoll, failing for the cross compile.

Quick test with the following (buildroot) patch enables successful apache
startup again:

diff --git a/package/apr/apr.mk b/package/apr/apr.mk
index 58b1d86b28..8f29e57c59 100644
--- a/package/apr/apr.mk
+++ b/package/apr/apr.mk
@@ -26,7 +26,12 @@ APR_CONF_ENV = \
        ac_cv_sizeof_pid_t=4 \
        ac_cv_struct_rlimit=yes \
        ac_cv_o_nonblock_inherited=no \
-       apr_cv_mutex_recursive=yes
+       apr_cv_mutex_recursive=yes \
+       apr_cv_epoll=yes \
+       apr_cv_epoll_create1=yes \
+       apr_cv_dup3=yes \
+       apr_cv_sock_cloexec=yes \
+       apr_cv_accept4=yes
 APR_CONFIG_SCRIPTS = apr-1-config
 
 # Doesn't even try to guess when cross compiling

Tested with raspberrypi3_qt5we_defconfig and the following two
additional config options:

BR2_PACKAGE_APACHE=y
BR2_PACKAGE_APACHE_MPM_EVENT=y