
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
PS:あなたの質問は以下に関連しているようです。銃銃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でない場合は、干渉するライブラリのバージョンを提供するサードパーティを表示する必要があります。
干渉パッケージを削除するには、rpmを直接使用してください。
sudo rpm -e pkgname