И вот как я смог решить эту проблему (мне пришлось применить два решения, как указано ниже).
Решение 1 (Спасибо Грэму Дамплтону)
Неизмените что-либо в Apache Code.
Перейдите в исходный код mod_wsgi.c и измените:
/ * * Очистите табло Apache, чтобы гарантировать, что любые * сегменты общей памяти или файлы с отображенной памятью * не доступныкодировать в процессах демона.* /
ap_cleanup_scoreboard (0);
до
#if 0
/*
* Cleanup the Apache scoreboard to ensure that any
* shared memory segments or memory mapped files not
* available to code in daemon processes.
*/
ap_cleanup_scoreboard(0);
#endif
, а затем найдите:
#if !defined(AP_ACCEPT_MUTEX_TYPE)
sconfig->lock_mechanism = ap_accept_lock_mech;
#else
sconfig->lock_mechanism = APR_LOCK_DEFAULT;
#endif
и измените его на:
#define AP_ACCEPT_MUTEX_TYPE 1
#if !defined(AP_ACCEPT_MUTEX_TYPE)
sconfig->lock_mechanism = ap_accept_lock_mech;
#else
sconfig->lock_mechanism = APR_LOCK_DEFAULT;
#endif
Затем скомпилируйте mod_wsgi
Решение 2 (Спасибо Джеффу Трауику из Apache)
Извлеките архив с исходными файлами tar из каталога ..... cd в этот каталог
Найдите файл include / mpm_common.h
Change
extern apr_lockmech_e ap_accept_lock_mech;
to
AP_DECLARE_DATA extern apr_lockmech_e ap_accept_lock_mech;
Найдите файл include / Scoreboard.h
Change
apr_status_t ap_cleanup_scoreboard(void *d);
to
AP_DECLARE(apr_status_t) ap_cleanup_scoreboard(void *d);
И затем введите следующие команды
./configure
make
После этого шага в каталоге сервера будет создан файл httpd.exp, а в текущем каталоге - файл httpd
remove httpd
edit server / httpd.expи добавьте одну строку для ap_accept_lock_mech
make
make install (as root)
Затем соберите mod_wsgi 3.3 из Source Tarball
Я надеюсь, что это поможет другим, сталкивающимся с той же проблемой.