在Linux系统安装运行GridDB时遇libcrypto.so.1.1缺失错误
解决GridDB启动时libcrypto.so.1.1缺失错误
问题场景
安装GridDB CE 4.6.0后执行启动命令:
sudo gs_startnode -u admin/admin
触发报错:
gs_startnode: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
问题原因
GridDB 4.6.0依赖OpenSSL 1.1版本的libcrypto库,但目前多数新Linux发行版(如Ubuntu 22.04+、RHEL 9)默认预装OpenSSL 3.0,不再包含该旧版本库文件。
解决方法
方案1:通过包管理器安装OpenSSL 1.1(推荐)
适用于RHEL/CentOS/Rocky Linux系列
- 安装OpenSSL 1.1包:
sudo dnf install openssl11 -y - 创建软链接让系统识别库文件:
sudo ln -s /usr/lib64/openssl11/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1 sudo ln -s /usr/lib64/openssl11/libssl.so.1.1 /usr/lib64/libssl.so.1.1 - 重新启动GridDB节点:
sudo gs_startnode -u admin/admin
适用于Debian/Ubuntu系列
- 下载并安装OpenSSL 1.1的DEB包:
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.23_amd64.deb sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2.23_amd64.deb - 若出现依赖冲突,修复依赖:
sudo apt-get -f install -y - 重新执行启动命令:
sudo gs_startnode -u admin/admin
方案2:手动编译安装OpenSSL 1.1
如果包管理器无法获取OpenSSL 1.1,可手动编译:
- 下载并解压OpenSSL 1.1.1最新源码包:
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz tar -xf openssl-1.1.1w.tar.gz cd openssl-1.1.1w - 配置编译参数并安装:
./config --prefix=/usr/local/openssl11 --openssldir=/usr/local/openssl11 make -j$(nproc) sudo make install - 配置系统库路径:
echo "/usr/local/openssl11/lib" | sudo tee /etc/ld.so.conf.d/openssl11.conf sudo ldconfig - 验证库是否加载成功:
ldconfig -p | grep libcrypto.so.1.1 - 再次启动GridDB节点:
sudo gs_startnode -u admin/admin
内容的提问来源于stack exchange,提问作者Muaaz Hasni
相关产品推荐
相关产品推荐

