Скомпилируйте mod_perl2 для клубники 5.30 на windows - PullRequest
1 голос
/ 18 октября 2019

У меня проблема с компиляцией mod_perl2 для strawberry5.30 и apache2.2 в Windows.

Сведения о версии:

  • Работа:

    perl -v
    

    выводит следующую информацию о версии:

    This is perl 5, version 30, subversion 0 (v5.30.0) built for MSWin32-x86-multi-thread-64int

  • Клубника и Apache являются 32-битной версией.


Проблема:

Когда я запускаю nmake в каталоге mod_perl, он возвращает следующую ошибку:

    C:\Users\KWS\Downloads\mod_perl-2.0.11>nmake

    Narzędzie do konserwacji programów firmy Microsoft (R) 14.23.28106.4
    Copyright (C) Microsoft Corporation. Wszelkie prawa zastrzeżone.

            cd "src/modules/perl" && gmake
    gcc -IC:/Users/KWS/Downloads/mod_perl-2.0.11/src/modules/perl -IC:/Users/KWS/Downloads/mod_perl-2.0.11/xs -IC:\Apache2.2\include -I"C:\Apache2.2\include"   -IC:\Apache2.2\include -s -O2 -DWIN32 -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -I"C:\strawberry\perl\lib\CORE" -DMOD_PERL -DMP_COMPAT_1X -fgnu89-inline -s -O2  \
    -c mod_perl.c && C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mv -- mod_perl.o mod_perl.lo
    In file included from C:\Apache2.2\include/httpd.h:43,
                     from modperl_apache_includes.h:27,
                     from mod_perl.h:20,
                     from mod_perl.c:17:
    C:\Apache2.2\include/ap_config.h:234:10: fatal error: ap_config_auto.h: No such file or directory
     #include "ap_config_auto.h"
              ^~~~~~~~~~~~~~~~~~
    compilation terminated.
    gmake: *** [Makefile:124: mod_perl.lo] Error 1
    NMAKE : fatal error U1077: „cd”: kod powrotu „0x2”
    Stop.

Я прочитал, что ap_config_auto предназначен дляUnix система, и она не должна быть в Windows.

РЕДАКТИРОВАТЬ:

Я начал исправлять Makefile и я исправил проблему, удалив одно условие, но у меня есть следующая проблема, которую я не могурешить:

