[FFmpeg-devel] Building for Mac x86 with GCC & NASM
softworkz .
softworkz at hotmail.com
Wed May 28 11:49:43 EEST 2025
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Martin Storsjö
> Sent: Mittwoch, 28. Mai 2025 10:27
> To: FFmpeg development discussions and patches <ffmpeg-
> devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] Building for Mac x86 with GCC & NASM
>
> On Wed, 28 May 2025, softworkz . wrote:
>
> >> -----Original Message-----
> >> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> >> Martin Storsjö
> >> Sent: Mittwoch, 28. Mai 2025 07:55
> >> To: FFmpeg development discussions and patches <ffmpeg-
> >> devel at ffmpeg.org>
> >> Subject: Re: [FFmpeg-devel] Building for Mac x86 with GCC & NASM
> >>
> >> These warnings appeared since the new linker in Xcode 15.0, 1.5
> years
> >> ago.
> >> I'm not aware of a flag for silencing these warnings; the only way
> I'm
> >> aware of is to force using the old linker by passing -Wl,-
> ld_classic.
> >
> > Thanks for the tip. It works to the extent that it prevents those
> > messages from appearing and make completes successfully. But almost
> > all (4724) fate tests are failing, haven't tried to trace it down.
>
> That sounds odd; it works fine for me (on an arm64 mac).
Can you spot any difference to my configure that could be the culprit?
./configure --pkg-config-flags="--static" --extra-libs="-lm" \
--extra-cflags="-mmacosx-version-min=14.0" \
--extra-ldflags="-mmacosx-version-min=14.0 -Wl,-ld_classic -Wl,-platform_version,macos,14.0,14.0" \
--enable-gpl \
--enable-nonfree \
--enable-videotoolbox \
--samples=fate-suite --disable-stripping \
--disable-doc --disable-optimizations --disable-avx512 --enable-debug=3
> However this flag isn't a great solution either, since Xcode 16, the
> linker warns "ld: warning: -ld_classic is deprecated and will be
> removed
> in a future release".
I'm on a macos-14 machine for now, not sure about the Xcode version,
does it align to the OS version?
> > This led me to a reference indicating that YASM already does it
> right.
> > I tried to build with YASM instead. After disabling HEVC and VVC
> decoders
> > it ran almost to the end, but then it failed on tx_float:
> >
> > Warning: libavcodec/x86/vp9lpf.o
> > skipping strip -x
> > Warning: libavcodec/x86/vp9lpf.o
> > libavutil/x86/tx_float.asm:1936: error:
> > Warning: (PFA_15_FN:21) expression syntax
> > Warning: error
> > libavutil/x86/tx_float.asm:1937: error: (PFA_15_FN:21)
> > Warning: expression syntax error
> > make: *** [libavutil/x86/tx_float.o] Error
> >
> > I don't know whether it can be disabled in some way as it appears to
> be
> > a prerequisite for many codecs and filters?
> > Besides that, I suppose that YASM isn't a good idea at all, right?`
>
> I'm not really familiar with the situation about x86 assemblers, but
> afaik
> yasm is much further behind on many other aspects.
>
> > From a different angle - what do you think would be the most useful
> > Mac build for Patchwork CI in general?
> > The available runners are macos 13, 14 and 15 - all x86, there's no
> > arm yet.
> > And would it be better to use Clang like in case of your FATE
> machines?
>
> I would recommend you to use the Apple provided Clang rather than GCC.
Okay good, I'll switch to that.
Thanks again
sw
More information about the ffmpeg-devel
mailing list