On 01/26/2018 04:57 PM, Yann Ylavic wrote:
> 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)???
I don't know :-)
>
>>
>> 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 guess the above causes it to be added to the generated exports.c.
>
> 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
RĂ¼diger