mac 手工安装OpenSSL 3.4.0

如果你希望继续安装 `openssl-3.4.0` 而不是降级到 `3.1.1`,可以尝试以下解决方案。根据你提供的错误信息,问题可能出在测试阶段(`make test`),我们可以尝试跳过测试或修复测试失败的原因。


**解决方案:安装 `openssl-3.4.0`**

**1. 清理之前的安装尝试**

在重新安装之前,确保清理之前失败的安装:

```bash

brew uninstall openssl@3

brew cleanup

rm -rf /Users/houlin/Library/Caches/Homebrew/downloads/4b9ac0aabfe9267c004998b875217f5034f92ff065771f7cf3e1c1552645c67f--openssl-3.4.0.tar.gz

```


**2. 手动下载并安装 `openssl-3.4.0`**

**步骤 1:下载 `openssl-3.4.0`**

访问 [OpenSSL 官方下载页面](https://www.openssl.org/source/) 下载 `openssl-3.4.0.tar.gz`,或者直接使用以下命令下载:

```bash

curl -O https://www.openssl.org/source/openssl-3.4.0.tar.gz

```

**步骤 2:解压缩文件**

解压下载的文件:

```bash

tar -xzf openssl-3.4.0.tar.gz

cd openssl-3.4.0

```

**步骤 3:配置编译选项**

运行以下命令配置 OpenSSL:

```bash

perl ./Configure --prefix=/usr/local/Cellar/openssl@3/3.4.0 --openssldir=/usr/local/etc/openssl@3 no-ssl3 no-ssl3-method no-zlib darwin64-x86_64-cc enable-ec_nistp_64_gcc_128

```

  • `--prefix`:指定安装路径。

  • `--openssldir`:指定 OpenSSL 配置文件路径。

  • `no-ssl3` 和 `no-ssl3-method`:禁用不安全的 SSLv3 协议。

  • `darwin64-x86_64-cc`:指定 macOS 平台和编译器。

  • `enable-ec_nistp_64_gcc_128`:启用优化的椭圆曲线算法。

**步骤 4:编译 OpenSSL**

运行以下命令编译 OpenSSL:

```bash

make

```

**步骤 5:跳过测试(可选)**

如果 `make test` 失败,可以跳过测试直接安装:

```bash

sudo make install

```

如果你希望运行测试,可以使用以下命令:

```bash

make test

```

如果测试失败,可以检查日志文件 `/Users/houlin/Library/Logs/Homebrew/openssl@3/04.make` 以获取更多信息。

**步骤 6:验证安装**

安装完成后,验证 OpenSSL 版本:

```bash

/usr/local/Cellar/openssl@3/3.4.0/bin/openssl version

```

输出应为:

```

OpenSSL 3.4.0

```


**3. 配置环境变量**

确保系统使用新安装的 OpenSSL 版本,而不是系统自带的旧版本。编辑你的 Shell 配置文件(如 `~/.zshrc` 或 `~/.bashrc`),添加以下内容:

```bash

export PATH="/usr/local/Cellar/openssl@3/3.4.0/bin:$PATH"

export LDFLAGS="-L/usr/local/Cellar/openssl@3/3.4.0/lib"

export CPPFLAGS="-I/usr/local/Cellar/openssl@3/3.4.0/include"

export PKG_CONFIG_PATH="/usr/local/Cellar/openssl@3/3.4.0/lib/pkgconfig"

```

然后运行以下命令使配置生效:

```bash

source ~/.zshrc # 或者 source ~/.bashrc

```


**4. 链接 OpenSSL(可选)**

如果你使用 Homebrew,可以运行以下命令将 OpenSSL 链接到系统:

```bash

brew link --force openssl@3

```


**5. 验证安装**

运行以下命令验证 OpenSSL 是否安装成功:

```bash

which openssl

openssl version

```

输出应为:

```

/usr/local/Cellar/openssl@3/3.4.0/bin/openssl

OpenSSL 3.4.0

```


**6. 如果仍然遇到问题**

如果仍然遇到问题,可以尝试以下方法:

  1. **检查依赖**:

确保系统中安装了必要的依赖,如 `perl` 和 `make`:

```bash

brew install perl make

```

  1. **检查编译器**:

确保你使用的是正确的编译器(如 `clang`)。运行以下命令检查:

```bash

cc --version

```

  1. **查看日志**:

如果安装失败,查看日志文件以获取更多信息:

```bash

cat /Users/houlin/Library/Logs/Homebrew/openssl@3/04.make

```

  1. **降级到 3.1.1**:

如果问题仍然无法解决,可以按照你提供的解决方案降级到 `openssl-3.1.1`。


通过以上步骤,你应该能够成功安装 `openssl-3.4.0`。如果问题仍然存在,请提供更多错误信息,我会进一步帮助你解决!

相关推荐
小刘同学3211 小时前
C++11 特性
c++·c11新特性
真的想上岸啊2 小时前
学习C++、QT---18(C++ 记事本项目的stylesheet)
开发语言·c++·学习
m0_552200822 小时前
《UE5_C++多人TPS完整教程》学习笔记40 ——《P41 装备(武器)姿势(Equipped Pose)》
c++·游戏·ue5
丁劲犇2 小时前
用 Turbo Vision 2 为 Qt 6 控制台应用创建 TUI 字符 MainFrame
开发语言·c++·qt·tui·字符界面·curse
charlie1145141913 小时前
深入理解Qt的SetWindowsFlags函数
开发语言·c++·qt·原理分析
呜喵王阿尔萨斯3 小时前
编程中的英语
c语言·c++
whoarethenext4 小时前
使用 C++/Faiss 加速海量 MFCC 特征的相似性搜索
开发语言·c++·faiss
向阳@向远方5 小时前
第二章 简单程序设计
开发语言·c++·算法
Mr_Xuhhh6 小时前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构