cd "src/modules/perl" && gmake
C:/strawberry/perl/bin/perl.exe -MExtUtils::Command -e rm_f -- mod_perl.so
g++ -mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" \
C:/Apache2.2/lib/libapr-1.lib C:/Apache2.2/lib/libaprutil-1.lib C:/Apache2.2/lib/libhttpd.lib \
mod_perl.lo modperl_interp.lo modperl_tipool.lo modperl_log.lo modperl_config.lo modperl_cmd.lo modperl_options.lo modperl_callback.lo modperl_handler.lo modperl_gtop.lo modperl_util.lo modperl_io.lo modperl_io_apache.lo modperl_filter.lo modperl_bucket.lo modperl_mgv.lo modperl_pcw.lo modperl_global.lo modperl_env.lo modperl_cgi.lo modperl_perl.lo modperl_perl_global.lo modperl_perl_pp.lo modperl_sys.lo modperl_module.lo modperl_svptr_table.lo modperl_const.lo modperl_constants.lo modperl_apache_compat.lo modperl_error.lo modperl_debug.lo modperl_common_util.lo modperl_common_log.lo modperl_hooks.lo modperl_directives.lo modperl_flags.lo modperl_xsinit.lo modperl_exports.lo  "C:\strawberry\perl\lib\CORE\libperl530.a" "C:\strawberry\c\i686-w64-mingw32\lib\libmoldname.a" "C:\strawberry\c\i686-w64-mingw32\lib\libkernel32.a" "C:\strawberry\c\i686-w64-mingw32\lib\libuser32.a" "C:\strawberry\c\i686-w64-mingw32\lib\libgdi32.a" "C:\strawberry\c\i686-w64-mingw32\lib\libwinspool.a" "C:\strawberry\c\i686-w64-mingw32\lib\libcomdlg32.a" "C:\strawberry\c\i686-w64-mingw32\lib\libadvapi32.a" "C:\strawberry\c\i686-w64-mingw32\lib\libshell32.a" "C:\strawberry\c\i686-w64-mingw32\lib\libole32.a" "C:\strawberry\c\i686-w64-mingw32\lib\liboleaut32.a" "C:\strawberry\c\i686-w64-mingw32\lib\libnetapi32.a" "C:\strawberry\c\i686-w64-mingw32\lib\libuuid.a" "C:\strawberry\c\i686-w64-mingw32\lib\libws2_32.a" "C:\strawberry\c\i686-w64-mingw32\lib\libmpr.a" "C:\strawberry\c\i686-w64-mingw32\lib\libwinmm.a" "C:\strawberry\c\i686-w64-mingw32\lib\libversion.a" "C:\strawberry\c\i686-w64-mingw32\lib\libodbc32.a" "C:\strawberry\c\i686-w64-mingw32\lib\libodbccp32.a" "C:\strawberry\c\i686-w64-mingw32\lib\libcomctl32.a" \
-def:C:/Users/KWS/mod_perl/xs/modperl.def -out:mod_perl.so
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: mod_perl.lo:mod_perl.c:(.text+0x1e7): undefined reference to `_imp__apr_dynamic_fn_register'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: mod_perl.lo:mod_perl.c:(.text+0x20e): undefined reference to `_imp__ap_server_config_defines'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: mod_perl.lo:mod_perl.c:(.text+0x21b): undefined reference to `_imp__apr_array_push@4'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: mod_perl.lo:mod_perl.c:(.text+0x231): undefined reference to `_imp__apr_pstrdup@8'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: mod_perl.lo:mod_perl.c:(.text+0x25b): undefined reference to `_imp__ap_hook_pre_config@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: mod_perl.lo:mod_perl.c:(.text+0x283): undefined reference to `_imp__ap_hook_open_logs@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: mod_perl.lo:mod_perl.c:(.text+0x2ab): undefined reference to `_imp__ap_hook_post_config@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: mod_perl.lo:mod_perl.c:(.text+0x2b1): undefined reference to `_imp__ap_hook_handler@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: mod_perl.lo:mod_perl.c:(.text+0x2ff): undefined reference to `_imp__ap_hook_insert_filter@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: mod_perl.lo:mod_perl.c:(.text+0x34d): undefined reference to `_imp__ap_register_output_filter@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: mod_perl.lo:mod_perl.c:(.text+0x377): undefined reference to `_imp__ap_register_input_filter@16'
...
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_module.lo:modperl_module.c:(.text+0x2db2): undefined reference to `_imp__apr_hash_set@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_module.lo:modperl_module.c:(.text+0x2e6d): undefined reference to `_imp__apr_hash_make@4'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_module.lo:modperl_module.c:(.text+0x2efa): undefined reference to `_imp__apr_hash_get@12'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_error.lo:modperl_error.c:(.text+0x65): undefined reference to `_imp__apr_strerror@12'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_debug.lo:modperl_debug.c:(.text+0x27): undefined reference to `_imp__apr_psprintf'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_common_util.lo:modperl_common_util.c:(.text+0x336): undefined reference to `_imp__apr_palloc@8'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_common_log.lo:modperl_common_log.c:(.text+0x67): undefined reference to `_imp__apr_os_thread_current@0'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_common_log.lo:modperl_common_log.c:(.text+0x8d): undefined reference to `_imp__apr_file_printf'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_common_log.lo:modperl_common_log.c:(.text+0xe3): undefined reference to `_imp__apr_vsnprintf@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_common_log.lo:modperl_common_log.c:(.text+0x104): undefined reference to `_imp__apr_file_write@12'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_common_log.lo:modperl_common_log.c:(.text+0x14a): undefined reference to `_imp__apr_file_printf'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_hooks.lo:modperl_hooks.c:(.text+0x314): undefined reference to `_imp__ap_hook_process_connection@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_hooks.lo:modperl_hooks.c:(.text+0x33c): undefined reference to `_imp__ap_hook_open_logs@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_hooks.lo:modperl_hooks.c:(.text+0x364): undefined reference to `_imp__ap_hook_post_config@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_hooks.lo:modperl_hooks.c:(.text+0x38c): undefined reference to `_imp__ap_hook_header_parser@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_hooks.lo:modperl_hooks.c:(.text+0x3b4): undefined reference to `_imp__ap_hook_access_checker@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_hooks.lo:modperl_hooks.c:(.text+0x47c): undefined reference to `_imp__ap_hook_log_transaction@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_hooks.lo:modperl_hooks.c:(.text+0x4a4): undefined reference to `_imp__ap_hook_post_read_request@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_hooks.lo:modperl_hooks.c:(.text+0x4cc): undefined reference to `_imp__ap_hook_translate_name@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_hooks.lo:modperl_hooks.c:(.text+0x4f4): undefined reference to `_imp__ap_hook_map_to_storage@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_hooks.lo:modperl_hooks.c:(.text+0x51c): undefined reference to `_imp__ap_hook_pre_connection@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_hooks.lo:modperl_hooks.c:(.text+0x544): undefined reference to `_imp__ap_hook_child_init@16'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_directives.lo:modperl_directives.c:(.text+0x6c): undefined reference to `_imp__apr_pstrcat'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_directives.lo:modperl_directives.c:(.text+0x9c): undefined reference to `_imp__apr_pstrcat'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_directives.lo:modperl_directives.c:(.text+0x11c): undefined reference to `_imp__apr_pstrcat'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_directives.lo:modperl_directives.c:(.text+0x14c): undefined reference to `_imp__apr_pstrcat'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_directives.lo:modperl_directives.c:(.text+0x1cc): undefined reference to `_imp__apr_pstrcat'
C:/strawberry/c/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: modperl_directives.lo:modperl_directives.c:(.text+0x1fc): more undefined references to `_imp__apr_pstrcat' follow
collect2.exe: error: ld returned 1 exit status
gmake: *** [Makefile:166: mod_perl.so] Error 1
NMAKE : fatal error U1077: „cd”: kod powrotu „0x2”
Stop.
...