[FFmpeg-devel] [PATCH 3/3] configure: check avisynth header version

Stephen Hutchinson qyot27 at gmail.com
Wed Feb 16 09:37:00 EET 2022


On 2/16/22 12:10 AM, Helmut K. C. Tessarek wrote:
> On 2022-02-15 22:50, Stephen Hutchinson wrote:
>> Those errors would indicate you're not on the 3.7 branch, because if the
>> filesystem submodule isn't present, it doesn't emit those errors, it
>> stops dead because of the missing <ghc/filesystem> header.  If the
>> submodule is there, it compiles as it should.  Is the filesystem
>> subdirectory empty?
> 
> Nope, I used the git command you posted. I also checked the filesystem dir:
> 
> [tessus at epsilon3 0 ~/data/ext/ffmpeg/compile/AviSynthPlus/filesystem
> :3f1c185|✔]$ ll
> total 76
> drwxr-xr-x 18 tessus wheel   576 2022-02-15 20:23 .
> drwxr-xr-x 16 tessus wheel   512 2022-02-15 20:31 ..
> -rw-r--r--  1 tessus wheel  2842 2022-02-15 20:23 .appveyor.yml
> drwxr-xr-x  4 tessus wheel   128 2022-02-15 20:23 .ci
> -rw-r--r--  1 tessus wheel   313 2022-02-15 20:23 .cirrus.yml
> -rw-r--r--  1 tessus wheel   576 2022-02-15 20:23 .clang-format
> -rw-r--r--  1 tessus wheel   795 2022-02-15 20:23 .drone.yml
> -rw-r--r--  1 tessus wheel    35 2022-02-15 20:23 .git
> drwxr-xr-x  3 tessus wheel    96 2022-02-15 20:23 .github
> -rw-r--r--  1 tessus wheel    32 2022-02-15 20:23 .gitignore
> -rw-r--r--  1 tessus wheel  4141 2022-02-15 20:23 .travis.yml
> -rw-r--r--  1 tessus wheel  1937 2022-02-15 20:23 CMakeLists.txt
> -rw-r--r--  1 tessus wheel  1086 2022-02-15 20:23 LICENSE
> -rw-r--r--  1 tessus wheel 35982 2022-02-15 20:23 README.md
> drwxr-xr-x  4 tessus wheel   128 2022-02-15 20:23 cmake
> drwxr-xr-x  5 tessus wheel   160 2022-02-15 20:23 examples
> drwxr-xr-x  3 tessus wheel    96 2022-02-15 20:23 include
> drwxr-xr-x 11 tessus wheel   352 2022-02-15 20:23 test
> 
> I'm building AviSynth like this:
> 
> [tessus at epsilon3 0 ~/data/ext/ffmpeg/compile/AviSynthPlus]
> 
> mkdir avisynth-build && cd avisynth-build
> cmake -DCMAKE_INSTALL_PREFIX:PATH=${TARGET} -DBUILD_SHARED_LIBS=OFF ..
> make VersionGen install
> 
> ----
> 
> Until 2 days ago I could compile ffmpeg with AviSynth 3.5.1 just fine. So
> something must have made my configure to fail.
> 
> 

I can't reproduce under the 10.14 VM.  BUILD_SHARED_LIBS or not, if 
filesystem isn't present, it stops with a missing header error, and if 
it was properly '--recursive'ly cloned, the build succeeds.  The only 
thing I can think of at this point is that the default Command Line 
Developer Tools fetch the utilities from Xcode 10, which are blissfully 
unaware of things Apple might have tried getting clever about in Xcode 
11.  That repeated 'error: <blank> is unavailable: introduced in macOS 
10.15' message seems like something is new enough to *know* about it 
being present in 10.15, and might be interfering with it somehow.

There is another option, basically what Gyan suggested earlier: grab the 
release build of 3.7.1, fetch the extra headers from the Github repo, 
then copy either all the contents of the tarball's /usr directory into 
the system /usr directory (or wherever your working ${prefix} is), or 
just the 'avisynth' directory into ${prefix}/include.  Then try FFmpeg 
again.

curl -L -O 
https://github.com/AviSynth/AviSynthPlus/releases/download/v3.7.1/AviSynthPlus_3.7.1_macOS_10.13_._10.14_x64-filesonly.tar.xz

tar -xJvf AviSynthPlus_3.7.1_macOS_10.13_._10.14_x64-filesonly.tar.xz

cd 
avisynthplus_3.7.1_macOS_10.13_\&_10.14_x64-filesonly/usr/include/avisynth/avs

curl -L -o arch.h 
https://raw.githubusercontent.com/AviSynth/AviSynthPlus/master/avs_core/core/arch.h.in

curl -L -o version.h 
https://raw.githubusercontent.com/AviSynth/AviSynthPlus/master/avs_core/core/version.h.in

cd ../../../
sudo cp -R * /usr

or

cd ../../
sudo cp -R avisynth /usr/include

The first option will at least allow you to test that AviSynth works 
when trying to use it with FFmpeg, because it'll make sure 
libavisynth.dylib is present.


More information about the ffmpeg-devel mailing list