Build instructions outdated or incorrect? (original) (raw)
Hi -
The outlined local build process provides the following steps:
sudo apt-get install -y autoconf fig2dev mingw-w64 mingw-w64-tools mingw-w64-i686-dev gcc make m4 pkg-config gettext
git clone https://github.com/KnugiHK/libaacs-libbdplus-windows && cd libaacs-libbdplus-windows
make
On WSL2 running Ubuntu (uname -a returns Linux XXXXXX 6.6.87.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun 5 18:30:46 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux), make fails because libgpg_error will not build:
[...]
libtool: compile: x86_64-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I.. -DLOCALEDIR=\"/home/XXXXXX/libaacs-libbdplus-windows/build-libaacs/install/share/locale\" -g -O2 -Wall -Wpointer-arith -Wno-psabi -MT libgpg_error_la-init.lo -MD -MP -MF .deps/libgpg_error_la-init.Tpo -c init.c -o libgpg_error_la-init.o
spawn-w32.c: In function 'spawn_detached':
spawn-w32.c:479:3: error: unknown type name 'STARTUPINFOEXW'; did you mean 'STARTUPINFOW'?
479 | STARTUPINFOEXW si;
| ^~~~~~~~~~~~~~
| STARTUPINFOW
[...]
libgpg_error 1.56 seems to build without issue in this environment - is it worth updating the build scripts?
Following on, the build process then hangs up on the absence of flex/yacc. After installing flex and bison or byacc, the libaacs build process fails due to what looks like an issue with header generation?
CC src/file/parser_test-keydbcfg-parser.o
src/file/keydbcfg-parser.c:144:48: error: unknown type name ‘config_file’
144 | # define YYPARSE_DECL() yyparse(void *scanner, config_file *cf, parser_state *ps)
| ^~~~~~~~~~~
src/file/keydbcfg-parser.c:168:12: note: in expansion of macro ‘YYPARSE_DECL’
168 | extern int YYPARSE_DECL();
| ^~~~~~~~~~~~
src/file/keydbcfg-parser.c:144:65: error: unknown type name ‘parser_state’
144 | # define YYPARSE_DECL() yyparse(void *scanner, config_file *cf, parser_state *ps)
| ^~~~~~~~~~~~
This appears to be because the header file that includes this definition, file/keydbcfg.h, is not included until line 515. This might be a bison version issue - in this case, it might be worth specifying working versions in the instructions.
I appreciate what you've built here and I'm sorry I can't provide more insight on this - I unfortunately don't know a lot about C programming.