On 2/16/22 1:25 PM, Helmut K. C. Tessarek wrote:

On 2022-02-16 02:37, Stephen Hutchinson wrote:
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.

This does not work. I compile static binaries. The filesonly tarball only
has dylibs.

As I mentioned nefore:. 3 days ago everything worked fine. Now the ffmpeg
builds are broken and I can no longer compile ffmpeg.

Is there any chancf you can add something to make it work again with 3.5.1
which compiled withtout issues on macOS 10.14 and which I've been using
since it was released.



FFmpeg dlopens AviSynth, it only needs the headers and doesn't try to link it. It has never linked to AviSynth.

If 3.5.1 is working (and by that I assume you mean you're opening a Version() script in FFplay and it's showing you the video clip with the version and copyright information), then libavisynth.dylib is somewhere on your DYLD_LIBRARY_PATH, and you could just as easily set DYLD_LIBRARY_PATH to the /usr/lib directory in the -filesonly package and that Version() script will start reporting 3.7.1 instead.

After fetching the extra headers in that sequence of commands, copy the fixed-up /usr/include/avisynth in the -filesonly package to wherever it is on your system you point FFmpeg's configure to to see AviSynth's headers, whether that's the default /usr/local/include or /usr/include or somewhere in your build root. You can completely omit copying the .dylibs and it won't care.

At this point, just use latest git, since that's where the HEADERS_ONLY fix resides:
git clone https://github.com/AviSynth/AviSynthPlus
cd AviSynthPlus
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=${TARGET} -DHEADERS_ONLY=ON ../
make VersionGen install

And HEADERS_ONLY is exactly what it says on the tin: it only sets CMake to install the headers, and stops it from building the library, which wouldn't get linked to anyway.

This all did expose a major problem with the version detection inside the frame properties initialization area in the demuxer, so that check needs to be simplified and not try to be so clever. Between HEADERS_ONLY from AviSynth+-git and the simplifying patch*, which I'll need to push sometime in the next day or so, that should completely resolve the problem.

*http://ffmpeg.org/pipermail/ffmpeg-devel/2022-February/293128.html
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to