user/free42: FTBFS: makefile.iml_head:356: *** Unknown host architecture armv8l. Stop. / g++: error: gcc111libbid.a: No such file or directory
Found on HR350A (armv7):
...
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/usr/src/packages/user/free42/src/free42-nologo-2.0.22/gtk/IntelRDFPMathLib20U1/LIBRARY'
makefile.iml_head:356: *** Unknown host architecture armv8l. Stop.
make[1]: Leaving directory '/usr/src/packages/user/free42/src/free42-nologo-2.0.22/gtk/IntelRDFPMathLib20U1/LIBRARY'
mv: cannot stat 'libbid.a': No such file or directory
ln -s IntelRDFPMathLib20U1/TESTS/readtest.c
...
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
from /usr/include/glib-2.0/glib.h:30,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:22,
from /usr/include/glib-2.0/gio/gioenums.h:28,
from /usr/include/glib-2.0/gio/giotypes.h:28,
from /usr/include/glib-2.0/gio/gio.h:26,
from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
from /usr/include/gtk-2.0/gdk/gdk.h:32,
from /usr/include/gtk-2.0/gtk/gtk.h:32,
from shell_skin.h:21,
from shell_loadimage.cc:24:
/usr/include/glib-2.0/glib/gtypes.h:551:26: note: declared here
typedef struct _GTimeVal GTimeVal GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
^~~~~~~~
g++ -o free42dec -L/usr/X11R6/lib -Wl,--hash-style=both shell_main.o shell_skin.o skins.o keymap.o shell_loadimage.o shell_spool.o core_main.o core_commands1.o core_commands2.o core_commands3.o core_commands4.o core_commands5.o core_commands6.o core_commands7.o core_display.o core_globals.o core_helpers.o core_keydown.o core_linalg1.o core_linalg2.o core_math1.o core_math2.o core_phloat.o core_sto_rcl.o core_tables.o core_variables.o audio_alsa.o gcc111libbid.a -lXmu -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lharfbuzz -lfontconfig -lgdk_pixbuf-2.0 -lcairo -lfreetype -lglib-2.0 -lpango-1.0 -lgobject-2.0 -lX11 -lpthread
g++: error: gcc111libbid.a: No such file or directory
make: *** [Makefile:86: free42dec] Error 1
>>> ERROR: free42: build failed
This was enabled on 32-bit ARM here: 29ba5cf8 but that is old and we haven't seen this before.
Please note the following about our ARM builders:
# HR350A
root@aarch64-1:~# uname -a
Linux aarch64-1 5.10.0-21-arm64 #1 SMP Debian 5.10.162-1 (2023-01-21) aarch64 GNU/Linux
root@aarch64-1:~# setarch armv7l uname -a
Linux aarch64-1 5.10.0-21-arm64 #1 SMP Debian 5.10.162-1 (2023-01-21) armv8l GNU/Linux
# LX2160A
root@aarch64:~# uname -a
Linux aarch64 5.10.35-00045-g8510b2d4996d #1 SMP PREEMPT Wed Dec 21 12:13:49 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
root@aarch64:~# setarch armv7l uname -a
Linux aarch64 5.10.35-00045-g8510b2d4996d #1 SMP PREEMPT Wed Dec 21 12:13:49 UTC 2022 armv8l armv8l armv8l GNU/Linux
This used to return a literal armv7l
, not the 32-bit subset of the 64-bit ISA. I don't know when or why this occurs. See linked issues.