Opened 3 months ago

Closed 3 months ago

#11115 closed defect (fixed)

7.0: FTBFS on 32 bit architectures with GCC 14

Reported by: Sebastian Ramacher Owned by:
Priority: normal Component: avutil
Version: git-master Keywords:
Cc: Sebastian Ramacher Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Since Debian switched to GCC 14, ffmpeg 7.0.1 no longer builds on 32 bit architectures:

gcc -I. -Isrc/ -Wdate-time -D_FORTIFY_SOURCE=2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_ISOC11_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_avutil -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fno-strict-overflow -fstack-protector-all -fPIE   -std=c17 -fomit-frame-pointer -fPIC     -pthread   -I/usr/include/p11-kit-1  -I/usr/include/lilv-0 -I/usr/include/serd-0 -I/usr/include/sord-0 -I/usr/include/zix-0 -I/usr/include/sratom-0 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread -I/usr/include/fribidi -I/usr/include/libxml2 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/bs2b    -I/usr/include/libdrm   -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread  -DHWY_SHARED_DEFINE   -I/usr/include/openjpeg-2.5 -I/usr/include/i386-linux-gnu -I/usr/include/opus -I/usr/include/opus  -D_REENTRANT  -I/usr/include/rav1e -I/usr/include/cjson -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/i386-linux-gnu -I/usr/include/webp -pthread -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/pixman-1     -I/usr/include/srt -I/usr/include/p11-kit-1 -I/usr/include/svt-av1 -DEB_DLL        -I/usr/include/webp -I/usr/include/webp -DX264_API_IMPORTS   -isystem /usr/include/mit-krb5 -I/usr/include/pgm-5.3 -I/usr/include/libxml2 -I/usr/include/i386-linux-gnu  -I/usr/include/libxml2 -I/usr/include/AL  -I/usr/include/sphinxbase -I/usr/include/pocketsphinx -I/usr/include/i386-linux-gnu -I/usr/include/i386-linux-gnu/sphinxbase        -I/usr/include/libdrm     -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable -Wno-bool-operation -Wno-char-subscripts -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=format-security -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -fdiagnostics-color=auto -Wno-maybe-uninitialized -I/usr/include/SDL2 -D_REENTRANT   -MMD -MF libavutil/hwcontext_vdpau.d -MT libavutil/hwcontext_vdpau.o -c -o libavutil/hwcontext_vdpau.o src/libavutil/hwcontext_vdpau.c
In file included from /usr/include/CL/cl.h:20,
                 from src/libavutil/hwcontext_opencl.h:25,
                 from src/libavutil/hwcontext_opencl.c:30:
/usr/include/CL/cl_version.h:22:9: note: ‘#pragma message: cl_version.h: CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 300 (OpenCL 3.0)’
   22 | #pragma message("cl_version.h: CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 300 (OpenCL 3.0)")
      |         ^~~~~~~
src/libavutil/hwcontext_vaapi.c: In function ‘vaapi_map_from_drm’:
src/libavutil/hwcontext_vaapi.c:1238:34: error: assignment to ‘uintptr_t *’ {aka ‘unsigned int *’} from incompatible pointer type ‘long unsigned int *’ [-Wincompatible-pointer-types]
 1238 |         buffer_desc.buffers      = &buffer_handle;
      |                                  ^
make[2]: *** [/<<PKGBUILDDIR>>/ffbuild/common.mak:81: libavutil/hwcontext_vaapi.o] Error 1

Full build log is available at https://buildd.debian.org/status/fetch.php?pkg=ffmpeg&arch=i386&ver=7%3A7.0.1-3&stamp=1722192297&raw=0

Change History (4)

comment:1 by Sebastian Ramacher, 3 months ago

Component: avcodecavutil

comment:2 by Sebastian Ramacher, 3 months ago

Also later:

src/fftools/ffplay_renderer.c: In function ‘destroy’:
src/fftools/ffplay_renderer.c:768:25: error: assignment to ‘VkSurfaceKHR’ {aka ‘long long unsigned int’} from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  768 |         ctx->vk_surface = NULL;
      |                         ^
make[2]: *** [/<<PKGBUILDDIR>>/ffbuild/common.mak:81: fftools/ffplay_renderer.o] Error 1

in reply to:  2 comment:3 by James, 3 months ago

Replying to Sebastian Ramacher:

Also later:

src/fftools/ffplay_renderer.c: In function ‘destroy’:
src/fftools/ffplay_renderer.c:768:25: error: assignment to ‘VkSurfaceKHR’ {aka ‘long long unsigned int’} from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
  768 |         ctx->vk_surface = NULL;
      |                         ^
make[2]: *** [/<<PKGBUILDDIR>>/ffbuild/common.mak:81: fftools/ffplay_renderer.o] Error 1

This was fixed in 173673f3592f1f8bce3c9221007084ccdbcacd6e, to be included in 7.0.2

Can you test https://patchwork.ffmpeg.org/project/ffmpeg/patch/20240731130115.63422-1-jamrial@gmail.com/ for the other error?

comment:4 by James, 3 months ago

Resolution: fixed
Status: newclosed
Version: 7.0git-master
Note: See TracTickets for help on using tickets.