Bug 40437

Summary: ffmpeg FTBFS on aarch64 and armh
Product: Sisyphus Reporter: Dmitry V. Levin <ldv>
Component: ffmpegAssignee: Slava Aseev <ptrnine>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: critical    
Priority: P5 CC: aen, darktemplar, placeholder, ptrnine, rider, zerg
Version: unstable   
Hardware: aarch64   
OS: Linux   
URL: https://lists.altlinux.org/pipermail/sisyphus-incominger/2021-July/620338.html
Bug Depends on:    
Bug Blocks: 27222    

Description Dmitry V. Levin 2021-07-10 14:35:29 MSK
http://git.altlinux.org/tasks/277898/logs/events.1.1.log:
2021-Jul-10 11:21:36 :: message: rebuild to update libsnappy.so.1 dependencies for p10
#100 build 4.4-alt4 from /gears/f/ffmpeg.git fetched at 2021-Jul-10 11:15:15 from sisyphus
...
2021-Jul-10 11:23:43 :: [aarch64] ffmpeg.git 4.4-alt4: remote: build failed
2021-Jul-10 11:24:51 :: [armh] ffmpeg.git 4.4-alt4: remote: build failed

$ git grep -wn ^ffmpeg
alt-education-x86_64.bnames:463:ffmpeg
alt-sp8-workstation-i586.bnames:316:ffmpeg
alt-sp8-workstation-x86_64.bnames:322:ffmpeg
alt-workstation-k-install-x86_64.bnames:312:ffmpeg
slinux-install-x86_64.bnames:255:ffmpeg
dist.src_all:710:ffmpeg
Comment 1 Anton Farygin 2021-07-12 12:56:12 MSK
я этой проблемой прямо сейчас заняться не смогу, буду благодарен за помощь.
Comment 2 Slava Aseev 2021-07-13 15:50:18 MSK
VP8-related определения перенесли в uapi:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=363240ce1c08875815d28276f0a793bcaedb1ee9

По всем сходным структурам в ffmpeg конфликт возникает только с одной - v4l2_vp8_entropy_coder_state (определена в libavcodec/vp8-ctrls.h и в /usr/include/linux/v4l2-controls.h)

Т.к. libavcodec/vp8-ctrls.h это не публичный хедер, выход простой - переименовать v4l2_vp8_entropy_coder_state в v4l2_vp8_entropy_boolean_coder_state, например
Comment 3 Slava Aseev 2021-07-13 16:16:50 MSK
А, libavcodec/vp8-ctrls.h это не апстримная хедер.
Тогда надо сделать что-то вроде этого: http://git.altlinux.org/gears/f/ffmpeg.git?p=ffmpeg.git;a=commit;h=04cd4742b97e7c3655002c7df94819fa06af85ed
Comment 4 Slava Aseev 2021-07-14 15:40:17 MSK
Сделал таск http://git.altlinux.org/tasks/278898/
Нужно будет зааппрувить
Comment 5 Dmitry V. Levin 2021-07-14 15:48:43 MSK
(In reply to Slava Aseev from comment #4)
> Сделал таск http://git.altlinux.org/tasks/278898/
> Нужно будет зааппрувить

Напишите, пожалуйста, в %changelog, что измненение закрывает этот репорт.
Comment 6 Dmitry V. Levin 2021-07-14 15:58:23 MSK
(In reply to Slava Aseev from comment #4)
> Сделал таск http://git.altlinux.org/tasks/278898/
> Нужно будет зааппрувить

Это изменение сделано в рассчёте на то, что для сборки используются самые свежие ядерные хедеры.  Это так и было задумано?
Comment 7 Slava Aseev 2021-07-14 16:54:39 MSK
(Ответ для Dmitry V. Levin на комментарий #6)
> (In reply to Slava Aseev from comment #4)
> > Сделал таск http://git.altlinux.org/tasks/278898/
> > Нужно будет зааппрувить
> 
> Это изменение сделано в рассчёте на то, что для сборки используются самые
> свежие ядерные хедеры.  Это так и было задумано?

Так и было задумано, я увидел в сизифе glibc-kernheaders 5.13
Может, я чего-то не понимаю, с этим могут быть какие-то проблемы?


При сборке повалился тест-шатун:
[aarch64]    hevc_idct_8x8_dc_8_neon (hevc_idct.c:81)
[aarch64]  - hevc_idct.idct_dc               [FAILED]
[aarch64]  - hevc_idct.idct                  [OK]

Вероятно, исправлено в апстриме: https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/f27e3ccf06ee19935d160164ca4a02f28cfc2a27
Comment 8 Dmitry V. Levin 2021-07-15 14:16:19 MSK
Нужен мантейнер, чтобы принять решение по этому пакету.
Comment 9 Sergey V Turchin 2021-07-21 12:03:16 MSK
> Так и было задумано, я увидел в сизифе glibc-kernheaders 5.13
А это не сможет привести к тому, что на 5.10-std-def что-то не заработает?
Comment 10 Dmitry V. Levin 2021-07-21 13:05:43 MSK
(In reply to Sergey V Turchin from comment #9)
> > Так и было задумано, я увидел в сизифе glibc-kernheaders 5.13
> А это не сможет привести к тому, что на 5.10-std-def что-то не заработает?

Не должно.
Comment 11 Slava Aseev 2021-07-21 13:42:55 MSK
(Ответ для Sergey V Turchin на комментарий #9)
> > Так и было задумано, я увидел в сизифе glibc-kernheaders 5.13
> А это не сможет привести к тому, что на 5.10-std-def что-то не заработает?

В основном в glibc-kernheaders 5.13 просто добавляются определения структур, которые уже были определены в ffmpeg. Определения идентичны (за исключением названий некоторых полей, что не важно, в общем-то)

Единственное отличие там в дефайне V4L2_CID_STATELESS_VP8_FRAME, заменяющем V4L2_CID_MPEG_VIDEO_VP8_FRAME_HEADER. С версии 5.13 ядро обрабатывает именно значение V4L2_CID_STATELESS_VP8_FRAME. К чему все это может привести на старых ядрах - я не знаю.
Ну и к чему приведет сохранение V4L2_CID_MPEG_VIDEO_VP8_FRAME_HEADER на новых >5.13 ядрах - тоже непонятно.
Comment 12 Dmitry V. Levin 2021-07-21 13:58:08 MSK
(In reply to Slava Aseev from comment #11)
> (Ответ для Sergey V Turchin на комментарий #9)
> > > Так и было задумано, я увидел в сизифе glibc-kernheaders 5.13
> > А это не сможет привести к тому, что на 5.10-std-def что-то не заработает?
> 
> В основном в glibc-kernheaders 5.13 просто добавляются определения структур,
> которые уже были определены в ffmpeg. Определения идентичны (за исключением
> названий некоторых полей, что не важно, в общем-то)
> 
> Единственное отличие там в дефайне V4L2_CID_STATELESS_VP8_FRAME, заменяющем
> V4L2_CID_MPEG_VIDEO_VP8_FRAME_HEADER. С версии 5.13 ядро обрабатывает именно
> значение V4L2_CID_STATELESS_VP8_FRAME. К чему все это может привести на
> старых ядрах - я не знаю.
> Ну и к чему приведет сохранение V4L2_CID_MPEG_VIDEO_VP8_FRAME_HEADER на
> новых >5.13 ядрах - тоже непонятно.

См. https://git.kernel.org/torvalds/c/363240ce1c08875815d28276f0a793bcaedb1ee9
Comment 13 Repository Robot 2021-07-23 12:59:15 MSK
ffmpeg-2:4.4-alt5 -> sisyphus:

 Wed Jul 14 2021 Slava Aseev <ptrnine@altlinux> 2:4.4-alt5
 - fixed build on arm (closes: #40437)
Comment 14 AEN 2021-07-23 13:00:47 MSK
Спасибо! 
Прошу отправить в p10.
Comment 15 Slava Aseev 2021-07-23 16:38:09 MSK
(Ответ для AEN на комментарий #14)
> Спасибо! 
> Прошу отправить в p10.

Готово: #280517