Opened 2 years ago

Last modified 19 months ago

#9687 new defect

vf_yadif_videotoolbox.metal is always recompiled when running make (install/test)

Reported by: Hanspeter Niederstrasser Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords:
Cc: Christian Ebert Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
At the end of make, the generated files belonging to vf_yadif_videotoolbox seem to be removed, triggering their rebuild along with libavfilter.dylib when make install or make test are run.

How to reproduce:

$ ./configure <options>
$ make
<lots of compilation>
mkdir -p libavfilter/x86/
gcc -I. -Isrc/ -D_ISOC99_SOURCE -std=c99 -Wall -O3  -MMD -MF ffbuild/bin2c_host.d -MT ffbuild/bin2c_host.o -c -o ffbuild/bin2c_host.o src/ffbuild/bin2c.c
xcrun -sdk macosx metal /sw/build.build/libavcodec59-5.0-shlibs-5.0-1/ffmpeg-5.0/libavfilter/metal/vf_yadif_videotoolbox.metal -o libavfilter/metal/vf_yadif_videotoolbox.metal.air
<more compiling until the end>
strip -x -o ffprobe ffprobe_g
strip -x -o ffmpeg ffmpeg_g
rm libavfilter/metal/vf_yadif_videotoolbox.metal.air libavfilter/metal/vf_yadif_videotoolbox.metallib libavfilter/metal/vf_yadif_videotoolbox.metallib.c

$ make install (or make test)
xcrun -sdk macosx metal /sw/build.build/libavcodec59-5.0-shlibs-5.0-1/ffmpeg-5.0/libavfilter/metal/vf_yadif_videotoolbox.metal -o libavfilter/metal/vf_yadif_videotoolbox.metal.air
xcrun -sdk macosx metallib --split-module-without-linking libavfilter/metal/vf_yadif_videotoolbox.metal.air -o libavfilter/metal/vf_yadif_videotoolbox.metallib
ffbuild/bin2c libavfilter/metal/vf_yadif_videotoolbox.metallib libavfilter/metal/vf_yadif_videotoolbox.metallib.c vf_yadif_videotoolbox_metallib
gcc -I. -Isrc/ -I/sw/include -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/sw/build.build/libavcodec59-5.0-shlibs-5.0-1/ffmpeg-5.0/compat/dispatch_semaphore -DPIC -DZLIB_CONST -DHAVE_AV_CONFIG_H -DBUILDING_avfilter -fno-stack-check -I/sw/lib/libspeex1/include -I/sw/include -I/opt/X11/include -std=c11 -Werror=partial-availability -fomit-frame-pointer -fPIC -I/opt/X11/include -I/opt/X11/include -I/opt/X11/include -pthread -I/sw/include -I/sw/include -I/sw/include/libxml2 -I/sw/include -I/sw/include/freetype2 -I/sw/include -I/sw/include/bs2b -I/sw/include -I/sw/include -I/sw/include/freetype2 -I/sw/include/fribidi -I/sw/include -I/sw/include -I/sw/include -I/sw/include/openjpeg-2.4 -I/sw/include -I/sw/include/opus -I/sw/include/opus -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/include -I/sw/lib/libcdio-2.1/include -I/opt/X11/include -I/opt/X11/include -I/opt/X11/include -I/opt/X11/include -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -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 -I/sw/include/SDL2 -D_THREAD_SAFE   -MMD -MF libavfilter/metal/vf_yadif_videotoolbox.metallib.d -MT libavfilter/metal/vf_yadif_videotoolbox.metallib.o -c -o libavfilter/metal/vf_yadif_videotoolbox.metallib.o libavfilter/metal/vf_yadif_videotoolbox.metallib.c
sed 's/MAJOR/8/' /sw/build.build/libavcodec59-5.0-shlibs-5.0-1/ffmpeg-5.0/libavfilter/libavfilter.v | tr " " "\n" | sed -n /global:/,/local:/p | grep ";" | tr ";" "\n" | sed -E "s/(.+)/_\1/g" | sed -E "s/(.+[^*])$/\1*/" > libavfilter/libavfilter.ver
<libavfilter.dylib gets rebuilt as well>
<which triggers rebuild of libavdevice.dylib and executables as well>
<finish installing>
install -m 644 libavutil/libavutil.pc "/tmp/prefix4/usr/local/ffmpeg-clang/lib/pkgconfig"
rm libavfilter/metal/vf_yadif_videotoolbox.metal.air libavfilter/metal/vf_yadif_videotoolbox.metallib

Originally found with v5.0 (which is not yet available in the dropdown for bug reports btw) on macOS 10.14.6 but also happens with git-head.

Change History (1)

comment:1 by Christian Ebert, 19 months ago

Cc: Christian Ebert added
Note: See TracTickets for help on using tickets.