mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
rockboxdev: fix glib compile error on hosts with Python 3.12 (FS#13471)
On hosts running Python 3.12, building the hosted MIPS toolchain fails on glib with the error Traceback (most recent call last): File "<string>", line 2, in <module> ModuleNotFoundError: No module named 'imp' gmake[6]: *** [Makefile:982: install-codegenPYTHON] Error 1 gmake[6]: Leaving directory '/tmp/rbdev-build/build-glib-2.46.2/gio/gdbus-2.0/codegen' due to 'imp' being removed from Python 3.12 after a long deprecation period. The module is imported by automake's py-compile script, but in newer versions of automake this has been updated to use 'importlib' instead, so running autoreconf fixes this. We need to patch m4macros/glib-gettext.m4 to avoid an error running autoreconf (see: https://gitlab.gnome.org/GNOME/glib/-/issues/1159): ac-wrapper: autoreconf: warning: auto-detected versions not found ( 2.69 2.69); falling back to latest available autoreconf-2.71: export WARNINGS= autoreconf-2.71: Entering directory '.' autoreconf-2.71: configure.ac: not using Gettext autoreconf-2.71: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS} am-wrapper: aclocal: warning: auto-detected versions not found (1.15); falling back to latest available m4macros/glib-gettext.m4:39: error: m4_copy: won't overwrite defined macro: glib_DEFUN m4macros/glib-gettext.m4:39: the top level autom4te-2.71: error: /usr/bin/m4 failed with exit status: 1 aclocal-1.16: error: /usr/bin/autom4te-2.71 failed with exit status: 1 autoreconf-2.71: error: aclocal failed with exit status: 1 This problem goes away in glib 2.47.5 when they switched to using upstream gettext. Change-Id: I878a9d7086d17c6de43470b6e5f14917f0ae1bb9
This commit is contained in:
parent
eca00638ae
commit
ec8fb871f0
1 changed files with 7 additions and 1 deletions
|
@ -378,8 +378,14 @@ buildtool() {
|
|||
$config_opt
|
||||
elif [ "$config_opt" != "NO_CONFIGURE" ]; then
|
||||
echo "ROCKBOXDEV: $toolname/configure"
|
||||
cflags='-U_FORTIFY_SOURCE -fgnu89-inline -O2'
|
||||
if [ "$tool" == "glib" ]; then
|
||||
run_cmd "$logfile" sed -i -e 's/m4_copy/m4_copy_force/g' "$cfg_dir/m4macros/glib-gettext.m4"
|
||||
run_cmd "$logfile" autoreconf -fiv "$cfg_dir"
|
||||
cflags="$cflags -Wno-format-nonliteral -Wno-format-overflow"
|
||||
fi
|
||||
# NOTE glibc requires to be compiled with optimization
|
||||
CFLAGS='-U_FORTIFY_SOURCE -fgnu89-inline -O2' CXXFLAGS="$CXXFLAGS" run_cmd "$logfile" \
|
||||
CFLAGS="$cflags" CXXFLAGS="$CXXFLAGS" run_cmd "$logfile" \
|
||||
"$cfg_dir/configure" "--prefix=$prefix" \
|
||||
--disable-docs $config_opt
|
||||
fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue