web-dev-qa-db-fra.com

Blender Missing Library: libavcodec.so.54 - 16.04

J'essaie de lancer Blender sur Ubuntu 16.04. Cela échoue avec l'erreur suivante.

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

J'ai vérifié la réponse ici . Selon la réponse, lorsque j'essaie d'installer le paquet 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

Une question connexe à propos de cette deuxième question est ici . Mais cette réponse n'est pas liée au mélangeur.

Comment puis-je faire fonctionner mon mixeur?

Informations supplémentaires pouvant être utiles

$ 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

Merci pour votre temps.

UPDATE Mon système a été mis à niveau de 14.04 à 16.04 bien avant. J'ai installé libavcodec-ffmpeg-extra56 conformément à la réponse ci-dessous. De plus, j'ai supprimé blender par Sudo apt-get purge --auto-remove blender. Maintenant, encore une fois, j'ai installé blender, en espérant que les dépendances seront correctement mappées. Cependant, toujours lors du lancement de blender, il recherche libavcodec.so.54. Comment cartographier cela correctement?

UPDATE 2 Sortie des commandes suivantes conformément au commentaire.

:~$ 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

UPDATE 3 Après avoir exécuté les étapes suivantes avec @karel, le lancement échoue à cause d'une autre bibliothèque.

J'ai exécuté

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 

Maintenant en lançant,

$ 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)

Il y a donc 13 bibliothèques listées dont 3 sont manquantes. Maintenant, la question est de savoir comment installer ceux-ci ou leurs alternatives sur 16.04 et faire en sorte que Blender les trouve.

1
Erdnase

libavcodec-extra-56 peut être remplacé par libavcodec-ffmpeg-extra56 ou libavcodec-ffmpeg56 dans Ubuntu 16.04. J'ai installé Blender dans Ubuntu 16.04 et il a installé libavcodec-ffmpeg-extra56 en tant que dépendance, et non pas libavcodec-ffmpeg56. Ouvrez le terminal et tapez:

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  

Selon UPDATE 4 de votre question, votre système est dans un état de confusion épouvantable. Vous devriez abandonner la tâche sans espoir de recoller manuellement Blender et installer le paquet snap de Blender à la place du paquet apt avec la commande suivante:

Sudo snap install blender-tpaw
2
karel

Sous Ubuntu 16.04 LTS clean, les paquetages suivants ont été installés avec 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

Après ce mélangeur démarre et fonctionne normalement.

Cela peut échouer si vous avez mis à niveau votre système à partir d'une version précédente ( 14.04 LTS ou 12.04 LTS).
Il peut contenir d’anciens paquets obsolètes.
Vous pouvez les lister et les supprimer de Aptitude (Packages obsolètes et créés localement ​​catégorie) ou de Synaptic (Status -> Installé (local ou obsolète )).

0
N0rbert