Biblioteca em falta do Blender: libavcodec.so.54 - 16.04

0

Estou tentando iniciar o blender no Ubuntu 16.04. Isso está falhando com o seguinte erro.

$ blender
blender: error while loading shared libraries: libavcodec.so.54: cannot open shared object file: No such file or directory

Eu verifiquei a resposta aqui . Conforme a resposta lá, quando estou tentando instalar o pacote libavcodec-extra-56

$ sudo apt-get install libavcodec-extra-56
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libavcodec-extra-56 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libavcodec-extra-56' has no installation candidate

Uma questão relacionada sobre este segundo problema é aqui . Mas essa resposta não está relacionada ao liquidificador.

Como posso fazer a instalação do meu liquidificador funcionar?

Informações adicionais que podem ser úteis

$ apt-cache policy blender
blender:
  Installed: 2.76.b+dfsg0-3build1
  Candidate: 2.76.b+dfsg0-3build1
  Version table:
 *** 2.76.b+dfsg0-3build1 500
        500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        100 /var/lib/dpkg/status

$ lsb_release  -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:    16.04
Codename:   xenial

Obrigado pelo seu tempo.

UPDATE Meu sistema foi atualizado de 14.04 para 16.04 muito antes. Eu instalei libavcodec-ffmpeg-extra56 conforme a resposta abaixo. Também removi o liquidificador por sudo apt-get purge --auto-remove blender . Agora, instalei novamente o blender, esperando que as dependências sejam mapeadas corretamente. No entanto, ainda ao lançar o blender, ele está procurando por libavcodec.so.54 . Como mapear isso corretamente?

UPDATE 2 Saída dos seguintes comandos conforme o comentário.

:~$ which blender
/usr/bin/blender

:~$ ldd /usr/bin/blender |grep libavcodec
    libavcodec-ffmpeg.so.56 => /usr/lib/x86_64-linux-gnu/libavcodec-ffmpeg.so.56 (0x00007fc9c45e8000)
    libavcodec.so.54 => not found

ATUALIZAÇÃO 3 Depois de executar os seguintes passos por @karel, agora o lançamento está falhando por causa de alguma outra biblioteca.

eu executei

sudo apt install libavcodec-ffmpeg-extra56  
cd /usr/lib/x86_64-linux-gnu/
sudo cp libavcodec-ffmpeg.so.56 libavcodec-ffmpeg.so.56.bak  
sudo mv libavcodec-ffmpeg.so.56.bak libavcodec.so.54 

Agora, durante o lançamento,

$ blender
blender: error while loading shared libraries: libavformat.so.54: cannot open shared object file: No such file or directory

UPDATE 4

~$ ldd /usr/bin/blender | grep -E 'libav|libsw|libpo'
/usr/bin/blender: /usr/lib/x86_64-linux-gnu/libavcodec-ffmpeg.so.56: version 'LIBAVCODEC_54' not found (required by /usr/local/lib/libopencv_highgui.so.2.4)
    libavformat-ffmpeg.so.56 => /usr/lib/x86_64-linux-gnu/libavformat-ffmpeg.so.56 (0x00007fb7e0107000)
    libavcodec-ffmpeg.so.56 => /usr/lib/x86_64-linux-gnu/libavcodec-ffmpeg.so.56 (0x00007fb7decd8000)
    libavutil-ffmpeg.so.54 => /usr/lib/x86_64-linux-gnu/libavutil-ffmpeg.so.54 (0x00007fb7dea69000)
    libavdevice-ffmpeg.so.56 => /usr/lib/x86_64-linux-gnu/libavdevice-ffmpeg.so.56 (0x00007fb7de83b000)
    libswscale-ffmpeg.so.3 => /usr/lib/x86_64-linux-gnu/libswscale-ffmpeg.so.3 (0x00007fb7de5ac000)
    libswresample-ffmpeg.so.1 => /usr/lib/x86_64-linux-gnu/libswresample-ffmpeg.so.1 (0x00007fb7d8608000)
    libavfilter-ffmpeg.so.5 => /usr/lib/x86_64-linux-gnu/libavfilter-ffmpeg.so.5 (0x00007fb7d4191000)
    libavc1394.so.0 => /usr/lib/x86_64-linux-gnu/libavc1394.so.0 (0x00007fb7d1ffc000)
    libavformat.so.54 => not found
    libavutil.so.52 => not found
    libswscale.so.2 => not found
    libpostproc-ffmpeg.so.53 => /usr/lib/x86_64-linux-gnu/libpostproc-ffmpeg.so.53 (0x00007fb7c9ce4000)
    libavresample-ffmpeg.so.2 => /usr/lib/x86_64-linux-gnu/libavresample-ffmpeg.so.2 (0x00007fb7c9ac2000)

Portanto, existem 13 bibliotecas listadas das quais 3 estão faltando. Agora a questão é como instalar essas ou suas alternativas no 16.04 e fazer o liquidificador encontrá-las?

    
por Erdnase 10.12.2017 / 14:48

2 respostas

1

O

libavcodec-extra-56 pode ser substituído por libavcodec-ffmpeg-extra56 ou libavcodec-ffmpeg56 no Ubuntu 16.04. Eu tenho o Blender instalado no Ubuntu 16.04 e ele instalou o libavcodec-ffmpeg-extra56 como uma dependência, não libavcodec-ffmpeg56. Abra o terminal e digite:

sudo apt install libavcodec-ffmpeg-extra56 libavdevice-ffmpeg56 libavformat-ffmpeg56   
cd /usr/lib/x86_64-linux-gnu/
sudo cp libavcodec-ffmpeg.so.56 libavcodec-ffmpeg.so.56.bak  
sudo mv libavcodec-ffmpeg.so.56.bak libavcodec.so.54  
sudo cp libavformat-ffmpeg.so.56 libavformat-ffmpeg.so.56.bak  
sudo mv libavformat-ffmpeg.so.56.bak libavformat.so.54    
sudo cp libavdevice-ffmpeg56 libavdevice-ffmpeg56.bak  
sudo mv libavdevice-ffmpeg56 libavdevice.so.54  

De acordo com o UPDATE 4 em sua pergunta, seu sistema está em um estado de confusão e desalinho. Você deve desistir da tarefa impossível de colar manualmente o Blender e instalar o pacote de snap do Blender em vez do pacote apt com o seguinte comando:

sudo snap install blender-tpaw
    
por karel 10.12.2017 / 15:05
0

No Ubuntu 16.04 LTS limpo, os seguintes pacotes foram instalados com o blender:

 sudo apt-get install --reinstall blender blender-data \
  fonts-dejavu libavdevice-ffmpeg56 libboost-locale1.58.0 \
  libboost-regex1.58.0 libboost-thread1.58.0 libjemalloc1 libopenal-data \
  libopenal1 libopencolorio1v5 libopenimageio1.6 libspnav0 libtinyxml2.6.2v5 \
  libyaml-cpp0.3v5

Após este liquidificador começar e funcionar normalmente.

Isso pode falhar no caso de você ter atualizado seu sistema da versão anterior ( 14.04 LTS ou 12.04 LTS).
Pode ter pacotes antigos obsoletos.
Você pode listá-los e removê-los do Aptitude ( categoria Pacotes Obsoletos e Criados Localmente ) ou do Synaptic ( Status - > Instalado (local ou obsoleto) ).

    
por N0rbert 10.12.2017 / 15:03