Sonic-Mania-Decompilation
Sonic-Mania-Decompilation copied to clipboard
Failed to compile on linux.
bloxxel64@bloxxel64-MintyMacintoshApplePro:~/Games/Sonic-Mania-Decompilation$ make -j compiling SonicMania/Game.c... compiling SonicMania/Objects/All.c... In file included from ./SonicMania/Game.h:75, from SonicMania/Objects/AIZ/AIZEggRobo.c:8, from SonicMania/Objects/All.c:1: SonicMania/Objects/Global/ReplayRecorder.c: In function ‘ReplayRecorder_AddReplayID’: SonicMania/Objects/Global/ReplayRecorder.c:1454:58: warning: zero-length gnu_printf format string [-Wformat-zero-length] 1454 | sprintf_s(createTime, (int32)sizeof(createTime), ""); | ^~ ./SonicMania/GameLink.h:14:41: note: in definition of macro ‘sprintf_s’ 14 | #define sprintf_s(x, _, ...) sprintf(x, VA_ARGS) | ^~~~~~~~~~~ done SonicMania/Game.c done SonicMania/Objects/All.c linking game... /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginT.o: relocation R_X86_64_32 against hidden symbol `TMC_END' can not be used when making a shared object collect2: error: ld returned 1 exit status make: *** [Makefile:128: bin/Linux/SonicMania.so] Error 1
This happened because you did not clone the repository recursively. The READMEs do not currently suggest to do this, but this is what you have to do in order to make it build properly.
Not entirely true, yes you need to clone it recursively, but that’s not what is causing this specific error.
Rerun make but add STATIC=0