Ubuntu 22.04安装SQL Server时libssl.so.1.1库ELF类错误求助
Ubuntu 22.04安装SQL Server时libssl.so.1.1库ELF类错误求助
嗨,我来帮你搞定这个问题!你遇到的wrong ELF class: ELFCLASS32错误,核心原因很明确:你给SQL Server链接了32位的libssl.so.1.1库,但SQL Server是64位程序,根本没法加载32位的库文件。
先梳理下背景:Ubuntu 22.04默认搭载的是OpenSSL 3.0(对应库文件是libssl3),而SQL Server 2019及更早版本依赖的是OpenSSL 1.1。你之前为了让系统找到libssl.so.1.1,错误地链接了32位(i386架构)的版本,这就导致了兼容性问题。
下面是具体的解决步骤:
删除错误的软链接
先把你之前建的错误链接删掉,避免干扰:sudo rm /usr/lib/libssl.so.1.1安装64位的libssl1.1库
Ubuntu 22.04的默认软件源里没有libssl1.1,你可以通过两种方式获取并安装64位版本:- 方法一:从Ubuntu官方归档平台获取amd64架构的libssl1.1 deb安装包,下载后执行安装命令:
sudo dpkg -i 你的libssl1.1_amd64.deb文件名 - 方法二:临时添加Ubuntu 20.04的软件源,安装完成后再移除:
# 添加Ubuntu 20.04(focal)的临时源 echo "deb http://archive.ubuntu.com/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/focal.list # 更新源并安装64位libssl1.1 sudo apt update && sudo apt install libssl1.1 -y # 删除临时源并再次更新 sudo rm /etc/apt/sources.list.d/focal.list sudo apt update
- 方法一:从Ubuntu官方归档平台获取amd64架构的libssl1.1 deb安装包,下载后执行安装命令:
确认库文件位置(可选)
安装完成后,64位的libssl.so.1.1会被放在/usr/lib/x86_64-linux-gnu/目录下。如果SQL Server还是找不到这个库,可以手动建立正确的软链接:sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/libssl.so.1.1重启SQL Server服务并验证状态
最后重启服务,确认是否正常运行:sudo systemctl restart mssql-server # 检查服务状态 sudo systemctl status mssql-server
如果服务状态显示active (running),就说明问题解决啦!
备注:内容来源于stack exchange,提问作者Jamie Hutber
相关产品推荐
相关产品推荐

