我昨天升级到Mavericks,并且不得不为我的开发环境重新安装mod_jk。从源代码编译它有点麻烦。我在OS X上的关于mod_jk的this page上找到了previously-asked question,但是我不得不跳过几个额外的箍。由于某种原因,apxs认为gcc的存在位置:

/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/cc

但是那个确切的文件夹不存在。我不得不符号链接(symbolic link)现有的XcodeDefault.xctoolchain目录:
sudo ln -s XcodeDefault.xctoolchain/ OSX10.9.xctoolchain

然后我尝试运行configure:
./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

然后,我可以通过运行apache-2.0子目录中的sudo make install -f Makefile.apxs来编译和安装模块。但是,当我通过sudo apachectl start启动Apache时,它立即因segfault而崩溃:
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?有什么我想念的或者做不对的吗?

最佳答案

前面提到的bug reported against Tomcat有一个建议的补丁,可能很快就会应用。随意使用该错误中描述的任何补丁-它们都将起作用。

关于macos - 使用OS X Mavericks的Apache2 mod_jk segfaults,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19546324/

10-13 03:45