Bug#1026981: tiemu: FTBFS on riscv64 (REG_A0 conflict)

Eric Long i at hack3r.moe
Sun Dec 25 15:05:04 GMT 2022


Source: tiemu
Version: 3.04~git20200827.f327e1c+dfsg1-2
Severity: important
Tags: ftbfs patch
Justification: fails to build from source
User: debian-riscv at lists.debian.org
Usertags: riscv64
X-Debbugs-Cc: i at hack3r.moe, debian-riscv at 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
-------------- next part --------------
--- 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,


More information about the debian-science-maintainers mailing list