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.49k stars 257 forks source link

ffmpeg make error: error parsing /build/ffmpeg-git/doc/t2h.pm #2551

Closed blap-o closed 5 months ago

blap-o commented 8 months ago

-64 bit Build -Failed to build: ffmpeg

I do not know if my build is classified as "custom". The only changes I make are in ffmpeg_option.txt:

--disable-everything --disable-autodetect --disable-encoders --disable-decoders --disable-hwaccels --disable-muxers --disable-demuxers --disable-parsers --disable-bsfs --disable-protocols --disable-filters --disable-devices --disable-ffplay --disable-ffprobe --disable-schannel --disable-stripping --enable-gpl --enable-version3 --enable-indev=gdigrab --enable-protocol=file --enable-filter=scale --enable-libvpx --enable-encoder=libvpx_vp8 --enable-encoder=libvpx_vp9 --enable-muxer=matroska --enable-muxer=webm

I was having no issues building it until I ran the suite yesterday (27th).

10:41:15 Warning: We will not accept any issues lacking any form of logs or logs.zip!
media-autobuild_suite  (64bit)10:41:15 
    Starting 64bit compilation of all tools
Imported options from ffmpeg_options.txt
License: gplv3
Imported options from mpv_options.txt
media-autobuild_suite  (64bit): compiling global tools10:41:24 
    Starting 64bit compilation of global tools
media-autobuild_suite  (64bit): compiling audio tools10:41:26 
    Starting 64bit compilation of audio tools
media-autobuild_suite  (64bit): compiling video tools10:41:27 
    Starting 64bit compilation of video tools
10:41:29   Running git update for vpx...
10:41:30 ┌ vpx git  ..................................... [Updates found]
10:41:30 ├ Running uninstall...
10:41:30 ├ Running configure...
10:41:43 ├ Running make...
10:42:27 ├ Running install...
10:42:28 ├ Stripping...
10:42:30 └ vpx-git  ........................................... [Updated]
10:42:32   Running git update for ffmpeg...
10:42:33 ┌ ffmpeg git  .................................. [Updates found]
10:42:33 ├ Changing options to comply to gplv3...
10:42:34 ├ Compiling static FFmpeg...
10:42:35 ├ Running configure...
10:44:00 ├ Running make...
Likely error (tail of the failed operation logfile):
makeinfo: error parsing /build/ffmpeg-git/doc/t2h.pm: Undefined subroutine &Texinfo::Config::set_from_init_file called at /build/ffmpeg-git/doc/t2h.pm line 24.
makeinfo: error parsing /build/ffmpeg-git/doc/t2h.pm: Undefined subroutine &Texinfo::Config::set_from_init_file called at /build/ffmpeg-git/doc/t2h.pm line 24.
make: *** [/build/ffmpeg-git/doc/Makefile:75: doc/ffmpeg-all.html] Error 1
make: *** [/build/ffmpeg-git/doc/Makefile:71: doc/ffmpeg.html] Error 1
STRIP   libavutil/x86/tx_float.o
skipping strip -x libavutil/x86/tx_float.o
AR  libavutil/libavutil.a
HTML    doc/ffmpeg.html
makeinfo: error parsing /build/ffmpeg-git/doc/t2h.pm: Undefined subroutine &Texinfo::Config::set_from_init_file called at /build/ffmpeg-git/doc/t2h.pm line 24.
make: *** [/build/ffmpeg-git/doc/Makefile:71: doc/ffmpeg.html] Error 1
make failed. Check C:/ffauto/build/ffmpeg-git/build-static-64bit/ab-suite.make.log
This is required for other packages, so this script will exit.
10:44:39   Creating diagnostics file...

The specific line from t2h.pm reads:

set_from_init_file('HEADERS', 0);

logs.zip

Fishman0919 commented 8 months ago

Same.

