You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移至AWS Linux2023后TeamCity中GitVersion SSL库加载失败问题

解决AWS Linux2023上TeamCity Agent运行GitVersion时的SSL库加载错误

问题背景

将TeamCity Agent从AWS Linux 2迁移至AWS Linux 2023后,执行GitVersion时触发以下错误:

LibGit2Sharp.LibGit2SharpException: could not load ssl libraries

该错误源于GitVersion检测到构建代理时执行的normalization步骤,虽然添加/nonormalize参数可临时绕过问题,但需从根源修复。已知AWS Linux 2默认安装OpenSSL 1,AWS Linux 2023默认安装OpenSSL 3,且LibGit2Sharp官方宣称支持OpenSSL 3。

根源排查与修复方案

1. OpenSSL 3库路径匹配问题

AWS Linux 2023中OpenSSL 3的库路径与OpenSSL 1存在差异,LibGit2Sharp可能无法自动定位到正确的库文件:

  • 操作步骤:
    1. 确认OpenSSL 3的库路径,通常为/usr/lib64/libssl.so.3和/usr/lib64/libcrypto.so.3
    2. 创建软链接指向LibGit2Sharp预期的通用命名路径:
      sudo ln -s /usr/lib64/libssl.so.3 /usr/lib64/libssl.so
      sudo ln -s /usr/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so
      
    3. 重启TeamCity Agent服务后重新执行GitVersion

2. LibGit2Sharp版本兼容性缺陷

部分旧版LibGit2Sharp虽声称支持OpenSSL 3,但存在实际兼容性bug:

  • 操作步骤:
    1. 将GitVersion升级至最新稳定版本(确保其依赖的LibGit2Sharp版本已完全适配OpenSSL 3)
    2. 若使用自定义构建的GitVersion,需确认依赖的LibGit2Sharp版本≥0.27.0(该版本开始全面支持OpenSSL 3)

3. TeamCity Agent环境变量配置缺失

TeamCity Agent的运行环境可能未正确加载OpenSSL 3的相关路径:

  • 操作步骤:
    1. 在TeamCity Agent的启动脚本中添加环境变量:
      export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
      
    2. 或在TeamCity构建配置中直接配置该环境变量,确保LibGit2Sharp能找到SSL库

验证修复

完成上述任一方案后,移除/nonormalize参数,重新执行GitVersion,确认错误不再触发。

内容的提问来源于stack exchange,提问作者Jakub

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 11:32:10