libs/glib2: update to 2.80.0
Maintainer: @tripolar Compile tested: ARMv7, TI Sitara AM335x, OpenWrt v23.05.2 Run tested: ARMv7, TI Sitara AM335x, OpenWrt v23.05.2, tested with internal software
Description: update package to version 2.80.0
What else do I need to add to the host deps to convince meson to find the packaging module?
It does not compile on my system (debian 11)
Applying /home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/feeds/packages/libs/glib2/patches/003-valgrind.h-mips16-fix.patch using plaintext:
patching file glib/valgrind.h
Applying /home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/feeds/packages/libs/glib2/patches/006-c99.patch using plaintext:
patching file meson.build
Applying /home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/feeds/packages/libs/glib2/patches/010-pcre.patch using plaintext:
patching file glib/meson.build
Applying /home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/feeds/packages/libs/glib2/patches/020-locale.patch using plaintext:
patching file gobject/glib-mkenums.in
The Meson build system
Version: 1.3.2
Source dir: /home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/openwrt/build_dir/target-x86_64_musl/glib-2.80.0
Build dir: /home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/openwrt/build_dir/target-x86_64_musl/glib-2.80.0/openwrt-build
Build type: cross build
Project name: glib
Project version: 2.80.0
C compiler for the host machine: x86_64-openwrt-linux-musl-gcc (gcc 13.2.0 "x86_64-openwrt-linux-musl-gcc (OpenWrt GCC 13.2.0 r25858+212-501ef81040) 13.2.0")
C linker for the host machine: x86_64-openwrt-linux-musl-gcc ld.bfd 2.40.0
C compiler for the build machine: /home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/openwrt/staging_dir/host/bin/gcc (gcc 10.2.1 "gcc (Debian 10.2.1-6) 10.2.1 20210110")
C linker for the build machine: /home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/openwrt/staging_dir/host/bin/gcc ld.bfd 2.35.2
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: generic
Target machine cpu family: x86_64
Target machine cpu: generic
Compiler for C supports arguments -std=c90: YES
Compiler for C supports arguments -std=c99: YES
Compiler for C supports arguments -std=c11: YES
Compiler for C supports arguments -std=c17: YES
C++ compiler for the host machine: x86_64-openwrt-linux-musl-g++ (gcc 13.2.0 "x86_64-openwrt-linux-musl-g++ (OpenWrt GCC 13.2.0 r25858+212-501ef81040) 13.2.0")
C++ linker for the host machine: x86_64-openwrt-linux-musl-g++ ld.bfd 2.40.0
Compiler for C++ supports arguments -std=c++98: YES
Compiler for C++ supports arguments -std=c++03: YES
Compiler for C++ supports arguments -std=c++11: YES
Compiler for C++ supports arguments -std=c++14: YES
Compiler for C++ supports arguments -std=c++17: YES
Compiler for C++ supports arguments -std=c++20: YES
Compiler for C++ supports arguments -std=c++2b: YES
Compiler for C++ supports arguments -std=c++latest: NO
Checking if "building for musl libc" compiles: YES
Program ./.gitlab-ci/thorough-test-wrapper.sh found: YES (/bin/bash /home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/openwrt/build_dir/target-x86_64_musl/glib-2.80.0/./.gitlab-ci/thorough-test-wrapper.sh)
Program valgrind found: NO
Compiler for C supports arguments -fno-strict-aliasing: YES
Message: Disabling cast checks
Message: Disabling GLib asserts
Has header "alloca.h" : YES
Has header "afunix.h" : NO
Has header "crt_externs.h" : NO
Has header "dirent.h" : YES
Has header "float.h" : YES
Has header "fstab.h" : NO
Has header "grp.h" : YES
Has header "inttypes.h" : YES
Has header "libproc.h" : NO
Has header "limits.h" : YES
Has header "locale.h" : YES
Has header "mach/mach_time.h" : NO
Has header "memory.h" : YES
Has header "mntent.h" : YES
Has header "poll.h" : YES
Has header "pwd.h" : YES
Has header "sched.h" : YES
Has header "spawn.h" : YES
Has header "stdatomic.h" : YES
Has header "stdint.h" : YES
Has header "stdlib.h" : YES
Has header "string.h" : YES
Has header "strings.h" : YES
Has header "sys/auxv.h" : YES
Has header "sys/event.h" : NO
Has header "sys/filio.h" : NO
Has header "sys/inotify.h" : YES
Has header "sys/mkdev.h" : NO
Has header "sys/mntctl.h" : NO
Has header "sys/mnttab.h" : NO
Has header "sys/mount.h" : YES
Has header "sys/param.h" : YES
Has header "sys/prctl.h" : YES
Has header "sys/resource.h" : YES
Has header "sys/select.h" : YES
Has header "sys/statfs.h" : YES
Has header "sys/stat.h" : YES
Has header "sys/statvfs.h" : YES
Has header "sys/sysctl.h" : NO
Has header "sys/time.h" : YES
Has header "sys/times.h" : YES
Has header "sys/types.h" : YES
Has header "sys/uio.h" : YES
Has header "sys/vfs.h" : YES
Has header "sys/vfstab.h" : NO
Has header "sys/vmount.h" : NO
Has header "sys/wait.h" : YES
Has header "syslog.h" : YES
Has header "termios.h" : YES
Has header "unistd.h" : YES
Has header "values.h" : YES
Has header "wchar.h" : YES
Has header "xlocale.h" : NO
Check usable header "malloc.h" : YES
Check usable header "linux/netlink.h" : YES
Checking if "statx() test" compiles: NO
Header "locale.h" has symbol "LC_MESSAGES" : YES
Checking if "type "struct stat" has member "st_mtimensec"" compiles: NO
Checking if "type "struct stat" has member "st_mtim.tv_nsec"" compiles: YES
Checking if "type "struct stat" has member "st_atimensec"" compiles: NO
Checking if "type "struct stat" has member "st_atim.tv_nsec"" compiles: YES
Checking if "type "struct stat" has member "st_ctimensec"" compiles: NO
Checking if "type "struct stat" has member "st_ctim.tv_nsec"" compiles: YES
Checking if "type "struct stat" has member "st_birthtime"" compiles: NO
Checking if "type "struct stat" has member "st_birthtimensec"" compiles: NO
Checking if "type "struct stat" has member "st_birthtim"" compiles: NO
Checking if "type "struct stat" has member "st_birthtim.tv_nsec"" compiles: NO
Checking if "type "struct stat" has member "st_blksize"" compiles: YES
Checking if "type "struct stat" has member "st_blocks"" compiles: YES
Checking if "type "struct statfs" has member "f_fstypename"" compiles: NO
Checking if "type "struct statfs" has member "f_bavail"" compiles: YES
Checking if "type "struct dirent" has member "d_type"" compiles: YES
Checking if "type "struct statvfs" has member "f_basetype"" compiles: NO
Checking if "type "struct statvfs" has member "f_fstypename"" compiles: NO
Checking if "type "struct statvfs" has member "f_type"" compiles: NO
Checking if "type "struct tm" has member "tm_gmtoff"" compiles: YES
Checking if "type "struct tm" has member "__tm_gmtoff"" compiles: YES
Compiler for C supports arguments -Wduplicated-branches: YES
Compiler for C supports arguments -Wimplicit-fallthrough: YES
Compiler for C supports arguments -Wmisleading-indentation: YES
Compiler for C supports arguments -Wmissing-field-initializers: YES
Compiler for C supports arguments -Wnonnull: YES
Compiler for C supports arguments -Wunused: YES
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -Wno-cast-function-type: YES
Compiler for C supports arguments -Wno-pedantic: YES
Compiler for C supports arguments -Wno-format-zero-length: YES
Compiler for C supports arguments -Wno-variadic-macros: YES
Compiler for C supports arguments -Werror=format=2: YES
Compiler for C supports arguments -Werror=init-self: YES
Compiler for C supports arguments -Werror=missing-include-dirs: YES
Compiler for C supports arguments -Werror=pointer-arith: YES
Compiler for C supports arguments -Werror=unused-result: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wno-bad-function-cast: YES
Compiler for C supports arguments -Werror=implicit-function-declaration: YES
Compiler for C supports arguments -Werror=missing-prototypes: YES
Compiler for C supports arguments -Werror=pointer-sign: YES
Compiler for C supports arguments -Wno-string-plus-int: NO
Compiler for C++ supports arguments -Wduplicated-branches: YES
Compiler for C++ supports arguments -Wimplicit-fallthrough: YES
Compiler for C++ supports arguments -Wmisleading-indentation: YES
Compiler for C++ supports arguments -Wmissing-field-initializers: YES
Compiler for C++ supports arguments -Wnonnull: YES
Compiler for C++ supports arguments -Wunused: YES
Compiler for C++ supports arguments -Wno-unused-parameter: YES
Compiler for C++ supports arguments -Wno-cast-function-type: YES
Compiler for C++ supports arguments -Wno-pedantic: YES
Compiler for C++ supports arguments -Wno-format-zero-length: YES
Compiler for C++ supports arguments -Wno-variadic-macros: YES
Compiler for C++ supports arguments -Werror=format=2: YES
Compiler for C++ supports arguments -Werror=init-self: YES
Compiler for C++ supports arguments -Werror=missing-include-dirs: YES
Compiler for C++ supports arguments -Werror=pointer-arith: YES
Compiler for C++ supports arguments -Werror=unused-result: YES
Compiler for C supports link arguments -Wl,-z,nodelete: YES
Compiler for C supports link arguments -Wl,-Bsymbolic-functions: YES
Checking for function "accept4" : YES
Checking for function "close_range" : NO
Checking for function "copy_file_range" : YES
Checking for function "endmntent" : YES
Checking for function "endservent" : YES
Checking for function "epoll_create" : YES
Checking for function "fallocate" : YES
Checking for function "fchmod" : YES
Checking for function "fchown" : YES
Checking for function "fdwalk" : NO
Checking for function "free_aligned_sized" : NO
Checking for function "free_sized" : NO
Checking for function "fsync" : YES
Checking for function "ftruncate64" : NO
Checking for function "getauxval" : YES
Checking for function "getc_unlocked" : YES
Checking for function "getfsstat" : NO
Checking for function "getgrgid_r" : YES
Checking for function "getmntent_r" : YES
Checking for function "getpwuid_r" : YES
Checking for function "getresuid" : YES
Checking for function "getvfsstat" : NO
Checking for function "gmtime_r" : YES
Checking for function "hasmntopt" : YES
Checking for function "inotify_init1" : YES
Checking for function "issetugid" : YES
Checking for function "kevent" : NO
Checking for function "kqueue" : NO
Checking for function "lchmod" : YES
Checking for function "lchown" : YES
Checking for function "link" : YES
Checking for function "localtime_r" : YES
Checking for function "lstat" : YES
Checking for function "mbrtowc" : YES
Checking for function "memalign" : YES
Checking for function "mmap" : YES
Checking for function "newlocale" : YES
Checking for function "pipe2" : YES
Checking for function "poll" : YES
Checking for function "prlimit" : YES
Checking for function "readlink" : YES
Checking for function "recvmmsg" : YES
Checking for function "sendmmsg" : YES
Checking for function "setenv" : YES
Checking for function "setmntent" : YES
Checking for function "strerror_r" : YES
Checking for function "strnlen" : YES
Checking for function "strsignal" : YES
Checking for function "strtod_l" : YES
Checking for function "strtoll_l" : NO
Checking for function "strtoull_l" : NO
Checking for function "symlink" : YES
Checking for function "timegm" : YES
Checking for function "unsetenv" : YES
Checking for function "uselocale" : YES
Checking for function "utimes" : YES
Checking for function "utimensat" : YES
Checking for function "valloc" : YES
Checking for function "vasprintf" : YES
Checking for function "vsnprintf" : YES
Checking for function "wcrtomb" : YES
Checking for function "wcslen" : YES
Checking for function "wcsnlen" : YES
Checking for function "sysctlbyname" : NO
Checking for function "statvfs" : YES
Checking for function "statfs" : YES
Checking for function "prctl" : YES
Checking for function "if_indextoname" : YES
Checking for function "if_nametoindex" : YES
Checking for function "splice" : YES
Checking for function "stpcpy" : YES
Checking for function "memalign" : YES
Checking if "getservbyname_r()" compiles: YES
Checking for function "_aligned_malloc" : NO
Checking for function "aligned_alloc" : YES
Checking for function "posix_memalign" : YES
Checking for function "posix_spawn" : YES
Checking if "strerror_r() returns char *" compiles: NO
Checking for function "snprintf" : YES
Checking for function "strcasecmp" : YES
Checking for function "strncasecmp" : YES
Header "sys/sysmacros.h" has symbol "major" : YES
Header "dlfcn.h" has symbol "RTLD_LAZY" : YES
Header "dlfcn.h" has symbol "RTLD_NOW" : YES
Header "dlfcn.h" has symbol "RTLD_GLOBAL" : YES
Header "dlfcn.h" has symbol "RTLD_NEXT" : YES
Checking for type "loff_t" : NO
Message: Checking whether to use statfs or statvfs .. statfs
Checking for function "mkostemp" : YES
Checking if "futex(2) system call" compiles: YES
Checking if "futex(2) system call" compiles: NO
Checking if "eventfd(2) system call" : links: YES
Checking if "pidfd_open(2) system call" : links: YES
Checking if "__uint128_t available" compiles: YES
Checking if "clock_gettime" : links: YES
Checking if "dlopen() and dlsym() in system libraries" : links: YES
Checking if "number of arguments to statfs() (n=2)" compiles: YES
Checking if "open() option O_DIRECTORY" compiles: YES
Checking if "fcntl() option F_FULLFSYNC" compiles: NO
Checking if "nl_langinfo and CODESET" : links: YES
Checking if "nl_langinfo (PM_STR)" : links: YES
Checking if "nl_langinfo (ERA)" : links: NO
Checking if "nl_langinfo (_NL_CTYPE_OUTDIGITn_MB)" : links: NO
Checking if "nl_langinfo (ALTMON_n)" : links: NO
Checking if "nl_langinfo (_NL_ABALTMON_n)" : links: NO
Checking if "nl_langinfo and _NL_TIME_CODESET" : links: NO
Checking if "signed" compiles: YES
Header "stddef.h" has symbol "ptrdiff_t" : YES
Checking if "sig_atomic_t" : links: YES
Checking if "long long" compiles: YES
Checking if "long double" compiles: YES
Header "stddef.h" has symbol "wchar_t" : YES
Header "wchar.h" has symbol "wint_t" : YES
Checking if "uintmax_t in inttypes.h" compiles: YES
Checking if "uintmax_t in stdint.h" compiles: YES
Checking for size of "char" : 1
Checking for size of "short" : 2
Checking for size of "int" : 4
Checking for size of "void*" : 8
Checking for size of "long" : 8
Checking for size of "long long" : 8
Checking for size of "size_t" : 8
Checking for size of "ssize_t" : 8
Checking if "int64_t is long" compiles: YES
Checking for alignment of "char" : 1
Checking for alignment of "short" : 2
Checking for alignment of "int" : 4
Checking for alignment of "void*" : 8
Checking for alignment of "long" : 8
Checking for alignment of "long long" : 8
Checking for alignment of "size_t" : 8
Checking for size of "wchar_t" : 4
Checking if "GCC size_t typedef is long" compiles: YES
Checking if "GCC size_t typedef is long long" compiles: NO
Checking if "ISO C99 varargs macros in C" compiles: YES
Checking if "ISO C99 varargs macros in C++" compiles: YES
Checking if "GNUC varargs macros" compiles: YES
Has header "alloca.h" : YES (cached)
Has header "sys/poll.h" : YES
Has header "sys/types.h" : YES (cached)
Has header "winsock2.h" : NO
Computing int of "POLLIN" : 1
Computing int of "POLLOUT" : 4
Computing int of "POLLPRI" : 2
Computing int of "POLLERR" : 8
Computing int of "POLLHUP" : 16
Computing int of "POLLNVAL" : 32
Computing int of "AF_UNIX" : 1
Computing int of "AF_INET" : 2
Computing int of "AF_INET6" : 10
Computing int of "MSG_OOB" : 1
Computing int of "MSG_PEEK" : 2
Computing int of "MSG_DONTROUTE" : 4
Checking for type "struct in6_addr" : YES
Checking if "atomic ops" : links: YES
Checking if "atomic ops define" compiles: YES
Checking if "sync swap" : links: NO
../../../../openwrt/build_dir/target-x86_64_musl/glib-2.80.0/meson.build:2053: WARNING: DEPRECATION: Option 'force_posix_threads' is deprecated and will be removed after GLib 2.72; please file an issue with your use case if you still require it
Run-time dependency threads found: YES
Header "pthread.h" has symbol "pthread_attr_setstacksize" : YES
Header "pthread.h" has symbol "pthread_attr_setinheritsched" : YES
Header "pthread.h" has symbol "pthread_condattr_setclock" : YES
Header "pthread.h" has symbol "pthread_cond_timedwait_relative_np" : NO
Header "pthread.h" has symbol "pthread_getname_np" : YES
Header "pthread.h" has symbol "pthread_getaffinity_np" : YES
Checking if "pthread_setname_np(const char*)" with dependency threads: links: NO
Checking if "pthread_setname_np(pthread_t, const char*)" with dependency threads: links: YES
Run-time dependency iconv found: YES
Found pkg-config: YES (/home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/openwrt/staging_dir/host/bin/pkg-config) 2.1.1
Run-time dependency libpcre2-8 found: YES 10.42
Executing subproject gvdb
gvdb| Project name: gvdb
gvdb| Project version: 0.0
gvdb| C compiler for the host machine: x86_64-openwrt-linux-musl-gcc (gcc 13.2.0 "x86_64-openwrt-linux-musl-gcc (OpenWrt GCC 13.2.0 r25858+212-501ef81040) 13.2.0")
gvdb| C linker for the host machine: x86_64-openwrt-linux-musl-gcc ld.bfd 2.40.0
gvdb| C compiler for the build machine: /home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/openwrt/staging_dir/host/bin/gcc (gcc 10.2.1 "gcc (Debian 10.2.1-6) 10.2.1 20210110")
gvdb| C linker for the build machine: /home/bbworker/bbworker/owrt_master_intel_x86_lgm/System6/build/openwrt/staging_dir/host/bin/gcc ld.bfd 2.35.2
gvdb| Build targets in project: 0
gvdb| Subproject gvdb finished.
Dependency gvdb found: YES 0.0 (overridden)
Library m found: YES
Run-time dependency libffi found: YES 3.4.6
Run-time dependency zlib found: YES 1.3.1
Run-time dependency intl found: YES
Checking for function "ngettext" with dependency intl: YES
Checking for function "bind_textdomain_codeset" with dependency intl: YES
Dependency mount skipped: feature libmount disabled
Dependency libselinux skipped: feature selinux disabled
Checking for function "getxattr" : YES
Has header "sys/xattr.h" : YES
Checking if "XATTR_NOFOLLOW" compiles: NO
Checking for function "strlcpy" : YES
Program python (packaging) found: NO
@feckert could you provide your meson-log.txt?
@feckert hahaha that problem is partly my fault.
https://github.com/openwrt/openwrt/blob/main/include/meson.mk#L68
the issue is that it's using the host python which does not have the packaging module. Installing it on the OS side will fix this.
@neheb how can we force $(STAGING_DIR_HOST)/bin/python3 to look in ./staging_dir/hostpkg/lib/python3.11/site-packages/ for the packages?
I'm on Ubuntu 22.04.1 and I have no problems building glib2. Even if I create a venv that doesn't provide the packaging module. This is something I don't understand.
Buildroot also sets up PYTHONNOUSERSITE environment variable (see pkg-meson.mk) to avoid searching for the packages in $HOME/.local/lib/python3.x/site-packages.
@neheb I managed to reproduce the issue via creating a Docker instance. As a workaround, I set PYTHONPATH to ./staging_dir/hostpkg/lib/python3.11/site-packages/. This did the trick.
How to solve this in the correct way? meson setup command provides the following options:
--python.platlibdir PYTHON.PLATLIBDIR--python.purelibdir PYTHON.PURELIBDIR
Perhaps, they could be used to provide the correct module path?
@feckert could you try my workaround with exporting PYTHONPATH to test MM with the new glib2?
@neheb I got the package compiled. The package recipe requires
include ../../lang/python/python3-host.mk
that provides HOST_PYTHON3PATH pointing to the required site-packages folder.
The question now is, how to force meson to use the compiled python from the hotpkg folder and not the native host variant /usr/bin/python3.
I made the following quirk but I don't know how to do it correctly. The only way I see so far, is to let the meson package depend on python and hence always use this python version.
diff --git a/include/meson.mk b/include/meson.mk
index 2a20c2bd6b..b832562403 100644
--- a/include/meson.mk
+++ b/include/meson.mk
@@ -56,7 +56,7 @@ MESON_CPU:="$(CPU_TYPE)$(if $(CPU_SUBTYPE),+$(CPU_SUBTYPE))"
endif
define Meson
- $(2) $(STAGING_DIR_HOST)/bin/$(PYTHON) $(STAGING_DIR_HOST)/bin/meson.py $(1)
+ $(2) $(STAGING_DIR_HOSTPKG)/bin/$(PYTHON) $(STAGING_DIR_HOST)/bin/meson.py $(1)
endef
define Meson/CreateNativeFile
@@ -65,7 +65,7 @@ define Meson/CreateNativeFile
-e "s|@CXX@|$(foreach BIN,$(HOSTCXX),'$(BIN)',)|" \
-e "s|@PKGCONFIG@|$(PKG_CONFIG)|" \
-e "s|@CMAKE@|$(STAGING_DIR_HOST)/bin/cmake|" \
- -e "s|@PYTHON@|$(STAGING_DIR_HOST)/bin/python3|" \
+ -e "s|@PYTHON@|$(STAGING_DIR_HOSTPKG)/bin/python3|" \
-e "s|@CFLAGS@|$(foreach FLAG,$(HOST_CFLAGS) $(HOST_CPPFLAGS),'$(FLAG)',)|" \
-e "s|@CXXFLAGS@|$(foreach FLAG,$(HOST_CXXFLAGS) $(HOST_CPPFLAGS),'$(FLAG)',)|" \
-e "s|@LDFLAGS@|$(foreach FLAG,$(HOST_LDFLAGS),'$(FLAG)',)|" \
@@ -84,7 +84,7 @@ define Meson/CreateCrossFile
-e "s|@NM@|$(TARGET_NM)|" \
-e "s|@PKGCONFIG@|$(PKG_CONFIG)|" \
-e "s|@CMAKE@|$(STAGING_DIR_HOST)/bin/cmake|" \
- -e "s|@PYTHON@|$(STAGING_DIR_HOST)/bin/python3|" \
+ -e "s|@PYTHON@|$(STAGING_DIR_HOSTPKG)/bin/python3|" \
-e "s|@CFLAGS@|$(foreach FLAG,$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS),'$(FLAG)',)|" \
-e "s|@CXXFLAGS@|$(foreach FLAG,$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS),'$(FLAG)',)|" \
-e "s|@LDFLAGS@|$(foreach FLAG,$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS),'$(FLAG)',)|" \
There is no need to provide HOST_PYTHON3PATH in the package's recipe. Invoking the right Python version seems to be sufficient.
@yegorich CI is failing. Should I test this in my build env or do have to push changes to this branch. This is not clear in your last message?
@feckert CI will fail untill we fix meson.mk. There are two ways to test my PR:
- install
python3-packagingin your Debian 11 instance - patch
include/meson.mkas mentioned above
The last variant could be unstable as tools/meson doesn't depend on python3/host and I'm not sure glib2 is the first package to rely on meson.
@neheb how do I add a python3/host dependency to tools/meson?
Adding HOST_BUILD_DEPENDS or PKG_BUILD_DEPENDS doesn't work.
diff --git a/tools/meson/Makefile b/tools/meson/Makefile
index 96974faafe..92b594f9b0 100644
--- a/tools/meson/Makefile
+++ b/tools/meson/Makefile
@@ -11,6 +11,9 @@ PKG_MAINTAINER:=Andre Heider <[email protected]>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=COPYING
+HOST_BUILD_DEPENDS:=python3/host
+PKG_BUILD_DEPENDS:=python3/host
+
include $(INCLUDE_DIR)/host-build.mk
define Host/Configure
@yegorich From my point of view. The buildsystem should have as few dependencies against the build host as possible. As we have seen, the problem would not have occurred if we had used the tools from the build system in the first place. So I would prefer the second solution.
@neheb is this PR https://github.com/openwrt/openwrt/pull/10800 related?
It is not.
I think the proper way to fix is to remove the python entry from the cross file. That way hostpkg python is preferred to host python.
@neheb do you mean something like this:
diff --git a/tools/meson/files/openwrt-cross.txt.in b/tools/meson/files/openwrt-cross.txt.in
index 836a0e51e4..262db3c251 100644
--- a/tools/meson/files/openwrt-cross.txt.in
+++ b/tools/meson/files/openwrt-cross.txt.in
@@ -8,7 +8,6 @@ strip = '@STRIP@'
nm = '@NM@'
pkg-config = '@PKGCONFIG@'
cmake = '@CMAKE@'
-python = '@PYTHON@'
[built-in options]
c_args = [@CFLAGS@]
It didn't work :-(
Release notes were somewhat misleading:
Change how Python is found at configure time and in script shebangs (#3301, #3331, work by multiple people)
Especially this issue with a suggestion to implement packaging functionality in glib2 itself.
@feckert CI is now happy. Could you, please, give it a try with ModemManager? Thanks.
@neheb the packaging issue seems to be fixed.
I'm somewhat uneasy of putting beta versions on here.
I'm somewhat uneasy of putting beta versions on here.
No problem, I'll downgrade the patch to 2.80.x.
@neheb downgrade ready.