m-ab-s / media-autobuild_suite

This Windows Batchscript helps setup a Mingw-w64 compiler environment for building ffmpeg and other media tools under Windows.
GNU General Public License v3.0
1.51k stars 259 forks source link

JPEG XL compilation failed #1950

Closed vivazkote closed 3 years ago

vivazkote commented 3 years ago

[1/201] Generating cjxl.1 FAILED: cjxl.1 cmd.exe /C "cd /D C:\mingw64\build\jpeg-xl-git\build-32bit && E:\mingw64\msys64\mingw32\bin\python3.8.exe C:/mingw64/msys64/usr/bin/a2x --format manpage --destination-dir="C:/mingw64/build/jpeg-xl-git/build-32bit" C:/mingw64/build/jpeg-xl-git/doc/man/cjxl.txt" a2x: ERROR: unable to find asciidoc: asciidoc

[2/201] Generating djxl.1 FAILED: djxl.1 cmd.exe /C "cd /D C:\mingw64\build\jpeg-xl-git\build-32bit && C:\mingw64\msys64\mingw32\bin\python3.8.exe C:/mingw64/msys64/usr/bin/a2x --format manpage --destination-dir="C:/mingw64/build/jpeg-xl-git/build-32bit" C:/mingw64/build/jpeg-xl-git/doc/man/djxl.txt" a2x: ERROR: unable to find asciidoc: asciidoc

[3/201] Building C object third_party/CMakeFiles/lcms2.dir/lcms/src/cmscam02.c.o [4/201] Building C object third_party/CMakeFiles/lcms2.dir/lcms/src/cmsalpha.c.o ninja: build stopped: subcommand failed. [1/199] Generating djxl.1 FAILED: djxl.1 cmd.exe /C "cd /D C:\mingw64\build\jpeg-xl-git\build-32bit && E:\mingw64\msys64\mingw32\bin\python3.8.exe C:/mingw64/msys64/usr/bin/a2x --format manpage --destination-dir="C:/mingw64/build/jpeg-xl-git/build-32bit" C:/mingw64/build/jpeg-xl-git/doc/man/djxl.txt" a2x: ERROR: unable to find asciidoc: asciidoc

ninja: build stopped: subcommand failed.

ycwan commented 3 years ago

I have the same issue. Below is the MABS output and logs 21:12:00 ┌ jpeg-xl git ................................. [Updates found] 21:12:07 Warning: JPEG-XL compiled with GCC will not use SIMD optimizations! 21:12:07 ├ Running cmake... 21:12:27 ├ Running build... Likely error (tail of the failed operation logfile): a2x: ERROR: unable to find asciidoc: asciidoc

[3/201] Building C object third_party/CMakeFiles/lcms2.dir/lcms/src/cmsalpha.c.o ninja: build stopped: subcommand failed. [1/200] Generating djxl.1 FAILED: djxl.1 cmd.exe /C "cd /D C:\MinGW64\build\jpeg-xl-git\build-64bit && C:\MinGW64\msys64\mingw64\bin\python3.8.exe C:/MinGW64/msys64/mingw64/bin/a2x --format manpage --destination-dir="C:/MinGW64/build/jpeg-xl-git/build-64bit" C:/MinGW64/build/jpeg-xl-git/doc/man/djxl.txt" a2x: ERROR: unable to find asciidoc: asciidoc

ninja: build stopped: subcommand failed. build failed. Check C:/MinGW64/build/jpeg-xl-git/build-64bit/ab-suite.build.log This is required for other packages, so this script will exit. 21:12:28 Creating diagnostics file...

All relevant logs have been anonymously uploaded to https://0x0.st/-qvS.zip Copy and paste logs.zip in the GitHub issue. Make sure the suite is up-to-date before reporting an issue. It might've been fixed already. Try running the build again at a later time.

logs.zip ab-suite.build.log

nikolasr commented 3 years ago

I had the same problem. Cause: asciidoc missing Quick-and-dirty-workaround:

Biswa96 commented 3 years ago

Or, there should be an option in upstream to disable man page so that asciidoc is not required. Less dependency less headache.

nikolasr commented 3 years ago

@Biswa96 Yeah, that's why it's only a "quick and dirty workaround" for those who are wanting to compile right now. ;-) Of course it should be fixed the right way ... thumbs up

sboukortt commented 3 years ago

Or, there should be an option in upstream to disable man page so that asciidoc is not required. Less dependency less headache.

It’s already supposed to be optional, however having msys/asciidoc (part of base-devel) installed without the corresponding mingw package appears to trigger the detection without actually working.

Possibly relevant issue: https://github.com/msys2/MINGW-packages/issues/6708

An explicit JPEGXL_ENABLE_MANPAGES flag would indeed work around this until this is resolved.

kmilos commented 3 years ago

Just ran into the same issue when trying to build under the new ucrt64 subsystem, the package is not yet available there so it falls through to msys/asciidoc as well...

It’s already supposed to be optional, however having msys/asciidoc (part of base-devel) installed without the corresponding mingw package appears to trigger the detection without actually working.

/usr/bin is in the path so find_program(ASCIIDOC a2x) does not fail, it finds /usr/bin/a2x.

$ echo $PATH
/ucrt64/bin:/usr/local/bin:/usr/bin:/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl

FWIW, reported upstream: https://gitlab.com/wg1/jpeg-xl/-/issues/199