Ports: `libmpg123` won't compile
So I was trying to compile freedink for use within Serenity and it depends on SDL2_mixer, which itself depends on libmpg123. All goes good until it finds an error in the ./configure (??) file. Here's a gist link to the output
I have not been able to find a file with the error at that line, though I do suspect it's actually an issue with the configure script.

It seems like you have a broken version of autoconf, the part about PKG_CHECK_MODULES is supposed to be replaced, it shouldn't end up in the configure script verbatim.
Ok, so I did sudo apt update && sudo apt upgrade, got autoconf V2.69. Tried rebuilding libmpg123 and got this error:
//heck of a lot more above
(derived from LIBS, only used for end-user binaries and modules)
LIBDL='-ldl'
LIBMPG123_LIBS='-lm '
LIBSYN123_LIBS='-lm'
LIBOUT123_LIBS='-lm '
Next type 'make' and then 'make install'.
Building libmpg123...
+ make -j8
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/iprogramincpp-ub2/serenity/Ports/libmpg123/mpg123-1.29.3/build/missing aclocal-1.16 -I m4
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/iprogramincpp-ub2/serenity/Ports/libmpg123/mpg123-1.29.3/build/missing autoconf
cd . && /bin/bash /home/iprogramincpp-ub2/serenity/Ports/libmpg123/mpg123-1.29.3/build/missing automake-1.16 --gnu
configure.ac:276: error: possibly undefined macro: LT_SYS_MODULE_EXT
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
make: *** [Makefile:2939: configure] Error 1
make: *** Waiting for unfinished jobs....
iprogramincpp-ub2@IPROGRAMINCPP:~/serenity/Ports/libmpg123$
Update: Installed libltdl-dev and now I have a different set of errors:
libtool: compile: i686-pc-serenity-gcc -DHAVE_CONFIG_H -I. -I./src -DPKGLIBDIR=\"/usr/local/lib/mpg123\" -I./src -I./src/compat -I./src/libmpg123 -I./src/libout123 -I./src/libmpg123 -I./src/libsyn123 -I./src/libout123 -DOPT_MULTI -DOPT_GENERIC -DOPT_GENERIC_DITHER -DOPT_I386 -DOPT_I586 -DOPT_I586_DITHER -DOPT_MMX -DOPT_3DNOW -DOPT_3DNOW_VINTAGE -DOPT_3DNOWEXT -DOPT_3DNOWEXT_VINTAGE -DOPT_SSE -DOPT_SSE_VINTAGE -DREAL_IS_FLOAT -DNEWOLD_WRITE_SAMPLE -I/home/iprogramincpp-ub2/serenity/Build/i686/Root/usr/local/include/SDL2 -I/home/iprogramincpp-ub2/serenity/Build/i686/Root/usr/local/include/libxml2 -O2 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math -g -O2 -MT src/libsyn123/libsyn123_la-resample.lo -MD -MP -MF src/libsyn123/.deps/libsyn123_la-resample.Tpo -c src/libsyn123/resample.c -fPIC -DPIC -o src/libsyn123/.libs/libsyn123_la-resample.o
src/libout123/module.c: In function 'open_module_here':
src/libout123/module.c:107:68: error: 'LT_MODULE_EXT' undeclared (first use in this function)
107 | module_file_len = strlen(type) + 1 + strlen(name) + strlen(LT_MODULE_EXT) + 1;
| ^~~~~~~~~~~~~
src/libout123/module.c:107:68: note: each undeclared identifier is reported only once for each function it appears in
src/libout123/module.c: In function 'INT123_list_modules':
src/libout123/module.c:246:38: error: 'LT_MODULE_EXT' undeclared (first use in this function)
246 | if(name_len < strlen(LT_MODULE_EXT))
| ^~~~~~~~~~~~~
make: *** [Makefile:4051: src/libout123/module.lo] Error 1
make: *** Waiting for unfinished jobs....
This looks interesting, and gives a couple clues about the problem. So make (!) is calling automake to regenerate configure. Mind you, this is after configure has already been executed once, since that's how the Makefile is created in the first place.
The reason LT_SYS_MODULE_EXT is missing is likely because you have a different version of Libtool than what libmpg123 expects, and the two versions are not compatible. But that should not be a problem, because there is no real need to regenerate configure. We need to figure out why make wants to regenerate it.
@BertalanD I have the latest version that it'll let me get:
iprogramincpp-ub2@IPROGRAMINCPP:~$ sudo apt install libtool
Reading package lists... Done
Building dependency tree
Reading state information... Done
libtool is already the newest version (2.4.6-14).
The following package was automatically installed and is no longer required:
libfwupdplugin1
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
iprogramincpp-ub2@IPROGRAMINCPP:~$
Mind you, I've done an update-upgrade cycle with apt so I think it should actually be the latest
Presumably fixed by #14468.