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