我昨天刚升级到 Mavericks,不得不为我的开发环境重新安装 mod_jk。从源代码编译它有点痛苦。我在先前提出的关于 OS X 上的 mod_jk 的问题上找到了这个页面,但是我不得不跳过一些额外的问题。出于某种原因,apxs 认为 gcc 位于:
/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/cc
但是那个确切的文件夹不存在;我必须对现有XcodeDefault.xctoolchain
目录进行符号链接:
sudo ln -s XcodeDefault.xctoolchain/ OSX10.9.xctoolchain
然后我尝试运行配置:
./configure CFLAGS='-arch x86_64' APXSLDFLAGS='-arch x86_64' --with-apxs=/usr/sbin/apxs
但是,配置失败,因为它找不到<stdio.h>
,所以我将 OS X 10.9 工具链符号链接为:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/ /usr/include
sudo make install -f Makefile.apxs
然后我可以通过在 apache-2.0 子目录中运行来编译和安装模块。但是,当我通过 启动 Apache 时sudo apachectl start
,它立即因段错误而崩溃:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff875fb866 __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff8b8a435c pthread_kill + 92
2 libsystem_c.dylib 0x00007fff92480bba abort + 125
3 libsystem_c.dylib 0x00007fff92480d31 abort_report_np + 181
4 libsystem_c.dylib 0x00007fff924a48c5 __chk_fail + 48
5 libsystem_c.dylib 0x00007fff924a48d5 __chk_fail_overlap + 16
6 libsystem_c.dylib 0x00007fff924a4906 __chk_overlap + 49
7 libsystem_c.dylib 0x00007fff924a4ad1 __strcpy_chk + 64
8 mod_jk.so 0x0000000105a0c631 jk_map_get_int + 225
9 mod_jk.so 0x0000000105a1f7f1 jk_get_worker_maintain_time + 33
10 mod_jk.so 0x0000000105a17683 wc_open + 755
11 mod_jk.so 0x0000000105a2f13f init_jk + 1151
12 mod_jk.so 0x0000000105a28b7e jk_post_config + 1566
13 httpd 0x000000010568b7d5 ap_run_post_config + 133
14 httpd 0x00000001056947c7 main + 2567
15 libdyld.dylib 0x00007fff9176e5fd start + 1
有人用 Mavericks 成功编译/运行 mod_jk 了吗?我有什么遗漏或做得不对吗?