Отказ в компиляции FFMPEG на Ubuntu 16.04 - рецепт для цели 'libavcodec/libfdk-aacenc.o' перестал работать

Я развил действия по установке, который был зарегистрирован на https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu, и я установил FFMPEG с поддержкой libfdk_aac успешно на Ubuntu 16.04. Недавно, когда я хочу установить снова новую экосистему кодирования, я столкнулся с ошибкой, которая похожа на это:

CC libavcodec/libfdk-aacdec.o В файле, включенном от/home/sn/ffmpeg_build/include/fdk-aac/aacdecoder_lib.h:457:0, от libavcodec/libfdk-aacdec.c:20:

/home/sn/ffmpeg_build/include/fdk-aac/FDK_audio.h:735:30: предупреждение: определенные ‘FDKinitLibInfo’, но не используемые [-Wunused-функция] статический FDK_AUDIO_INLINE освобождают FDKinitLibInfo (LIB_INFO* информация) {^/home/sn/ffmpeg_build/include/fdk-aac/FDK_audio.h:745:1: предупреждение: определенный ‘FDKlibInfo_getCapabilities’, но не используемый [-Wunused-функция] FDKlibInfo_getCapabilities (константа LIB_INFO * информация, FDK_MODULE_ID module_id) {^

/home/sn/ffmpeg_build/include/fdk-aac/FDK_audio.h:757:29: предупреждение: определенный ‘FDKlibInfo_lookup’, но не используемый [-Wunused-функция] статический FDK_AUDIO_INLINE INT FDKlibInfo_lookup (константа LIB_INFO* информация, ^

CC libavcodec/libfdk-aacenc.o libavcodec/libfdk-aacenc.c: В функции ‘aac_encode_init’: libavcodec/libfdk-aacenc.c:293:34: ошибка: ‘AACENC_InfoStruct {иначе структура}’ не имеет никакого участника, названного ‘encoderDelay’ avctx-> initial_padding = info.encoderDelay; ^

В файле, включенном от/home/sn/ffmpeg_build/include/fdk-aac/aacenc_lib.h:1026:0, от libavcodec/libfdk-aacenc.c:20: libavcodec/libfdk-aacenc.c: На верхнем уровне:/home/sn/ffmpeg_build/include/fdk-aac/FDK_audio.h:735:30: предупреждение: определенные ‘FDKinitLibInfo’, но не используемые [-Wunused-функция] статический FDK_AUDIO_INLINE освобождают FDKinitLibInfo (LIB_INFO* информация) {^

/home/sn/ffmpeg_build/include/fdk-aac/FDK_audio.h:745:1: предупреждение: определенный ‘FDKlibInfo_getCapabilities’, но не используемый [-Wunused-функция] FDKlibInfo_getCapabilities (константа LIB_INFO * информация, FDK_MODULE_ID module_id) {^

/home/sn/ffmpeg_build/include/fdk-aac/FDK_audio.h:757:29: предупреждение: определенный ‘FDKlibInfo_lookup’, но не используемый [-Wunused-функция] статический FDK_AUDIO_INLINE INT FDKlibInfo_lookup (константа LIB_INFO* информация, ^ ffbuild/common.mak:60: рецепт для цели 'libavcodec/libfdk-aacenc.o' отказавший делает: *** [libavcodec/libfdk-aacenc.o] Ошибка 1

Кажется, что существует обновление на libfdk или ffmpeg репозитории, который вызывает эту ошибку.

2
задан 11 September 2018 в 10:18

1 ответ

После некоторых расследований я нашел ответ в ffmpeg списке рассылки. Как упомянуто на этом http://www.ffmpeg-archive.org/ffmpeg-compilation-error-on-libfdk-acc-ubuntu16-04-td4685096.html, ошибка повышена из-за обновления на libfdk API. Нет никакого выпуска ffmpeg, который мог соответствовать этой новой версии списка API.

Разумное решение до ffmpeg команда обновляет их коды, понижает libfdk. Для того, чтобы сделать это, Вы могли изменить инструкции по установке libfdk на https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu, как указано ниже:

cd ~/ffmpeg_sources && \
git -C fdk-aac pull 2> /dev/null || git clone --depth 11 https://github.com/mstorsjo/fdk-aac && \
cd fdk-aac && \
autoreconf -fiv && \
./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
make && \
make install

Обратите внимание, что мы изменили параметр глубины и установили его на 11. Это работало на текущую дату этого ответа. Если какая-либо новая фиксация или пакет выпуска публикуют на будущее, необходимо увеличить число глубины для установки нужной версии, что Вы могли скомпилировать ffmpeg с ним.

Другое решение, над которым размышляют https://github.com/mstorsjo/fdk-aac/issues/93 и также на http://www.ffmpeg-archive.org/ffmpeg-compilation-error-on-libfdk-acc-ubuntu16-04-td4685096.html, о применении патча на исходном коде. Сам патч доступен через https://github.com/libav/libav/commit/141c960e21d2860e354f9b90df136184dd00a9a8. Мы должны вручную открыть исходный файл в текстовом редакторе, перейдите к номеру строки, который показывают в пути, и добавьте строки с + и удалите строки с-.

3
ответ дан 2 December 2019 в 02:42

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

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