Yum은 어떤 이유로 파산했습니다

Yum은 어떤 이유로 파산했습니다

MySQL 클라이언트를 설치하려고 하는데 이런 짜증나는 메시지가 나타납니다. 아직은 정답을 찾을 수 없습니다.

[root@localhost Downloads]# yum install mysql-bench
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   /usr/lib64/python2.7/site-packages/pycurl.so: undefined symbol: CRYPTO_num_locks

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.7.5 (default, Jun 17 2014, 18:11:42) 
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)]

If you cannot solve this problem yourself, please go to 
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

답변1

rpmfind.net 또는 원하는 미러에서 최신 버전의 libcurl rpm을 다운로드하고 다음을 실행하세요. rpm -e --nodeps libcurl rpm -ivh libcurl

추신: 귀하의 질문은 다음과 관련이 있는 것 같습니다.총총960765

답변2

이것은 yum 문제가 아니라 pycurl 문제일 수 있습니다. Python 터미널을 열고 다음을 입력하여 테스트할 수 있습니다.

import pycurl

오류 메시지가 표시됩니다. 이는 NetWorker 및 Matlab Compiler Runtime과 같은 일부 소프트웨어에 pycurl과 충돌하는 자체 컬 버전이 있기 때문입니다. MATLAB을 거의 사용하지 않기 때문에 MCR을 제거하여 문제를 해결했습니다. 충돌을 피하기 위해 경로 변수를 변경해 볼 수도 있습니다.

답변3

Lila의 답변이 정확할 가능성이 높습니다. 문제를 확인하고 해결하는 방법에 대한 추가 정보를 제공하기 위해 이 정보를 답변으로 추가합니다.

yum 및 strace를 실행하면 어떤 라이브러리가 호출되는지 확인할 수 있습니다.

strace yum install mysql-bench

다음과 유사한 줄을 찾으세요.

open("/usr/lib/libcurl.so.4", O_RDONLY) = 9

64비트 시스템 libcurl이 일반적으로 /usr/lib64에 있는 경우 위와 같은 결과는 문제를 나타낼 수 있습니다. 어떤 rpm이 라이브러리를 제공하는지 찾아 확인하세요.

중요 - strace가 위와 동일한 경로와 버전을 제공한다고 가정합니다. 내가 사용하는 경로를 strace가 나타내는 경로로 바꿔야 합니다.

rpm -qf /usr/lib/libcurl.so.4

rpm이 pycurl이 아닌 경우 간섭하는 라이브러리 버전을 제공하는 제3자를 표시해야 합니다.

간섭 패키지를 제거하려면 rpm을 직접 사용하십시오.

sudo rpm -e pkgname

관련 정보