2

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。問題が発生する可能性があります。わからない。

4

1 に答える 1

2

最新のソースコードで再試行してください。とりあえず、デフォルトのブランチの代わりに3.Xブランチを使用することもできます。

于 2012-05-05T05:51:48.803 に答える