使用yum安装unixODBC时报错怎么办
使用 yum 安装 unixODBC 时报错怎么办
背景介绍
在使用 yum 安装 unixODBC 时,上报如下错误:
[root@mc0-0002 odbc_connection]# yum install -y unixODBC
Traceback (most recent call last):
File "/usr/lib64/python3.7/site-packages/libdnf/common_types.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "/usr/lib64/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "
File "
File "
File "
File "
File "
File "
ImportError: /lib64/libcurl.so.4: symbol SSLv3_client_method version OPENSSL_1_1_0 not defined in
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/yum", line 57, in
from dnf.cli import main
File "/usr/lib/python3.7/site-packages/dnf/init.py", line 30, in
import dnf.base
File "/usr/lib/python3.7/site-packages/dnf/base.py", line 29, in
import libdnf.transaction
File "/usr/lib64/python3.7/site-packages/libdnf/init.py", line 3, in
from . import common_types
File "/usr/lib64/python3.7/site-packages/libdnf/common_types.py", line 17, in
_common_types = swig_import_helper()
File "/usr/lib64/python3.7/site-packages/libdnf/common_types.py", line 16, in swig_import_helper
return importlib.import_module('_common_types')
File "/usr/lib64/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_common_types'
问题分析
[root@mc0-0002 ~]# ldd /lib64/libcurl.so.4
linux-vdso.so.1 (0x0000fffe5bf30000)
libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x0000fffe5be20000)
libidn2.so.0 => /lib64/libidn2.so.0 (0x0000fffe5bde0000)
libssh.so.4 => /lib64/libssh.so.4 (0x0000fffe5bd40000)
libpsl.so.5 => /lib64/libpsl.so.5 (0x0000fffe5bd10000)
libssl.so.1.1 => /usr/local/etc/lib/libssl.so.1.1 (0x0000fffe5bc60000)
libcrypto.so.1.1 => /usr/local/etc/lib/libcrypto.so.1.1 (0x0000fffe5b9b0000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000fffe5b940000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000fffe5b840000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000fffe5b800000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000fffe5b7d0000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x0000fffe5b760000)
liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x0000fffe5b730000)
libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x0000fffe5b700000)
libz.so.1 => /lib64/libz.so.1 (0x0000fffe5b6c0000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000fffe5b680000)
libc.so.6 => /lib64/libc.so.6 (0x0000fffe5b4f0000)
/lib/ld-linux-aarch64.so.1 (0x0000fffe5bf40000)
libunistring.so.2 => /lib64/libunistring.so.2 (0x0000fffe5b350000)
librt.so.1 => /lib64/librt.so.1 (0x0000fffe5b320000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000fffe5b2f0000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000fffe5b2c0000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000fffe5b290000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x0000fffe5b250000)
libsasl2.so.3 => /lib64/libsasl2.so.3 (0x0000fffe5b210000)
libm.so.6 => /lib64/libm.so.6 (0x0000fffe5b140000)
libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x0000fffe5b100000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x0000fffe5b0b0000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000fffe5b050000)
libsecurity.so.0 => /lib64/libsecurity.so.0 (0x0000fffe5b020000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x0000fffe5af80000)
[root@mc0-0002 openssl-1.1.1a]# nm libssl.so.1.1 | grep SSLv3_client_method
确实没有SSLv3_client_method
解决办法
下载 openssl-1.1.1a 进行编译。
[root@mc0-0002 etc]# wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar -zxvf openssl-1.1.1a.tar.gz
cd openssl-1.1.1a/
./config shared enable-ssl3 enable-ssl3-method
make install
检查新编译的文件是否包含 SSLv3_client_method。
[root@mc0-0002 openssl-1.1.1a]# nm libssl.so.1.1 | grep SSLv3_client_method
0000000000020800 T SSLv3_client_method
编译完成后是有SSLv3_client_method
使用编译好的 libssl.so.1.1 替换原来的 libssl.so.1.1。
[root@mc0-0002 openssl-1.1.1a]# cp /etc/openssl-1.1.1a/libssl.so.1.1 /usr/local/etc/lib/
cp: overwrite '/usr/local/lib/libssl.so.1.1'? y
至此,位于原/usr/local/lib/目录下的/usr/local/lib/libssl.so.1.1 文件正常,可使用 yum 安装 unixODBC 了
使用 yum 安装 unixODBC。
[root@mc0-0002 odbc_connection]# yum install -y unixODBC
Last metadata expiration check: 0:12:31 ago on Thu 23 Mar 2023 05:33:19 PM CST.
Dependencies resolved.
Package Architecture Version Repository Size
Installing:
unixODBC aarch64 2.3.7-2.ky10 ks10-adv-os 389 k
Transaction Summary
Install 1 Package
Total download size: 389 k
Installed size: 2.4 M
Is this ok [y/N]: y
Downloading Packages:
unixODBC-2.3.7-2.ky10.aarch64.rpm 4.8 MB/s | 389 kB 00:00
Total 4.7 MB/s | 389 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : unixODBC-2.3.7-2.ky10.aarch64 1/1
Running scriptlet: unixODBC-2.3.7-2.ky10.aarch64 1/1
/sbin/ldconfig: /usr/local/lib/libkrb5support_gauss.so.0 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libcom_err_gauss.so.3 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libpq_ce.so.5 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libk5crypto_gauss.so.3 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libodbcinst.so.2 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libpq.so.5 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libgssapi_krb5_gauss.so.2 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libkrb5_gauss.so.3 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libgssrpc_gauss.so.4 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libkrb5support_gauss.so.0 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libcom_err_gauss.so.3 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libpq_ce.so.5 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libk5crypto_gauss.so.3 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libodbcinst.so.2 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libpq.so.5 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libgssapi_krb5_gauss.so.2 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libkrb5_gauss.so.3 is not a symbolic link
/sbin/ldconfig: /usr/local/lib/libgssrpc_gauss.so.4 is not a symbolic link
Verifying : unixODBC-2.3.7-2.ky10.aarch64 1/1
Installed:
unixODBC-2.3.7-2.ky10.aarch64
Complete!
[root@mc0-0002 odbc_connection]#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了