Source: tiemu Version: 3.04~git20200827.f327e1c+dfsg1-2 Severity: important Tags: ftbfs patch Justification: fails to build from source User: debian-ri...@lists.debian.org Usertags: riscv64 X-Debbugs-Cc: i...@hack3r.moe, debian-ri...@lists.debian.org
Dear maintainer(s), tiemu fails to build on riscv64 due to conflict definition of REG_A0: ``` gcc -I.. -I -DPREFIX=\"/usr\" -I. -I./core -I./core/uae -I./core/ti_hw -I./core/ti_sw -I./core/dbg -I./sound -I./gui -I./gui/calc -I./gui/debugger -I./ipc/dcop -I./ipc/dbus -I./ipc/com -I./kde -I./misc -DHAVE_CONFIG_H -DSHARE_DIR=\"/usr/share/tiemu\" -DLOCALEDIR=\"/usr/share/locale\" -c -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -D__LINUX__ -fvisibility=hidden -DGTK_DISABLE_DEPRECATED -DDEBUGGER -DNO_GDB -I/usr/include/tilp2 -I/usr/include/glib-2.0 -I/usr/lib/riscv64-linux-gnu/glib-2.0/include -I/usr/include/tilp2 -I/usr/include/glib-2.0 -I/usr/lib/riscv64-linux-gnu/glib-2.0/include -I/usr/include/libusb-1.0 -I/usr/include/tilp2 -I/usr/include/glib-2.0 -I/usr/lib/riscv64-linux-gnu/glib-2.0/include -I/usr/include/tilp2 -I/usr/include/glib-2.0 -I/usr/lib/riscv64-linux-gnu/glib-2.0/include -I/usr/include/libusb-1.0 -I/usr/include/glib-2.0 -I/usr/lib/riscv64-linux-gnu/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/riscv64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/riscv64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/uuid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/riscv64-linux-gnu -I/usr/include/atk-1.0 -pthread -I/usr/include/libglade-2.0 -I/usr/include/gtk-2.0 -I/usr/lib/riscv64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/riscv64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/uuid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/riscv64-linux-gnu -I/usr/include/atk-1.0 -pthread -I/usr/include/libxml2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT core/engine.c -o core/engine.o In file included from /usr/include/signal.h:316, from /usr/include/glib-2.0/glib/gbacktrace.h:38, from /usr/include/glib-2.0/glib.h:36, from core/engine.c:35: ./core/ti_sw/registers.h:36:5: error: expected identifier before numeric constant 36 | REG_A0, REG_A1, REG_A2, REG_A3, | ^~~~~~ make[3]: *** [Makefile:300: core/engine.o] Error 1 ``` By default REG_A0 is present on RISC-V environment. I've included a patch that undefines REG_A0 before enum declaration, fixing FTBFS. If more help is needed, please let me know. Cheers, Eric
--- a/src/core/ti_sw/registers.h +++ b/src/core/ti_sw/registers.h @@ -32,6 +32,10 @@ REG_D4, REG_D5, REG_D6, REG_D7, } Ti68kDataRegister; +#ifdef __riscv +#undef REG_A0 +#endif + typedef enum { REG_A0, REG_A1, REG_A2, REG_A3, REG_A4, REG_A5, REG_A6, REG_A7,