m-ab-s / media-autobuild_suite

This Windows Batchscript helps setup a Mingw-w64 compiler environment for building ffmpeg and other media tools under Windows.
GNU General Public License v3.0
1.52k stars 263 forks source link

mingw32 ffmpeg compile fails with __asm__ error. #2413

Closed ggarra13 closed 1 year ago

ggarra13 commented 1 year ago

Building ffmpeg 32-bits. All dependencies build fine. ffmpeg fails with an asm error:

┌ ffmpeg git  ............................................ [Files missing]
├ Changing options to comply to lgplv3...
├ Compiling shared FFmpeg...
├ Running configure...
├ Running make...
Likely error (tail of the failed operation logfile):
    inlined from 'get_cabac' at D:/media-autobuild_suite/build/ffmpeg-git/libavcodec/cabac_functions.h:145:12,
    inlined from 'decode_cabac_mb_intra4x4_pred_mode' at D:/media-autobuild_suite/build/ffmpeg-git/libavcodec/h264_cabac.c:1377:9,
    inlined from 'ff_h264_decode_mb_cabac' at D:/media-autobuild_suite/build/ffmpeg-git/libavcodec/h264_cabac.c:2081:32:
D:/media-autobuild_suite/build/ffmpeg-git/libavcodec/x86/cabac.h:199:5: error: 'asm' operand has impossible constraints
  199 |     __asm__ volatile(
      |     ^~~~~~~
D:/media-autobuild_suite/build/ffmpeg-git/libavcodec/x86/cabac.h:199:5: error: 'asm' operand has impossible constraints
D:/media-autobuild_suite/build/ffmpeg-git/libavcodec/x86/cabac.h:199:5: error: 'asm' operand has impossible constraints
D:/media-autobuild_suite/build/ffmpeg-git/libavcodec/x86/cabac.h:199:5: error: 'asm' operand has impossible constraints
make: *** [/build/ffmpeg-git/ffbuild/common.mak:81: libavcodec/h264_cabac.o] Error 1
make failed. Check D:/media-autobuild_suite/build/ffmpeg-git/build-shared-32bit/ab-suite.make.log
This is required for other packages, so this script will exit.
  Creating diagnostics file...

Attach D:\media-autobuild_suite\build\logs.zip to the GitHub issue.
Make sure the suite is up-to-date before reporting an issue. It might've been fixed already.

logs.zip

Barough commented 1 year ago

logs.zip

1480c1 commented 1 year ago

@Barough if you aren't compiling the latest ffmpeg, you might need to cherry-pick http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=182663a58a7a099e02e76da3b0f96d63e5c26a6d into your branch, same with @ggarra13.

an example way to cherry-pick might be

curl -Ls "http://git.videolan.org/?p=ffmpeg.git;a=patch;h=182663a58a7a099e02e76da3b0f96d63e5c26a6d" | git am

or just curl -Ls "http://git.videolan.org/?p=ffmpeg.git;a=patch;h=182663a58a7a099e02e76da3b0f96d63e5c26a6d" | git apply