Se a instalação do pacote dev não funcionar, você pode ter que exportá-lo para a variável LD_LIBRARY_PATH.
Você pode encontrá-lo com find / -iname libXmu.so.6 -print 2>/dev/null
, no meu caso estava em /usr/lib/x86_64-linux-gnu/libXmu.so.6
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/libXmu.so.6/lib:${LD_LIBRARY_PATH}
NB se a variável $LD_LIBRARY_PATH
estiver vazia no início, você deve omitir o lib...
em diante.
Isso não mudou a situação para mim e, no presente conselho , executei sudo apt-get install ia32-libs
, que funcionou , até certo ponto, agora mudando minha mensagem de erro para
error while loading shared libraries: libXm.so.4: cannot open shared object file: No such file or directory
(isto é, número 4 não 6)
Isso pode ser instalado com sudo apt-get install libxm4
, o local resultante encontrado com find / -iname libXm.so.4 -print 2>/dev/null
e adicionado ao $LD_LIBRARY_PATH
com (por exemplo, para meu resultado)
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/libXm.so.4/lib:${LD_LIBRARY_PATH}
Significado meu LD_LIBRARY_PATH
foi /usr/lib/x86_64-linux-gnu/libXm.so.4/lib:/usr/lib/x86_64-linux-gnu/libXmu.so.6
Isso não alterou a mensagem de erro solicitando libXm.so.4. Para esta biblioteca (que eu posso ver está lá com o locate ...) eu instalei o OpenMotif (não tenho certeza se isso é necessário)
sudo apt-get install libmotif-dev
E, finalmente, descobrir o requisito de pacote de 32 bits funcionará com as bibliotecas libXmu.so.6 após a instalação do ia32-libs
, mas para o libXm.so.4 precisa de uma declaração explícita do status de 32 bits usando links no / usr pasta / lib / i386-linx-gnu. Isso ficou claro quando eu corri:
/usr/lib/i386-linux-gnu $ ls ../*/libXm*
(mostrando apenas ../i386-linux-gnu/libXmu.so.6
), então criei um desses links com:
sudo ln -s /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4 /usr/lib/i386-linux-gnu/libXm.so.4
Eu então consegui avançar para a próxima mensagem de erro (woohoo!) como mencionado em outras páginas de ajuda :
error while loading shared libraries: libXm.so.4: wrong ELF class: ELFCLASS64
... o que era estranho, já que é onde eu coloquei o link ... Esta página sugeriu uma solução alternativa, mas não consegui instalar o libx3motif.deb, pois amd64
quebra uma dependência (e eu não estava prestes a vá desinstalar componentes cruciais como esse por causa disso).
Esta resposta destaca a necessidade de ter o pacote de 32 bits mais cedo nos $LD_LIBRARY_PATH
do que nos 64 bits .
export LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/libXm.so.4/lib:/usr/lib/x86_64-linux-gnu/libXmu.so.6.2.0/lib:/usr/lib/x86_64-linux-gnu/libXmu.so.6
Isso não mudou nada. Tentei copiar o arquivo para a pasta i386
e redirecionar o link
sudo cp /usr/lib/x86_64-linux-gnu/libXm.so.4.0.4 /usr/lib/i386-linux-gnu/libXm.so.4.0.4
sudo ln -fs /usr/lib/i386-linux-gnu/libXm.so.4.0.4 /usr/lib/i386-linux-gnu/libXm.so.4
(O sinal -f
força o redirecionamento, ou seja, você não precisa rm
e refazer)
Eu lutei com isso por um pouco mais de tempo (não tenho certeza do que foi a última gota) até encontrar sucesso com isso na minha .bashrc:
export LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/libXm.so.4/lib:/usr/lib/x86_64-linux-gnu/libXmu.so.6.2.0/lib:/usr/lib/x86_64-linux-gnu/libXmu.so.6
Então, isso prova que você não precisa de pacotes de 32 bits instalados, apenas para apontar links simbólicos na pasta lib de 32 bits para os pacotes de 64 bits ... Desculpe o TMI, mas apenas pode ser útil para qualquer um que esteja preso no futuro