Unable to build glib2 due to missing directory?

I opened up Issue#17340 but was wondering if anyone has a suggestion to fix this build error I get compiling HEAD. Failure occurs building glib2. My host is Arch Linux which recently updated python to 3.10.

bash: line 1: /scratch/union/staging_dir/host/bin/python: No such file or directory

When I look at that directory, I see broken symlinks to python3.9:

% ls -lh | grep python
lrwxrwxrwx 1 facade users   18 Nov 21 10:20 python -> /usr/bin/python3.9
lrwxrwxrwx 1 facade users   18 Nov 21 10:20 python3 -> /usr/bin/python3.9

What is the right way to update them? make disclean and rebuild the toolchian?

For completeness, this is the output building with make -j1 V=s:

...
make[3]: Entering directory '/scratch/union/feeds/packages/libs/glib2'
touch /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0/.prepared_3001d95c473d86a82863b8abc36b7e20_6664517399ebbbc92a37c5bb081b5c53_check
. /scratch/union/include/shell.sh; xzcat /scratch/union/dl/glib-2.70.0.tar.xz | tar -C /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0/.. -xf -
[ ! -d ./src/ ] || cp -fpR ./src/. /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0

Applying ./patches/003-valgrind.h-mips16-fix.patch using plaintext: 
patching file glib/valgrind.h

Applying ./patches/006-c99.patch using plaintext: 
patching file meson.build
touch /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0/.prepared_3001d95c473d86a82863b8abc36b7e20_6664517399ebbbc92a37c5bb081b5c53
rm -f /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0/.configured_*
rm -f /scratch/union/staging_dir/target-aarch64_cortex-a72_musl/stamp/.glib2_installed
/scratch/union/staging_dir/host/bin/sed -e "s|@CC@|'gcc',|" -e "s|@CXX@|'g++',|" -e "s|@PKGCONFIG@|/scratch/union/staging_dir/host/bin/pkg-config|" -e "s|@CMAKE@|/scratch/union/staging_dir/host/bin/cmake|" -e "s|@CFLAGS@|'-O2', '-I/scratch/union/staging_dir/host/include', '-I/scratch/union/staging_dir/hostpkg/include', '-I/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/host/include', '-I/scratch/union/staging_dir/host/include', '-I/scratch/union/staging_dir/hostpkg/include', '-I/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/host/include',|" -e "s|@CXXFLAGS@|'-I/scratch/union/staging_dir/host/include', '-I/scratch/union/staging_dir/hostpkg/include', '-I/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/host/include',|" -e "s|@LDFLAGS@|'-L/scratch/union/staging_dir/host/lib', '-L/scratch/union/staging_dir/hostpkg/lib', '-L/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/host/lib', '-Wl,-rpath,/scratch/union/staging_dir/hostpkg/lib',|" -e "s|@PREFIX@|/scratch/union/staging_dir/hostpkg|" < /scratch/union/staging_dir/host/lib/meson/openwrt-native.txt.in > /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0/openwrt-native.txt
/scratch/union/staging_dir/host/bin/sed -e "s|@CC@|'aarch64-openwrt-linux-musl-gcc',|" -e "s|@CXX@|'aarch64-openwrt-linux-musl-g++',|" -e "s|@AR@|aarch64-openwrt-linux-musl-gcc-ar|" -e "s|@STRIP@|aarch64-openwrt-linux-musl-strip|" -e "s|@NM@|aarch64-openwrt-linux-musl-gcc-nm|" -e "s|@PKGCONFIG@|/scratch/union/staging_dir/host/bin/pkg-config|" -e "s|@CMAKE@|/scratch/union/staging_dir/host/bin/cmake|" -e "s|@CFLAGS@|'-Os', '-pipe', '-fno-caller-saves', '-fno-plt', '-fhonour-copts', '-Wno-error=unused-but-set-variable', '-Wno-error=unused-result', '-fmacro-prefix-map=/scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0=glib-2.70.0', '-Wformat', '-Werror=format-security', '-fstack-protector', '-D_FORTIFY_SOURCE=1', '-Wl,-z,now', '-Wl,-z,relro', '-I/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libiconv-stub/include', '-I/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libintl-stub/include', '-ffunction-sections', '-fdata-sections', '-I/scratch/union/staging_dir/toolchain-aarch64_cortex-a72_gcc-11.2.0_musl/usr/include', '-I/scratch/union/staging_dir/toolchain-aarch64_cortex-a72_gcc-11.2.0_musl/include/fortify', '-I/scratch/union/staging_dir/toolchain-aarch64_cortex-a72_gcc-11.2.0_musl/include', '-I/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libiconv-stub/include', '-I/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libintl-stub/include',|" -e "s|@CXXFLAGS@|'-Os', '-pipe', '-fno-caller-saves', '-fno-plt', '-fhonour-copts', '-Wno-error=unused-but-set-variable', '-Wno-error=unused-result', '-fmacro-prefix-map=/scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0=glib-2.70.0', '-Wformat', '-Werror=format-security', '-fstack-protector', '-D_FORTIFY_SOURCE=1', '-Wl,-z,now', '-Wl,-z,relro', '-I/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libiconv-stub/include', '-I/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libintl-stub/include', '-ffunction-sections', '-fdata-sections', '-I/scratch/union/staging_dir/toolchain-aarch64_cortex-a72_gcc-11.2.0_musl/usr/include', '-I/scratch/union/staging_dir/toolchain-aarch64_cortex-a72_gcc-11.2.0_musl/include/fortify', '-I/scratch/union/staging_dir/toolchain-aarch64_cortex-a72_gcc-11.2.0_musl/include', '-I/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libiconv-stub/include', '-I/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libintl-stub/include',|" -e "s|@LDFLAGS@|'-L/scratch/union/staging_dir/toolchain-aarch64_cortex-a72_gcc-11.2.0_musl/usr/lib', '-L/scratch/union/staging_dir/toolchain-aarch64_cortex-a72_gcc-11.2.0_musl/lib', '-znow', '-zrelro', '-L/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libiconv-stub/lib', '-Wl,-rpath-link=/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libiconv-stub/lib', '-L/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libintl-stub/lib', '-Wl,-rpath-link=/scratch/union/staging_dir/target-aarch64_cortex-a72_musl/usr/lib/libintl-stub/lib', '-Wl,--gc-sections',|" -e "s|@ARCH@|"aarch64"|" -e "s|@CPU@|"generic"|" -e "s|@ENDIAN@|little|" < /scratch/union/staging_dir/host/lib/meson/openwrt-cross.txt.in > /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0/openwrt-cross.txt
/scratch/union/staging_dir/host/bin/python /scratch/union/staging_dir/host/bin/meson.py  --buildtype plain --native-file /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0/openwrt-native.txt --cross-file /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0/openwrt-cross.txt -Diconv=external -Dselinux=disabled -Dlibmount=disabled -Dman=false -Ddtrace=false -Dsystemtap=false -Dsysprof=disabled -Dgtk_doc=false -Dbsymbolic_functions=true -Dforce_posix_threads=true -Dfam=false -Dtests=false -Dinstalled_tests=false -Doss_fuzz=disabled -Dglib_debug=disabled -Dglib_assert=false -Dglib_checks=false -Dlibelf=disabled -Dxattr=true -Db_lto=true -Ddefault_library=both -Dnls=disabled /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0/openwrt-build /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0/openwrt-build/..
bash: line 1: /scratch/union/staging_dir/host/bin/python: No such file or directory
make[3]: *** [Makefile:134: /scratch/union/build_dir/target-aarch64_cortex-a72_musl/glib-2.70.0/.configured_efb2d3cf01c707184fb77fd0fe149f94] Error 127
make[3]: Leaving directory '/scratch/union/feeds/packages/libs/glib2'
time: package/feeds/packages/glib2/compile#0.33#0.05#0.33
    ERROR: package/feeds/packages/glib2 failed to build.
