rdp / ffmpeg-windows-build-helpers

Helper script for cross compiling some media tools for windows, like customizable ffmpeg.exe (with or without non-free components, etc), and some other bonuses like mplayer, mp4box, mxf, etc.
GNU General Public License v3.0
1.07k stars 409 forks source link

Configure fails without AviSynthPlus headers #614

Open naabtog opened 2 years ago

naabtog commented 2 years ago

Build fails because configure is missing avisynth/avisynth_c.h and avisynth/avs/version.h. It happens because of FFmpeg/FFmpeg@da9cc25c88b3fa1882ac9d0e4727ed8b465f95cf. How to fix it?

rdp commented 2 years ago

I disabled avisynth for now.

On Mon, Feb 14, 2022 at 1:29 PM Anton Chayka @.***> wrote:

Build fails because configure is missing avisynth/avisynth_c.h and avisynth/avs/version.h. It happens because of @.*** https://github.com/FFmpeg/FFmpeg/commit/da9cc25c88b3fa1882ac9d0e4727ed8b465f95cf. How to fix it?

— Reply to this email directly, view it on GitHub https://github.com/rdp/ffmpeg-windows-build-helpers/issues/614, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAADBUFWNUUPMDMYRVZFSVTU3FQZNANCNFSM5OMQEM2Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you are subscribed to this thread.Message ID: @.***>

naabtog commented 2 years ago

AviSynth/AviSynthPlus@0e583378116c857372232e9886c599df2fb8da85 has a fix. Now we should run make VersionGen install. So it should look something like:

build_avisynth() {
  do_git_checkout https://github.com/AviSynth/AviSynthPlus.git avisynth_git
  mkdir -p avisynth_git/avisynth-build
  cd avisynth_git/avisynth-build
    do_cmake_from_build_dir .. -DHEADERS_ONLY:bool=on
    do_make "$make_prefix_options VersionGen install"
  cd ../..
}
rboy1 commented 2 years ago

@rdp the reverted changes are breaking again

CMake Error at cmake_install.cmake:47 (file):
  file INSTALL cannot find
  "/home/ffmpeg/sandbox/win32/avisynth_git/avisynth-build/version.h":
  No such file or directory.
naabtog commented 2 years ago

@rboy1 change line 1806 to

do_make "$make_prefix_options VersionGen install"

and it'll work.

hydra3333 commented 2 years ago

Didn't work for me, so it'll be interesting to see. I had to instead do

ninja VersionGen
ninja install
naabtog commented 2 years ago

@hydra3333 maybe it depends on environment native/Docker/WSL.

hydra3333 commented 2 years ago

I think you have it, my environment is a tad unusual. Anyway, there's a couple of options.

rdp commented 2 years ago

OK check it, thanks for the help!

On Fri, Feb 18, 2022 at 2:34 AM hydra3333 @.***> wrote:

I think you have it, my environment is a tad unusual. Anyway, there's a couple of options.

— Reply to this email directly, view it on GitHub https://github.com/rdp/ffmpeg-windows-build-helpers/issues/614#issuecomment-1044217159, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAADBUASLFMBRJSLN3OR4CLU3YHB5ANCNFSM5OMQEM2Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

nschlia commented 2 years ago

Now it returns make: *** No rule to make „VersionGen“. Stop. but still does not build Jasper.

Build command: ./cross_compile_ffmpeg.sh --disable-nonfree=n --sandbox-ok=y --compiler-flavors=win32 --build-ffmpeg-static=n --build-ffmpeg-shared=y

Not much logging:

HEAD ist jetzt bei 99ac18bc Compare: fix 10-14 bit support (graph, PSNR)
fetched no code changes, not forcing reconfigure for that...

Making </jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/win32/avisynth_git/avisynth-build> as $ PATH=</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/cross_compilers/mingw-w64-i686/bin>:$PATH make CC=</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-gcc> AR=</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-ar> PREFIX=</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/cross_compilers/mingw-w64-i686/i686-w64-mingw32> RANLIB=</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-ranlib> LD=</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-ld> STRIP=</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-strip> CXX=</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32-g++> VersionGen install -j 4

make[1]: Verzeichnis „</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/win32/avisynth_git/avisynth-build%E2%80%9C> wird betreten
make[2]: Verzeichnis „</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/win32/avisynth_git/avisynth-build%E2%80%9C> wird betreten
make[2]: Verzeichnis „</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/win32/avisynth_git/avisynth-build%E2%80%9C> wird verlassen
make[1]: Verzeichnis „</jenkins/job/ffmpeg-windows-build-helpers/ws/sandbox/win32/avisynth_git/avisynth-build%E2%80%9C> wird verlassen
make: *** Keine Regel, um „VersionGen“ zu erstellen.  Schluss.
Build step 'Shell ausführen' marked build as failure

Doing a fresh rebuild...

Krautmaster commented 2 years ago

fix works 4 me

nschlia commented 2 years ago

fix works 4 me

Well, finally I deleted everything and did a fresh git clone (I was definetly at the head of master anyway). I had deleted the sandbox as a whole and parts of it before. All up to no avail.

After freshly doing git clone it worked. Build went through.

Don't ask me how, but what the heck. Fixed for me :)