macOS Ventura 13.2.1下John the Ripper Jumbo源码安装失败求助
解决macOS Ventura 13.2.1下John the Ripper Jumbo源码安装依赖问题
问题背景
- 系统版本:macOS Ventura 13.2.1
- 核心问题:
- 源码克隆/下载压缩包后,
src目录执行./configure时提示找不到libssl,但/usr/local/Homebrew/lib/libssl.dylib已存在 - MacPorts安装失败,构建阶段报错
- brew官方包缺失关键功能,开发者要求源码安装
./configure错误地在/opt/homebrew路径查找依赖,实际Homebrew Cellar为/usr/local/Homebrew/Cellar
- 源码克隆/下载压缩包后,
解决方案
1. 手动指定OpenSSL路径重新执行配置
首先确认OpenSSL的实际安装路径:
openssl version -a
从输出中提取OPENSSLDIR字段(例如/usr/local/opt/openssl@3),然后在John的src目录下执行配置命令,手动指定头文件和库文件路径:
# 替换为你的OpenSSL实际路径 ./configure CPPFLAGS="-I/usr/local/Homebrew/include" LDFLAGS="-L/usr/local/Homebrew/lib"
如果OpenSSL安装在/usr/local/opt/openssl@1.1这类版本目录下,命令调整为:
./configure CPPFLAGS="-I/usr/local/opt/openssl@1.1/include" LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
2. 编译并安装
配置成功后,执行编译(利用多核加速)和安装:
make -j$(sysctl -n hw.ncpu) make install
3. 环境变量排查与修复
确保系统优先使用/usr/local/Homebrew下的依赖:
- 检查
PATH是否包含Homebrew的bin目录:echo $PATH | grep "/usr/local/Homebrew/bin" - 若未包含,临时添加(当前会话生效):
export PATH="/usr/local/Homebrew/bin:$PATH" - 永久添加则编辑
~/.zshrc或~/.bashrc,加入上述export命令,保存后执行source ~/.zshrc生效。
4. 兼容版本的OpenSSL安装
如果现有OpenSSL版本不兼容,通过brew安装指定版本:
brew install openssl@1.1
之后使用该版本的路径执行./configure即可。
内容的提问来源于stack exchange,提问作者Rumi-SE Must Follow the CC-SA
相关产品推荐
相关产品推荐

