imagemagick libMagickCore.so.2 não encontrado

6

Eu tenho 2 servidores Debian que usamos no trabalho, um é nosso servidor de desenvolvimento e o outro é nossa produção. Eu estou tentando obter imagemagick trabalhando em ambos os servidores e, por algum motivo, o servidor de produção está executando imagemagick bem, mas o servidor dev não parece querer.

Nos dois servidores que eu digitei

convert --version

e recebi essa resposta em troca

PRODUÇÃO:

Version: ImageMagick 6.6.0-4 2012-04-24 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
Features: OpenMP

DESENVOLVIMENTO:

convert: error while loading shared libraries: libMagickCore.so.2: cannot open shared object file: No such file or directory

Eu fiz um dpkg contra os dois servidores para verificar as versões e recebi o seguinte

PRODUÇÃO:

ii  imagemagick                         8:6.6.0.4-3+squeeze2         image manipulation programs
ii  libmagickcore3                      8:6.6.0.4-3+squeeze2         low-level image manipulation library
ii  libmagickcore3-extra                8:6.6.0.4-3+squeeze2         low-level image manipulation library - extra codecs
ii  libmagickwand3                      8:6.6.0.4-3+squeeze2         image manipulation library
ii  php5-imagick                        3.0.0~rc1-1                  ImageMagick module for php5

DESENVOLVIMENTO:

ii  imagemagick                         8:6.6.0.4-3+squeeze2         image manipulation programs
ii  libmagickcore3                      8:6.6.0.4-3+squeeze2         low-level image manipulation library
ii  libmagickcore3-extra                8:6.6.0.4-3+squeeze2         low-level image manipulation library - extra codecs
ii  libmagickwand3                      8:6.6.0.4-3+squeeze2         image manipulation library
ii  php5-imagick                        3.0.0~rc1-1                  ImageMagick module for php5

Eu olhei por todo o SO para libMagickCore.so.2 e nunca consegui encontrá-lo, eu encontrei esses arquivos em ambos os servidores.

PRODUÇÃO:

lrwxrwxrwx  1 root root    22 May  2 14:32 libMagickCore.so.3 -> libMagickCore.so.3.0.0
-rw-r--r--  1 root root  2.3M Apr 24 15:44 libMagickCore.so.3.0.0
lrwxrwxrwx  1 root root    22 May  2 14:32 libMagickWand.so.3 -> libMagickWand.so.3.0.0
-rw-r--r--  1 root root  1.1M Apr 24 15:44 libMagickWand.so.3.0.0

DESENVOLVIMENTO:

lrwxrwxrwx  1 root root    22 May  2 14:35 libMagickCore.so.2 -> libMagickCore.so.3.0.0
lrwxrwxrwx  1 root root    22 May  2 14:30 libMagickCore.so.3 -> libMagickCore.so.3.0.0
-rw-r--r--  1 root root  2.3M Apr 24 15:44 libMagickCore.so.3.0.0
lrwxrwxrwx  1 root root    22 May  2 14:30 libMagickWand.so.3 -> libMagickWand.so.3.0.0
-rw-r--r--  1 root root  1.1M Apr 24 15:44 libMagickWand.so.3.0.0

Eu adicionei manualmente no libMagickCore.so.2 no servidor dev para ver se isso funcionaria, mas isso não aconteceu.

Eu removi todos os imagemagick do servidor dev e reinstalei e ainda nada. Eu rodei o ldconfig, e ele irá criar links para a versão 3, mas não 2. Eu mesmo reiniciei a máquina, fiz atualizações / upgrades em ambas as máquinas, e não tenho mais opções do que fazer. Alguém aí tem outra ideia para mim?

Obrigado um milhão!

- EDITAR

Executando o comando

which convert

produziu esses resultados

PRODUÇÃO

/usr/bin/convert

DESENVOLVIMENTO

/usr/local/bin/convert

Então ... isso acabou sendo problema meu ... Eu removi o convert em / usr / local / bin do meu servidor de desenvolvimento e funcionou depois disso.

    
por stmpy 02.05.2012 / 23:29

2 respostas

8

Estou feliz que você tenha resolvido o problema. Para ajudar os outros em uma situação semelhante, deixarei isso aqui:

Para encontrar a biblioteca localmente:

# updatedb
# locate libMagickCore

Para encontrar a biblioteca no gerenciador de pacotes:

# apt-file search  libMagickCore

Para descobrir se sua biblioteca pode ser encontrada pelo sistema (está no caminho)

# ldconfig -p | grep -i nameoflibrary

Se a sua biblioteca não estiver na lista, mas estiver no sistema, você poderá adicioná-la:

# ldconfig -n /path/toyournew/library/

Adicione permanentemente ao caminho:

# /etc/ld.so.conf.d/libc.conf

Isso deve ser suficiente para resolver esse tipo de problema no futuro, não importa a biblioteca.

    
por 03.05.2012 / 16:19
0

Aceitei o conselho do ablackhat e o which convert mostrou-me que o meu servidor de desenvolvimento procurava / usr / local / bin para o executável de conversão. Excluí o executável desse diretório e executar which convert depois disso mostrou que meu servidor agora estava usando o executável em / usr / bin. Quando eu corri convert --version fora do / usr / bin / converter tudo funcionou como esperado.

    
por 03.05.2012 / 15:57