Does not build on the new Ubuntu LTS release. It fails on the make step when building pkg-config.
bench@bench:~/ffmpeg-build-script-1.59$ ./build-ffmpeg --build
ffmpeg-build-script v1.59
Using 20 make jobs simultaneously.
cargo not installed. rav1e encoder will not be available.
building giflib - version 5.2.2
Downloading https://sf-eu-introserv-1.dl.sourceforge.net/project/giflib/giflib-5.x/giflib-5.2.2.tar.gz as giflib-5.2.2.tar.gz
... Done
Extracted giflib-5.2.2.tar.gz
$ make
$ make PREFIX=/home/bench/ffmpeg-build-script-1.59/workspace install
building pkg-config - version 0.29.2
Downloading https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz as pkg-config-0.29.2.tar.gz
... Done
Extracted pkg-config-0.29.2.tar.gz
Flags: CFLAGS "-I/home/bench/ffmpeg-build-script-1.59/workspace/include -Wno-int-conversion", CXXFLAGS "", LDFLAGS "-L/home/bench/ffmpeg-build-script-1.59/workspace/lib", LDEXEFLAGS ""
$ ./configure --silent --prefix=/home/bench/ffmpeg-build-script-1.59/workspace --with-pc-path=/home/bench/ffmpeg-build-script-1.59/workspace/lib/pkgconfig --with-internal-glib
$ make -j 20
make all-recursive
make[1]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2'
Making all in glib
make[2]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib'
make all-recursive
make[3]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib'
Making all in .
make[4]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib'
make[4]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib'
Making all in m4macros
make[4]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/m4macros'
make all-am
make[5]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/m4macros'
make[5]: Nothing to be done for 'all-am'.
make[5]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/m4macros'
make[4]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/m4macros'
Making all in glib
make[4]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib'
GEN glibconfig-stamp
config.status: executing glib/glibconfig.h commands
config.status: glib/glibconfig.h is unchanged
make all-recursive
make[5]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib'
Making all in libcharset
make[6]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib/libcharset'
make all-am
make[7]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib/libcharset'
CC libcharset_la-localcharset.lo
GEN ref-add.sed
GEN ref-del.sed
GEN charset.alias
CCLD libcharset.la
ar: u' modifier ignored since D' is the default (see U') make[7]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib/libcharset' make[6]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib/libcharset' Making all in gnulib make[6]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib/gnulib' make all-am make[7]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib/gnulib' CC libgnulib_la-asnprintf.lo CC libgnulib_la-printf-args.lo CC libgnulib_la-printf-parse.lo CC libgnulib_la-printf.lo CC libgnulib_la-vasnprintf.lo CCLD libgnulib.la ar: u' modifier ignored since D' is the default (see U')
make[7]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib/gnulib'
make[6]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib/gnulib'
Making all in .
make[6]: Entering directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib'
CC libglib_2_0_la-gallocator.lo
CC libglib_2_0_la-gcache.lo
CC libglib_2_0_la-gcompletion.lo
CC libglib_2_0_la-gthread-deprecated.lo
CC libglib_2_0_la-grel.lo
CC libglib_2_0_la-gasyncqueue.lo
CC libglib_2_0_la-garray.lo
CC libglib_2_0_la-gbacktrace.lo
CC libglib_2_0_la-gatomic.lo
CC libglib_2_0_la-gbitlock.lo
CC libglib_2_0_la-gbase64.lo
CC libglib_2_0_la-gbookmarkfile.lo
CC libglib_2_0_la-gbytes.lo
CC libglib_2_0_la-gcharset.lo
CC libglib_2_0_la-gchecksum.lo
CC libglib_2_0_la-gconvert.lo
CC libglib_2_0_la-gdataset.lo
CC libglib_2_0_la-gdate.lo
CC libglib_2_0_la-gdatetime.lo
CC libglib_2_0_la-gdir.lo
gbacktrace.c: In function ‘g_on_error_query’:
gbacktrace.c:177:5: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
177 | fgets (buf, 8, stdin);
| ^~~~~~~~~~~~~~~~~~~~~
gbacktrace.c: In function ‘stack_trace’:
gbacktrace.c:301:18: warning: ignoring return value of ‘dup’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
301 | close (0); dup (in_fd[0]); /* set the stdin to the in pipe /
| ^~~~~~~~~~~~~~
gbacktrace.c:302:18: warning: ignoring return value of ‘dup’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
302 | close (1); dup (out_fd[1]); / set the stdout to the out pipe /
| ^~~~~~~~~~~~~~~
gbacktrace.c:303:18: warning: ignoring return value of ‘dup’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
303 | close (2); dup (out_fd[1]); / set the stderr to the out pipe */
| ^~~~~~~~~~~~~~~
gbacktrace.c:318:3: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
318 | write (in_fd[1], "backtrace\n", 10);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gbacktrace.c:319:3: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
319 | write (in_fd[1], "p x = 0\n", 8);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gbacktrace.c:320:3: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
320 | write (in_fd[1], "quit\n", 5);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC libglib_2_0_la-genviron.lo
CC libglib_2_0_la-gerror.lo
CC libglib_2_0_la-gfileutils.lo
CC libglib_2_0_la-ggettext.lo
CC libglib_2_0_la-ghmac.lo
CC libglib_2_0_la-ghash.lo
CC libglib_2_0_la-ghook.lo
CC libglib_2_0_la-ghostutils.lo
CC libglib_2_0_la-giochannel.lo
CC libglib_2_0_la-gkeyfile.lo
CC libglib_2_0_la-glib-init.lo
CC libglib_2_0_la-glib-private.lo
gfileutils.c: In function ‘g_basename’:
gfileutils.c:2249:8: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
2249 | base = strrchr (file_name, G_DIR_SEPARATOR);
| ^
gfileutils.c: In function ‘g_path_get_dirname’:
gfileutils.c:2367:8: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
2367 | base = strrchr (file_name, G_DIR_SEPARATOR);
| ^
In file included from ggettext.c:30:
ggettext.c: In function ‘ensure_gettext_initialized’:
glibintl.h:37:42: warning: statement with no effect [-Wunused-value]
37 | #define bindtextdomain(Domain,Directory) (Domain)
| ^
ggettext.c:109:7: note: in expansion of macro ‘bindtextdomain’
109 | bindtextdomain (GETTEXT_PACKAGE, GLIB_LOCALE_DIR);
| ^~~~~~~~~~~~~~
ggettext.c: In function ‘g_dpgettext’:
ggettext.c:227:11: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
227 | sep = strchr (msgctxtid, '|');
| ^
CC libglib_2_0_la-glist.lo
CC libglib_2_0_la-gmain.lo
CC libglib_2_0_la-gmappedfile.lo
CC libglib_2_0_la-gmarkup.lo
CC libglib_2_0_la-gmem.lo
gkeyfile.c: In function ‘g_key_file_parse_key_value_pair’:
gkeyfile.c:1241:25: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
1241 | key_end = value_start = strchr (line, '=');
| ^
CC libglib_2_0_la-gmessages.lo
CC libglib_2_0_la-gnode.lo
CC libglib_2_0_la-goption.lo
CC libglib_2_0_la-gpattern.lo
CC libglib_2_0_la-gpoll.lo
CC libglib_2_0_la-gprimes.lo
CC libglib_2_0_la-gqsort.lo
goption.c:169:14: error: two or more data types in declaration specifiers
169 | gboolean bool;
| ^~~~
goption.c:169:18: warning: declaration does not declare anything
169 | gboolean bool;
| ^
goption.c: In function ‘free_changes_list’:
goption.c:1603:60: error: expected identifier before ‘bool’
1603 | *(gboolean *)change->arg_data = change->prev.bool;
| ^~~~
CC libglib_2_0_la-gquark.lo
make[6]: *** [Makefile:1541: libglib_2_0_la-goption.lo] Error 1
make[6]: *** Waiting for unfinished jobs....
make[6]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib'
make[5]: *** [Makefile:1934: all-recursive] Error 1
make[5]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib'
make[4]: *** [Makefile:953: all] Error 2
make[4]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib/glib'
make[3]: *** [Makefile:1046: all-recursive] Error 1
make[3]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib'
make[2]: *** [Makefile:770: all] Error 2
make[2]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2/glib'
make[1]: *** [Makefile:707: all-recursive] Error 1
make[1]: Leaving directory '/home/bench/ffmpeg-build-script-1.59/packages/pkg-config-0.29.2'
make: *** [Makefile:463: all] Error 2
Failed to Execute make -j 20
Does not build on the new Ubuntu LTS release. It fails on the make step when building pkg-config.