[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