qmc2 / qmc2-mame-fe

QMC2 - M.A.M.E. Catalog / Launcher II
40 stars 3 forks source link

Building `arcade` on Debian results in error #49

Open mnadareski opened 1 month ago

mnadareski commented 1 month ago

Attempting to build QMC2-Arcade using the supplied instructions results in the following errors:

/usr/bin/ld: Lzma2Enc.o: in function `Lzma2Enc_MtCallback_Code':
Lzma2Enc.c:(.text+0xa55): undefined reference to `MtProgressThunk_CreateVTable'
/usr/bin/ld: Lzma2Enc.o: in function `Lzma2Enc_Destroy':
Lzma2Enc.c:(.text+0xe9c): undefined reference to `MtCoder_Destruct'
/usr/bin/ld: Lzma2Enc.o: in function `Lzma2Enc_Encode2':
Lzma2Enc.c:(.text+0x111a): undefined reference to `MtCoder_Code'
/usr/bin/ld: Lzma2Enc.c:(.text+0x11d5): undefined reference to `MtCoder_Construct'
/usr/bin/ld: LzmaEnc.o: in function `LzmaEnc_AllocAndInit':
LzmaEnc.c:(.text+0x13ac): undefined reference to `MatchFinderMt_Create'
/usr/bin/ld: LzmaEnc.c:(.text+0x13d0): undefined reference to `MatchFinderMt_CreateVTable'
/usr/bin/ld: LzmaEnc.o: in function `LzmaEnc_CodeOneBlock':
LzmaEnc.c:(.text+0x1978): undefined reference to `MatchFinderMt_InitMt'
/usr/bin/ld: LzmaEnc.o: in function `LzmaEnc_Create':
LzmaEnc.c:(.text+0x4c45): undefined reference to `MatchFinderMt_Construct'
/usr/bin/ld: LzmaEnc.o: in function `LzmaEnc_Destroy':
LzmaEnc.c:(.text+0x4da8): undefined reference to `MatchFinderMt_Destruct'
/usr/bin/ld: LzmaEnc.o: in function `LzmaEnc_Finish':
LzmaEnc.c:(.text+0x4ea8): undefined reference to `MatchFinderMt_ReleaseStream'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:516: qmc2-arcade] Error 1
make[1]: Leaving directory '/repos/qmc2-mame-fe/src/arcade'
make: *** [Makefile:965: arcade-bin] Error 2

The machine is running Debian 12 with all prerequisites installed.

mnadareski commented 1 month ago

A quick comb through of the LZMA SDK code that it's failing on doesn't seem to show any issues with includes as far as I can tell.

mnadareski commented 1 month ago

This happened both on a clean pull of the repo with arcade being the first build target as well as doing the normal make -j4 first and then trying to build arcade.

mnadareski commented 1 month ago

This also occurs with the updates provided by this PR: https://github.com/qmc2/qmc2-mame-fe/pull/47/files

mnadareski commented 1 month ago

Adding the following files to the SOURCES section of src/arcade/qmc2-arcade.pro seems to have fixed it:

../lzma/LzFindMt.c \
../lzma/LzFindOpt.c \
../lzma/MtCoder.c \
../lzma/MtDec.c \
../lzma/Threads.c