Bug #1021

media-libs/gegl-0.2.0-r2 для media-gfx/gimp-2.8.22 имеет неявную ошибку при сборке с современным ffmpeg

Добавил(а) Фёдор Ратиев около 7 лет назад. Обновлено около 7 лет назад.

Статус:Feedback Начата:12.09.2017
Приоритет:High Дата выполнения:
Назначена:- Готовность в %:

0%

Категория:Desktop Затраченное время: -
Версия:-
Голоса: 0

Описание

>>> Messages generated by process 31472 on 2017-09-12 03:04:41 MSK for package media-libs/gegl-0.2.0-r2:

QA: other
QA Notice: Package triggers severe warnings which indicate that it
           may exhibit random runtime failures.
ff-load.c:324:23: warning: implicit declaration of function ‘avcodec_alloc_frame’ [-Wimplicit-function-declaration]
Please do not file a Gentoo bug and instead report the above QA
issues directly to the upstream developers of this software.
Homepage: http://www.gegl.org/

Дело в том, что в ffmpeg-3.3.3/doc/APIchanges в строке 983 есть запись:
2013-12-11 - 29c83d2 / b9fb59d,409a143 / 9431356,44967ab / d7b3ee9 - lavc 55.45.101 / 55.28.1 - avcodec.h
  av_frame_alloc(), av_frame_unref() and av_frame_free() now can and should be
  used instead of avcodec_alloc_frame(), avcodec_get_frame_defaults() and
  avcodec_free_frame() respectively. The latter three functions are deprecated.

Где дропнули deprecated я не выяснял.

Предистория:
Я запустил svg изображение с xfce-terminal через exo-open, оно открылось в gimp, но я обратил внимание на вывод в консоли. Там было написано, что /usr/lib64/gegl-0.2/ff-load.so undefined reference avcodec_alloc_frame.
Так как gegl и gimp и много чего ещё собрано у меня с LTO, я решил разобраться. Гугл дал мне ссылку на https://bugs.archlinux.org/task/48463. Там я нашёл патч для gegl с заменой avcodec_alloc_frame на av_frame_alloc. После применения патча через /etc/portage/patches + /etc/portage/bashrc QA перестал выдавать предупреждение и запуск gimp из консоли тоже перестал писать /usr/lib64/gegl-0.2/ff-load.so undefined reference avcodec_alloc_frame.
Просьба, если кто-нибудь зарегестрирован на gentoo.org и хорошо владеет английским, пересказать им суть ошибки и передать патч.

0001-use-av_frame_alloc-instead-of-avcodec_alloc_frame.patch - diff между gegl-0.2.0-orig и после применения патча (955 байта) Фёдор Ратиев, Вт, 12 сент. 2017, 17:05:09 +0300

История

Обновлено Фёдор Ратиев около 7 лет назад

Также я искал в распакованных исходниках gegl через double commander - avcodec_free_frame, av_frame_unref, av_frame_free, avcodec_free_frame, но, ничего не нашёл.

Обновлено Фёдор Ратиев около 7 лет назад

Прошу прощения, запамятовал. Ошибка была такая:

GEGL-geglmodule.c-Message: Module '/usr/lib/gegl-0.2/ff-load.so' load error: /usr/lib/gegl-0.2/ff-load.so: undefined symbol: avcodec_alloc_frame

Обновлено Alexander Tratsevskiy около 7 лет назад

  • Параметр Статус изменился с New на Feedback

Может ошибку следует переадресовать мантейнеру пакета в https://bugs.gentoo.org, чтобы в Gentoo её так же устранили?

Экспортировать в Atom PDF

Спасибо!