10:14:07 ┌ ffmpeg git ............................... [Recently updated] 10:14:07 ├ Changing options to comply to nonfree... CUDA_PATH environment variable not set or directory does not exist. 10:14:11 ├ Compiling static FFmpeg... 10:14:12 ├ Running configure... 10:16:34 ├ Running make... Likely error (tail of the failed operation logfile): makeinfo: error parsing /build/ffmpeg-git/doc/t2h.pm: Undefined subroutine &Texinfo::Config::set_from_init_file called at /build/ffmpeg-git/doc/t2h.pm line 24. make: [/build/ffmpeg-git/doc/Makefile:71: doc/ffprobe.html] Error 1 makeinfo: error parsing /build/ffmpeg-git/doc/t2h.pm: Undefined subroutine &Texinfo::Config::set_from_init_file called at /build/ffmpeg-git/doc/t2h.pm line 24. make: [/build/ffmpeg-git/doc/Makefile:75: doc/ffmpeg-all.html] Error 1 STRIP libavutil/x86/tx_float.o AR libavfilter/libavfilter.a AR libavutil/libavutil.a HTML doc/ffmpeg.html makeinfo: error parsing /build/ffmpeg-git/doc/t2h.pm: Undefined subroutine &Texinfo::Config::set_from_init_file called at /build/ffmpeg-git/doc/t2h.pm line 24. make: *** [/build/ffmpeg-git/doc/Makefile:71: doc/ffmpeg.html] Error 1 make failed. Check C:/MAS/build/ffmpeg-git/build-static-64bit/ab-suite.make.log This is required for other packages, so this script will exit. 10:19:03 Creating diagnostics file...

Attach C:\MAS\build\logs.zip to 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

waldonnis commented 8 months ago

If you're never going to use the locally-generated documentation, just add --disable-doc to your ffmpeg_options.txt and it'll just skip that step entirely.

hydra3333 commented 8 months ago

Yes, I did that too :) added --disable-doc to your ffmpeg_options.txt

Also added/modified --disable-libplacebo in ffmpeg_options.txt --disable-libjxl in ffmpeg_options.txt libavif=2 in media-autobuild_suite.ini jpegxl=2 in media-autobuild_suite.ini to ignore the currently not-building ones, and then ffmpeg builds a treat for me.

At some stage I'd like to re-include libjxl and libavif and have been playing with them. However I'm not clever enough to find a fix yet. I did try to build the latest https://github.com/mm2/Little-CMS instead of using the older pacman version, however that seems to make no difference when building libjxl. Perhaps I'll look for hints over at https://github.com/BtbN/FFmpeg-Builds and https://github.com/DeadSix27/py-cross and https://github.com/rdp/ffmpeg-windows-build-helpers and https://github.com/Alexpux/MINGW-packages

_edit: I also note https://github.com/m-ab-s/media-autobuild_suite/issues/2494#issuecomment-1782566361 and that I did not need to downgrade pkgconf_

hydra3333 commented 8 months ago

An ffmpeg ticket was submitted to ffmpeg trac in case it is something at their end. https://trac.ffmpeg.org/ticket/10636

blap-o commented 8 months ago

If you're never going to use the locally-generated documentation, just add --disable-doc to your ffmpeg_options.txt and it'll just skip that step entirely.

Worked for me, thanks!

hydra3333 commented 8 months ago

Ah.

Trac ticket https://trac.ffmpeg.org/ticket/10636 had a response:

[comment:2] by Sebastian Ramacher, [6 hours ago]
This is caused by changes in texinfo 7.1 and also affects ffmpeg 6.0 and other releases.

I see (https://www.gnu.org/software/texinfo/ says The latest official release is Texinfo 7.1 (2023-10-18)

I guess that MABS could somehow install the prior version for the time being ?

hydra3333 commented 8 months ago

A kind soul has provided an interim patch which could be used to build the documentation: https://trac.ffmpeg.org/ticket/10636#comment:4

gikunJo commented 8 months ago

If you're never going to use the locally-generated documentation, just add --disable-doc to your ffmpeg_options.txt and it'll just skip that step entirely.

Manual is worthy of being kept. I have built this one (https://aur.archlinux.org/packages/ffmpeg-intel-full-git) successfully by adding --disable-htmlpages in PKGBUILD.

pcspeak commented 8 months ago

ffmpeg build completed successfully for me just now - including the DOCS.

hydra3333 commented 7 months ago

ffmpeg build completed successfully for me just now - including the DOCS.

Yes, there's been upstream ffmpeg patches.