Bug#1077551: ffmpeg: Fails to build on s390x with gcc-14

Jeremy Bícha <[email protected]>
Newsgroups gmane.linux.debian.ports.s390
Message-ID <CAD+GYvx6freE2bRMjGhKe9xRzVzjqqv=w0cQyHRvsPUY3eL6fg__18787.8167069115$1722289532$gmane$org@mail.gmail.com>
Source: ffmpeg
Version: 7:7.0.1-4
Severity: serious
Tags: ftbfs sid trixie
User: [email protected]
Usertags: ftbfs-gcc-14
User: [email protected]
Usertags: s390x
X-Debbugs-CC: [email protected], [email protected]

ffmpeg fails to build on s390x (and several other big endian
architectures) after the switch to gcc-14. This is blocking the
completion of the ongoing ffmpeg 7 transition.

https://buildd.debian.org/status/package.php?p=ffmpeg

Build log excerpt
=============
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,
      |                                                             ~~~~~~~~~^~~

Thank you,
Jeremy Bícha
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.