mod_wsgiの最新のソースをhttps://code.google.com/p/modwsgi/source/checkoutからダウンロードしましたが、Apache2.2およびPython3.2を使用してWindowsでコンパイルできません。は未定義であるため、いくつかの未定義の変数がありMOD_WSGI_WITH_DAEMONS
ます。は0でMOD_WSGI_WITH_DAEMONS
あるため、は未定義です。APR_HAS_FORK
「mod_wsgi.c」の場合:
#if APR_HAS_OTHER_CHILD && APR_HAS_THREADS && APR_HAS_FORK
#define MOD_WSGI_WITH_DAEMONS 1
#endif
...
#if defined(MOD_WSGI_WITH_DAEMONS)
...
static WSGIDaemonProcess *wsgi_daemon_process = NULL;
...
#endif
「apr.h」の場合:
#define APR_HAS_FORK 0
Windows用のApache2.2とPython3.2でmod_wsgiをコンパイルする可能性はありますか?もしそうなら、どのように?
アップデート:
デフォルトのブランチの「wsgi_apache.h」では、次のようになります。
#if (APR_MAJOR_VERSION == 0) && \
(APR_MINOR_VERSION == 9) && \
(APR_PATCH_VERSION < 5)
extern apr_status_t wsgi_apr_unix_file_cleanup(void *);
extern apr_status_t wsgi_apr_os_pipe_put_ex(apr_file_t **, apr_os_file_t *,
int, apr_pool_t *);
#define apr_unix_file_cleanup wsgi_apr_unix_file_cleanup
#define apr_os_pipe_put_ex wsgi_apr_os_pipe_put_ex
#endif
しかし、「apr_version.h」では:
#define APR_MAJOR_VERSION 1
...
#define APR_MINOR_VERSION 4
...
#define APR_PATCH_VERSION 5
したがってapr_unix_file_cleanup
、定義されません。
Windows 7(x64)でApache2.2.22とPython3.2.3を使用しています。
最新のmod_wsgi-3.Xは「.so」ファイルにコンパイルできますが、次のエラーが発生します。
mod_wsgi.so.manifest : general error c1010070: Failed to load and parse the manifest. The system cannot find the file specified.
これが気になります。これが本当の問題かどうかはわかりません。
また、mod_wsgiモジュールをロードできません。Apacheのエラーログには次のように書かれています。
Fatal Python error: Py_Initialize: can't initialize sys standard streams
LookupError: unknown encoding: cp0
[Sat May 05 18:35:43 2012] [crit] (OS 1813)The specified resource type cannot be found in the image file. : master_main: create child process failed. Exiting.
私はこれを見つけました:http://bugs.python.org/review/6501/diff/2518/6050。問題が発生する可能性があります。わからない。