Opened 8 months ago

Closed 8 months ago

Last modified 8 months ago

#10491 closed defect (duplicate)

FFMPEG 6.0 compilation fails using gcc 13

Reported by: Igor Serganov Owned by:
Priority: important Component: avcodec
Version: 6.0 Keywords:
Cc: Igor Serganov Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

FFMPEG 6.0 build from source fails with gcc 13 compiler. With previous gcc version compilation worked well. See the script below:

wget -O ffmpeg-6.0.tar.bz2 https://ffmpeg.org/releases/ffmpeg-6.0.tar.bz2 && \
tar xjvf ffmpeg-6.0.tar.bz2 && \
cd ffmpeg-6.0 && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
  --pkg-config-flags="--static" \
  --extra-ldexeflags="-static" \
  --extra-cflags='-static -I$HOME/ffmpeg_build/include' \
  --extra-ldflags="-static -L$HOME/ffmpeg_build/lib" \
  --extra-cxxflags='-static -I$HOME/ffmpeg_build/include' \
  --extra-libs='-lpthread -lm -lz -lfdk-aac' \
  --ld="g++" \
  --bindir="/usr/local/bin" \
  --enable-static \
  --disable-debug \
  --disable-libxcb \
  --disable-libxcb-shm \
  --disable-libxcb-xfixes \
  --disable-libxcb-shape \
  --disable-shared \
  --disable-outdevs \
  --disable-indev=sndio \
  --disable-outdev=sndio \
  --enable-gpl \
  --enable-openssl \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree && \
PATH="$HOME/bin:$PATH" make -j10 && \
make -j10 install && \
hash -r

Error output:

336.1 ./libavcodec/x86/mathops.h: Assembler messages:
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 ./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
336.1 make: * [ffbuild/common.mak:81: libavformat/adtsenc.o] Error 1

Change History (3)

comment:1 by Balling, 8 months ago

The last version of gcc is 13.2.

comment:2 by Igor Serganov, 8 months ago

I have tried 13.1.
Do you think it is gcc bug?

comment:3 by Balling, 8 months ago

Resolution: duplicate
Status: newclosed

It is a dup of #10405, fixed in effadce6c756247ea8bae32dc13bb3e6f464f0eb. Yes, a bug in binutils. If you want to shoot yourself in the hand with assembler you should be able to.

Last edited 8 months ago by Balling (previous) (diff)
Note: See TracTickets for help on using tickets.