Yum Broke Por algum motivo

0

Estou tentando instalar o MySQL Client Estou recebendo esta mensagem irritante. Ainda não consigo encontrar a resposta correta.

[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
    
por noobie-php 01.04.2015 / 08:03

3 respostas

1

Faça o download da versão mais recente do libcurl rpm do rpmfind.net ou do seu espelho preferido e execute: rpm -e --nodeps libcurl rpm -ivh libcurl

PS: Eu acho que o seu problema é o mesmo que o Bugzilla 960765

    
por 07.04.2015 / 09:31
1

Este é provavelmente um problema com pycurl, não com yum. Você pode testar isso abrindo um terminal python e inserindo

import pycurl

Você deve receber uma mensagem de erro. Isso ocorre porque alguns softwares, como o NetWorker e o Matlab Compiler Runtime, têm sua própria versão do curl que entra em conflito com o pycurl. Eu resolvi o meu problema, excluindo MCR, porque eu raramente uso o MATLAB. Você também pode tentar alterar variáveis de caminho para evitar o conflito.

    
por 07.07.2016 / 15:18
0

A resposta de Lila está muito provavelmente correta - estou adicionando essa informação como uma resposta para fornecer mais informações sobre como confirmar e corrigir o problema.

Você pode ver qual biblioteca está sendo chamada executando yum com strace:

strace yum install mysql-bench

Procure uma linha semelhante a esta:

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

Se o seu sistema de 64 bits libcurl estiver normalmente em / usr / lib64, então um resultado como acima provavelmente está indicando um problema. Confirme descobrindo qual rpm forneceu a biblioteca.

Importante - estou assumindo strace desde o mesmo caminho e versão acima. Você tem que substituir o caminho que estou usando com qualquer strace indicado.

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

Isso deve indicar o terceiro que forneceu a versão da biblioteca interferente, se o rpm não for pycurl.

Use o rpm diretamente para desinstalar o pacote de interferência.

sudo rpm -e pkgname
    
por 07.07.2016 / 22:55