[FFmpeg-trac] #11119(avcodec:new): 7.0: FTBFS on big-endian architectures with GCC 14

FFmpeg trac at avcodec.org
Tue Jul 30 11:39:57 EEST 2024


#11119: 7.0: FTBFS on big-endian architectures with GCC 14
-------------------------------------+-------------------------------------
             Reporter:  Sebastian    |                     Type:  defect
  Ramacher                           |
               Status:  new          |                 Priority:  normal
            Component:  avcodec      |                  Version:
                                     |  unspecified
             Keywords:  FTBFS        |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 ffmpeg no longer builds on big-endian architectures with GCC 14:
 {{{
 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_avcodec -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/s390x-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/s390x-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6
 -pthread  -DHWY_SHARED_DEFINE   -I/usr/include/openjpeg-2.5 -I/usr/include
 /s390x-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/s390x-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
 /s390x-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/s390x-linux-gnu  -I/usr/include/libxml2 -I/usr/include/AL
 -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 libavcodec
 /pcm-blurayenc.d -MT libavcodec/pcm-blurayenc.o -c -o libavcodec/pcm-
 blurayenc.o src/libavcodec/pcm-blurayenc.c
 src/libavcodec/pcm-bluray.c: In function ‘pcm_bluray_decode_frame’:
 src/libavcodec/pcm-bluray.c:170:45: error: passing argument 2 of
 ‘bytestream2_get_buffer’ from incompatible pointer type [-Wincompatible-
 pointer-types]
   170 |                 bytestream2_get_buffer(&gb, dst16, buf_size);
       |                                             ^~~~~
       |                                             |
       |                                             int16_t * {aka short
 int *}
 In file included from src/libavcodec/pcm-bluray.c:29:
 src/libavcodec/bytestream.h:268:70: note: expected ‘uint8_t *’ {aka
 ‘unsigned char *’} but argument is of type ‘int16_t *’ {aka ‘short int *’}
   268 |
 uint8_t *dst,
       |
 ~~~~~~~~~^~~
 src/libavcodec/pcm-bluray.c:190:49: error: passing argument 2 of
 ‘bytestream2_get_buffer’ from incompatible pointer type [-Wincompatible-
 pointer-types]
   190 |                     bytestream2_get_buffer(&gb, dst16,
 avctx->ch_layout.nb_channels * 2);
       |                                                 ^~~~~
       |                                                 |
       |                                                 int16_t * {aka
 short int *}
 src/libavcodec/bytestream.h:268:70: note: expected ‘uint8_t *’ {aka
 ‘unsigned char *’} but argument is of type ‘int16_t *’ {aka ‘short int *’}
   268 |
 uint8_t *dst,
       |
 ~~~~~~~~~^~~
 make[2]: *** [/<<PKGBUILDDIR>>/ffbuild/common.mak:81: libavcodec/pcm-
 bluray.o] Error 1
 }}}

 See
 https://buildd.debian.org/status/fetch.php?pkg=ffmpeg&arch=s390x&ver=7%3A7.0.1-4&stamp=1722283774&raw=0
 for the full build log.
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/11119>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list