On Fri, Jan 26, 2018 at 4:11 PM, Ruediger Pluem <[email protected]> wrote:
>
> When I try to start httpd I get
>
> Cannot load modules/mod_mpm_event.so into server: 
> /usr/src/apache/apache_trunk/modules/mod_mpm_event.so: undefined
> symbol: ap_queue_info_wait_for_idler

Why this one is particular (and not the other ap_queue*() functions)???

>
> Index: server/mpm_fdqueue.c
> ===================================================================
> --- server/mpm_fdqueue.c        (revision 1822275)
> +++ server/mpm_fdqueue.c        (working copy)
> @@ -145,7 +145,7 @@
>      }
>  }
>
> -apr_status_t ap_queue_info_wait_for_idler(fd_queue_info_t *queue_info,
> +AP_DECLARE(apr_status_t) ap_queue_info_wait_for_idler(fd_queue_info_t 
> *queue_info,
>                                            int *had_to_block)
>  {
>      apr_status_t rv;
> Index: server/mpm_fdqueue.h MPM
> ===================================================================
> --- server/mpm_fdqueue.h        (revision 1822275)
> +++ server/mpm_fdqueue.h        (working copy)
> @@ -51,7 +51,7 @@
>  apr_status_t ap_queue_info_set_idle(fd_queue_info_t *queue_info,
>                                      apr_pool_t *pool_to_recycle);
>  apr_status_t ap_queue_info_try_get_idler(fd_queue_info_t *queue_info);
> -apr_status_t ap_queue_info_wait_for_idler(fd_queue_info_t *queue_info,
> +AP_DECLARE(apr_status_t) ap_queue_info_wait_for_idler(fd_queue_info_t 
> *queue_info,
>                                            int *had_to_block);
>  apr_uint32_t ap_queue_info_num_idlers(fd_queue_info_t *queue_info);
>  apr_status_t ap_queue_info_term(fd_queue_info_t *queue_info);

I really makes few sense to me, and smells something like
"-Wl,--whole-archive,-lmain,--no-whole-archive" is missing at link
time. Without it, libtool (or?) seems to have some heuristic to detect
whether the functions are "really" used and does not include them
otherwise.
It bit me quite somes times already (not in httpd, though), and never
really understood why...
I'{d,ll} try this for testing...


Regards,
Yann.

Reply via email to