Blender Missing Library: libavcodec.so.54 - 16.04

Я пытаюсь запустить blender на 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

Спасибо для вашего времени.

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

UPDATE Вывод следующих команд в соответствии с комментарием.

:~$ 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 После выполнения следующих шагов с помощью @ 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

UPDATE 3

~$ 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 и заставить их найти их?

0
задан 11 December 2017 в 19:48

4 ответа

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
1
ответ дан 18 July 2018 в 01:27

В чистом 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

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

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

0
ответ дан 18 July 2018 в 01:27

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
1
ответ дан 24 July 2018 в 17:24
  • 1
    Была создана установка libavcodec-ffmpeg-extra56. Теперь, как заставить blender указывать на эту библиотеку? Не могли бы вы также объяснить, что такое пакет blender snap? – Erdnase 10 December 2017 в 18:24
  • 2
    Мой libavcodec-ffmpeg-extra56 был установлен вместе с Blender в 16.04, а Blender настроил себя автоматически, не требуя никакой ручной настройки пути к любой из его требуемых библиотек. Snap-пакет обычно устанавливается как отдельный пакет, который устанавливается со всеми его зависимостями в одном оснастке, аналогичном способу установки программ в Windows. – karel 10 December 2017 в 18:27
  • 3
    Выполнил упомянутый вами шаг. Теперь он ищет другую библиотеку. См. Раздел «Обновление 3» в вопросе. – Erdnase 10 December 2017 в 23:31
  • 4
    Спасибо.. ! и я наконец установил blender через Snap. Я новичок в оснастке пакетов. Познакомился с ним из-за вас. Не могли бы вы объяснить, в чем разница между «sudo snap install blender --classic» и этим? – Erdnase 13 December 2017 в 07:17
  • 5
    Захват в классическом заключении, таком как blender snap, ведет себя как традиционно упакованное приложение с полным доступом к системе. Защелка, которая не требуется устанавливать с опцией --classic, такой как blender-tpaw snap, является полностью автономной, которая не имеет полного доступа к системе, поэтому это более безопасная привязка две доступные снимки блендера для установки. – karel 13 December 2017 в 08:31

В чистом 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

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

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

0
ответ дан 24 July 2018 в 17:24
  • 1
    Да, моя система обновлена ​​с 14.04. Не могли бы вы объяснить, как удалить пакеты obselete? Synaptic не установлен, и я немного незнакома с тем, как его удалить. Итак, после удаления, переустановка блендера устранит проблему? – Erdnase 10 December 2017 в 18:18

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

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