Библиотека Блендера отсутствует: libavcodec.so.54 - 16.04

Я пытаюсь запустить блендер в Ubuntu 16.04. Это терпит неудачу со следующей ошибкой.

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

Я проверил ответ здесь . Что касается ответа там, когда я пытаюсь установить пакет 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

С этим вопросом связан второй вопрос здесь . Но этот ответ не связан с блендером.

Как я могу заставить мою установку блендера работать?

Дополнительная информация, которая может быть полезна

$ 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

Спасибо за ваше время.

ОБНОВЛЕНИЕ Моя система была обновлена ​​с 14.04 до 16.04 задолго до этого. Я установил libavcodec-ffmpeg-extra56 в соответствии с ответом ниже. Также я удалил блендер по sudo apt-get purge --auto-remove blender. Теперь я снова установил blender, надеясь, что зависимости будут правильно отображены. Однако все же при запуске блендера его ищут libavcodec.so.54. Как правильно отобразить это?

ОБНОВЛЕНИЕ 2 Вывод следующих команд согласно комментарию.

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

ОБНОВЛЕНИЕ 3 После выполнения следующих шагов @karel, теперь запуск не выполняется из-за какой-то другой библиотеки.

Я выполнил

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 

Сейчас при запуске,

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

ОБНОВЛЕНИЕ 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)

Итак, в списке 13 библиотек из которых 3 отсутствуют. Теперь вопрос в том, как установить эти или их альтернативы на 16.04 и заставить Blender их найти?

1
задан 11 December 2017 в 18:48

2 ответа

На чистой Ubuntu 16.04 LTS с 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

После этого blender запускается и работает нормально.

Может произойти сбой, если вы обновили свою систему с предыдущей версии ( 14.04 LTS или 12.04 LTS).
У него могут быть старые устаревшие пакеты.
Вы можете перечислить и удалить их из категории Aptitude ( Устаревшие и локально созданные пакеты ) или Synaptic ( Статус -> Установлено (локально или устарело) ).

0
ответ дан 11 December 2017 в 18:48

libavcodec-extra-56 можно заменить либо libavcodec-ffmpeg-extra56, либо libavcodec-ffmpeg56 в Ubuntu 16.04. У меня установлен Blender в Ubuntu 16.04, и он установил libavcodec-ffmpeg-extra56 в качестве зависимости, а не libavcodec-ffmpeg56. Откройте терминал и введите:

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  

Согласно UPDATE 4 в вашем вопросе ваша система находится в растерянном состоянии путаницы. Вы должны отказаться от безнадежной задачи ручного соединения Blender и установить пакет привязки Blender вместо пакета apt с помощью следующей команды:

sudo snap install blender-tpaw
2
ответ дан 11 December 2017 в 18:48

Другие вопросы по тегам:

Похожие вопросы: