[FFmpeg-devel] 64b3aac8d0 "h264: Use common SEI types" broke cross-compile for OSX

Mark Himsley mark.himsley at gmail.com
Fri Jan 22 13:43:04 EET 2021


On Fri, 22 Jan 2021 at 11:11, Andreas Rheinhardt
<andreas.rheinhardt at gmail.com> wrote:
>
> Mark Himsley:
> > I cross-compile for OSX on Linux. Last night's commit 64b3aac8d0
> > "h264: Use common SEI types" seems to have broken the build.
> >
> > ./configure     --extra-version=static_osx_x86_64_202101221019
> > --extra-cflags=      --extra-libs= -lpthread -lm
> > --pkg-config-flags=--static     --cross-prefix=x86_64-apple-darwin15-
> >    --arch=x86_64     --target-os=darwin     --prefix=/opt/ffbuild
> > --enable-gpl     --enable-version3     --enable-nonfree
> > --disable-ffplay     --disable-dxva2
> > --cc=/opt/osxcross/target/bin/x86_64-apple-darwin15-cc
> > --enable-libxml2 --enable-openssl --enable-libsrt --enable-libmp3lame
> > --enable-libspeex --enable-libtheora --enable-libvorbis
> > --enable-libopus --enable-libxvid --enable-libvpx --enable-libfdk-aac
> > --enable-libx264 --enable-libx265 --enable-libopenjpeg --enable-libaom
> >
> > make V=1 ${ffbuild_make}
> > ...
> > /opt/osxcross/target/bin/x86_64-apple-darwin15-cc -I. -I./
> > -I/opt/ffbuild/include -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64
> > -D_LARGEFILE_SOURCE -I./compat/dispatch_semaphore -DPIC -DZLIB_CONST
> > -DHAVE_AV_CONFIG_H -DBUILDING_avcodec -I/opt/ffbuild/include
> > -std=c11 -Werror=partial-availability -fomit-frame-pointer -fPIC
> > -pthread -I/opt/ffbuild/include -I/opt/ffbuild/include
> > -I/opt/ffbuild/include -I/opt/ffbuild/include/openjpeg-2.4
> > -I/opt/ffbuild/include/opus -I/opt/ffbuild/include/opus
> > -I/opt/ffbuild/include -I/opt/ffbuild/include
> > -I/opt/ffbuild/include/srt -I/opt/ffbuild/include
> > -I/opt/ffbuild/include -I/opt/ffbuild/include -I/opt/ffbuild/include
> > -I/opt/ffbuild/include -I/opt/ffbuild/include -I/opt/ffbuild/include
> > -I/opt/ffbuild/include -I/opt/ffbuild/include
> > -I/opt/ffbuild/include/libxml2 -I/opt/ffbuild/include -g
> > -Wdeclaration-after-statement -Wall -Wdisabled-optimization
> > -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits
> > -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast
> > -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch
> > -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable
> > -Wno-char-subscripts -O3 -fno-math-errno -fno-signed-zeros
> > -mstack-alignment=16 -Qunused-arguments
> > -Werror=implicit-function-declaration -Werror=missing-prototypes
> > -Werror=return-type   -MMD -MF libavcodec/vmdvideo.d -MT
> > libavcodec/vmdvideo.o -c -o libavcodec/vmdvideo.o
> > libavcodec/vmdvideo.c
> > libavcodec/videotoolboxenc.c:1754:37: error: use of undeclared
> > identifier 'SEI_TYPE_USER_DATA_REGISTERED'; did you mean
> > 'SEI_TYPE_USER_DATA_UNREGISTERED'?
> >                                     SEI_TYPE_USER_DATA_REGISTERED,
> >                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >                                     SEI_TYPE_USER_DATA_UNREGISTERED
> > libavcodec/sei.h:35:5: note: 'SEI_TYPE_USER_DATA_UNREGISTERED' declared here
> >     SEI_TYPE_USER_DATA_UNREGISTERED                      = 5,
> >     ^
> > libavcodec/videotoolboxenc.c:1810:37: error: use of undeclared
> > identifier 'SEI_TYPE_USER_DATA_REGISTERED'; did you mean
> > 'SEI_TYPE_USER_DATA_UNREGISTERED'?
> >                                     SEI_TYPE_USER_DATA_REGISTERED,
> >                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >                                     SEI_TYPE_USER_DATA_UNREGISTERED
> > libavcodec/sei.h:35:5: note: 'SEI_TYPE_USER_DATA_UNREGISTERED' declared here
> >     SEI_TYPE_USER_DATA_UNREGISTERED                      = 5,
> >     ^
> > libavcodec/videotoolboxenc.c:1906:45: error: use of undeclared
> > identifier 'SEI_TYPE_USER_DATA_REGISTERED'; did you mean
> > 'SEI_TYPE_USER_DATA_UNREGISTERED'?
> >                                             SEI_TYPE_USER_DATA_REGISTERED);
> >                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >                                             SEI_TYPE_USER_DATA_UNREGISTERED
> > libavcodec/sei.h:35:5: note: 'SEI_TYPE_USER_DATA_UNREGISTERED' declared here
> >     SEI_TYPE_USER_DATA_UNREGISTERED                      = 5,
> >     ^
> > 3 errors generated.
> > ffbuild/common.mak:67: recipe for target 'libavcodec/videotoolboxenc.o' failed
> > make: *** [libavcodec/videotoolboxenc.o] Error 1
> >
> >
> Please test this patch here:
> https://ffmpeg.org/pipermail/ffmpeg-devel/2021-January/274958.html

Yes - with that patch my OSX build compiles in now. I have not tested
FFmpeg doing a transcode, but it executes.

I'm going to test a Linux x86-64 compile and a Windows-x86-64 cross-compile too.

Thank you Andreas.

-- 
Mark Himsley


More information about the ffmpeg-devel mailing list