使用 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 "", line 1006, in _gcd_import

File "", line 983, in _find_and_load

File "", line 967, in _find_and_load_unlocked

File "", line 670, in _load_unlocked

File "", line 583, in module_from_spec

File "", line 1043, in create_module

File "", line 219, in _call_with_frames_removed

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]#

使用yum安装unixODBC时报错怎么办的更多相关文章

  1. CentOS中yum安装软件时报错:No package XXX available

    yum 安装软件时,报错:No package XXX available. [root@localhost ~]# yum -y install redis Loaded plugins: fast ...

  2. yum 安装软件时报错

    报错信息 Another app is currently holding the yum lock; waiting for it to exit 处理方法 rm -rf /var/run/yum. ...

  3. yum安装软件时报错libmysqlclient.so.18()(64bit)

    错误信息 yum -y install sysbench 安装sysbench提示缺少依赖包如下图: 主要原因 缺少Percona-XtraDB-Cluster-shared-55-5.5.37-25 ...

  4. 使用yum安装php*时报错的解决办法

    # yum -y install php* 注意: php53-odbc64-5.3.3-2.el5.x86_64 from base has depsolving problems  -->  ...

  5. yum安装软件时报错:Loaded plugins:fastestnirror,security Existing lock /var/run/yum.pid

    在linux中使用yum时出现如下错误: Loaded plugins: fastestmirror, security Existing lock /var/run/yum.pid: another ...

  6. CentOS6.5安装readline时报错:/usr/bin/ld : cannot find -lncurses

    CentOS6.5安装readline时报错:/usr/bin/ld : cannot find -lncurses 解决方法: 安装ncurses-devel,输入命令: #yum install ...

  7. 解决编译安装php时报错:Please reinstall the iconv library

    编译安装php7时报错“Please reinstall the iconv library”,也就是让重新安装iconv库.但yum安装又提示“No package libiconv availab ...

  8. 安装tcpreplay时报错:configure: error: libdnet not found

    安装tcpreplay时报错configure: error: libdnet not found 解决方法: 下载包libdnet-1.8.tar.gz并安装,依次执行: ./configure m ...

  9. 安装 node-sass 时报错

    在安装 node-sass 时报错,截图如下 解决方法如下: npm install --save node-sass --registry=https://registry.npm.taobao.o ...

  10. 安装Django时报错'module' object has no attribute 'lru_cache'

    使用pip方法安装Django时报错'module' object has no attribute 'lru_cache' 解决办法如下 命令行输入命令sudo pip install Django ...

随机推荐

  1. 【Azure Cloud Services】云服务频繁发生服务器崩溃的排查方案

    问题描述 云服务(Cloud Services)在使用期间,频繁发生崩溃事件,在崩溃期间,查看CPU负载为100%,而且同时伴随以下情况: 部署在云服务上的应用无法访问 远程连接云服务实例(RDP)访 ...

  2. 【Azure 批处理 】Azure Batch门户中创建自定义作业模式失败解决办法

    问题描述 跟随官方文档,快速创建Azure批处理任务(快速入门:在 Azure 门户中运行第一个 Batch 作业),在添加作业时,选择"自定义模式",并添加文档中所提供的简单命令 ...

  3. 【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)

    问题描述 Azure API Management 是否可以通过请求中的Path来限定其被访问的频率? 在系统Request中发现某个Path 在短时间内被频繁的调用,影响了后台服务的性能及安全,所以 ...

  4. Nebula Graph|如何打造多版本文档中心

    本文首发于 Nebula Graph Community 公众号 世界上没有完美的产品,每个不完美的产品都需要一份文档. 为什么需要文档 打造出一款产品后,我们需要一份文档来回答以下问题: 设计这款产 ...

  5. C++ auto与循环

    C++ auto与循环 C++ auto 的介绍 typeid(p).name();可以输出auto的类型 auto 是 C++11 引入的一个关键字,用于自动类型推导.编译器会根据初始化表达式的类型 ...

  6. Java 多线程----- 解决线程安全问题的 方式三:Lock锁 --------jdk 5.0 新增

    1 package bytezero.deadlock; 2 3 import java.util.concurrent.locks.ReentrantLock; 4 5 /** 6 * 解决线程安全 ...

  7. C++ //set/multiset 容器 //set不可以插入重复的数字 multiset可以插入重复的数字 //ste容器构造和赋值 //set大小和交换 //set 插入和删除 //set查找和统计 //set 和 multiset 区别 //pair 对组创建 //set存放自定义数据类型 //set内置数据 进行排序

    1 //set/multiset 容器 //set不可以插入重复的数字 multiset可以插入重复的数字 2 //ste容器构造和赋值 //set大小和交换 //set 插入和删除 3 //set查 ...

  8. 面试官问我会ES么,我说不会,抓紧学起【ES(一)聚合分析篇】

    ES聚合分析 1.metric(指标)聚合 1.1 单值分析 min 求指定字段的最小值 # 求价格的最小值 { "size":0, "aggs":{ &quo ...

  9. Python | Flask 解决跨域问题

    Python | Flask 解决跨域问题 系列文章目录 目录 系列文章目录 前言 使用步骤 1. 引入库 2. 配置 1. 使用 CORS函数 配置全局路由 2. 使用 @cross_origin ...

  10. [https://atcoder.jp/contests/abc234/tasks/abc234_d Prefix K-th Max] 最小堆实现

    Problem Statement Given are a permutation P=(P_1,P_2,\ldots,P_N)P=(P1​,P2​,-,PN​) of (1,2,\ldots,N)( ...