make[2]: *** [package/Makefile:116: package/feeds/packages/glib2/compile] Error 1
make[2]: Leaving directory '/scratch/union'
make[1]: *** [package/Makefile:110: /scratch/union/staging_dir/target-aarch64_cortex-a72_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/scratch/union'
make: *** [/scratch/union/include/toplevel.mk:230: world] Error 2

try linking the ones in /usr/bin to where they really are ...

Yeah, I did this and the build was successful. Is that a hacky fix? What is best practice when the host OS bumps a major tool like python? Just make distclean and rebuild the toolchain?

no idea, but you're not alone ...

Same problem here. Between this and the binutils issue i'm starting to think archlinux is not a good distro for building openwrt. It's rolling release model rolls faster than openwrt.

Well, this seems to be a trivial fix of correcting a few symlinks. As well, the binutils issue is also a trivial fix, simply revert 0097899da7.

And for the record, the breakage of binutils has been reported against openwrt (FS#4149) and upstream against binutils (Bug#28545).

From 04c477b062fd8838ee7919a85849ea53a98d2846 Mon Sep 17 00:00:00 2001
Date: Fri, 19 Nov 2021 17:39:27 -0500
Subject: [PATCH] Revert "binutils: update to 2.35.2"

This reverts commit 0097899da79f1140c66fa820be31005c89933a0e.
---
 package/devel/binutils/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/devel/binutils/Makefile b/package/devel/binutils/Makefile
index 5fdb83036e..790fb1e91a 100644
--- a/package/devel/binutils/Makefile
+++ b/package/devel/binutils/Makefile
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=binutils
-PKG_VERSION:=2.37
-PKG_RELEASE:=1
+PKG_VERSION:=2.35.1
+PKG_RELEASE:=2
 
 PKG_SOURCE_URL:=@GNU/binutils
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_VERSION:=$(PKG_VERSION)
-PKG_HASH:=820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c
+PKG_HASH:=3ced91db9bf01182b7e420eab68039f2083aed0a214c0424e257eae3ddee8607
 
 PKG_FIXUP:=autoreconf
 PKG_LIBTOOL_PATHS:=. gas bfd opcodes gprof binutils ld libiberty gold intl
-- 
2.34.0

1 Like