Opened 3 months ago

Closed 3 months ago

Last modified 3 months ago

#10833 closed defect (fixed)

build fails with gcc-14: -Wint-conversion in libavfilter/vsrc_testsrc_vulkan.c

Reported by: Nicolas Chauvet Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description (last modified by Nicolas Chauvet)

There is a build failure with some arches with gcc-14

https://fedoraproject.org/wiki/Changes/GNUToolchainF40
https://fedoraproject.org/wiki/Changes/PortingToModernC

It seems like the error only occurs for i686, but not for x86_64 or aarch64.

In file included from libavfilter/vulkan.h:22,
                 from libavfilter/vulkan_filter.h:26,
                 from libavfilter/vsrc_testsrc_vulkan.c:24:
./libavutil/vulkan.h:227:1: note: the alignment of ‘_Atomic long long int’ fields changed in GCC 11.1
  227 | } FFVkExecPool;
      | ^
libavfilter/vsrc_testsrc_vulkan.c: In function ‘testsrc_vulkan_activate’:
libavfilter/vsrc_testsrc_vulkan.c:234:47: error: passing argument 6 of ‘ff_vk_filter_process_simple’ makes integer from pointer without a cast [-Wint-conversion]
  234 |                                               NULL, &s->opts, sizeof(s->opts));
      |                                               ^~~~
      |                                               |
      |                                               void *
libavfilter/vulkan_filter.h:47:43: note: expected ‘VkSampler’ {aka ‘long long unsigned int’} but argument is of type ‘void *’
   47 |                                 VkSampler sampler, void *push_src, size_t push_size);
      |                                 ~~~~~~~~~~^~~~~~~
libavfilter/vsrc_testsrc_vulkan.c:253:43: error: passing argument 6 of ‘ff_vk_filter_process_simple’ makes integer from pointer without a cast [-Wint-conversion]
  253 |                                           NULL, &s->opts, sizeof(s->opts));
      |                                           ^~~~
      |                                           |
      |                                           void *
libavfilter/vulkan_filter.h:47:43: note: expected ‘VkSampler’ {aka ‘long long unsigned int’} but argument is of type ‘void *’
   47 |                                 VkSampler sampler, void *push_src, size_t push_size);
      |                                 ~~~~~~~~~~^~~~~~~
make: *** [ffbuild/common.mak:81: libavfilter/vsrc_testsrc_vulkan.o] Error 1

Change History (4)

comment:1 by Nicolas Chauvet, 3 months ago

Component: undeterminedavfilter
Version: unspecifiedgit-master

comment:2 by Nicolas Chauvet, 3 months ago

Description: modified (diff)

comment:3 by Lynne, 3 months ago

Analyzed by developer: set
Reproduced by developer: set
Resolution: fixed
Status: newclosed

comment:4 by Nicolas Chauvet, 3 months ago

Thanks for the fix.

Seems like there are missing patch
https://src.fedoraproject.org/fork/smani/rpms/ffmpeg/c/774d42a0072430fdef97ce11b40bdec97bf925ad

But for some reason the patch author didn't manage to send to ffmpeg-devel
Subscriber needs approval ?

Also as rpmfusion.org is concerned, we hope theses patches to land down to ffmpeg-4.x branch at some point.

Note: See TracTickets for help on using tickets.