termux / termux-packages

A package build system for Termux.
https://termux.dev
Other
12.91k stars 2.97k forks source link

[Bug]: ./build-package.sh glib or ./build-package.sh gobject-introspection or ./build-package.sh python-pip #20447

Open CloudControlPro opened 2 months ago

CloudControlPro commented 2 months ago

Problem description

Unable to build Python-pip

Snipaste_2024-06-08_00-59-26

What steps will reproduce the bug?

./build-package.sh python-pip ./build-package.sh glib ./build-package.sh gobject-introspection

What is the expected behavior?

Can successfully build Python-pip

System information

termux - building glib for arch aarch64...
Applying patch: *.patch.beforehostbuild
Applying patch: gio-gdbusprivate.c.patch
Applying patch: gio-gkeyfilesettingsbackend.c.patch
Applying patch: gio-gnetworking.h.in.patch
Applying patch: gio-gunixmounts.c.patch
Applying patch: gio-xdgmime-xdgmime.c.patch
Applying patch: glib-gcharset.c.patch
Applying patch: glib-gspawn.c.patch
Applying patch: glib-gthread-posix.c.patch
Applying patch: glib-gthreadprivate.h.patch
Applying patch: glib-gtimezone.patch
Applying patch: glib-gtypes.h.patch
Applying patch: glib-gutils.c.patch
Applying patch: glib-tests-meson.build.patch
Applying patch: meson.build.patch
sed: can't read /data/data/cn.mucute.merinal/files/usr/lib/pkgconfig/gobject-introspection-1.0.pc: No such file or directory
TomJo2000 commented 2 months ago

Builds fine from the latest commit on the master branch. We can't help with issues related to forks of the Termux app.

Biswa96 commented 2 months ago

There are two similar issues. I have added that line in glib build script. There is a circular dependency between glib and gobject-introspection. It could be fixed by building gobject-introspection in glib as similas as Alpine Linux did https://git.alpinelinux.org/aports/tree/main/glib/APKBUILD. That would increase build time. I could try to solve that if increased build time is allowed.

TomJo2000 commented 2 months ago

There are two similar issues. I have added that line in glib build script. There is a circular dependency between glib and gobject-introspection. It could be fixed by building gobject-introspection in glib as similas as Alpine Linux did https://git.alpinelinux.org/aports/tree/main/glib/APKBUILD. That would increase build time. I could try to solve that if increased build time is allowed.

glib is well below the CI runner limit, by all means go for it.

CloudControlPro commented 2 months ago

Who can give me specific steps to solve it?

Biswa96 commented 2 months ago

Duplicate of #20070

If glib and gobject-introspection are in your repository add with -I option with build-packages.sh command to prevent recompiling dependencies.

If glib and gobject-introspection does not present in your repository you have to follow some steps to bootstrap glib and gojbect-introspection (GI). See https://gitlab.gnome.org/GNOME/glib/-/blob/2.80.0/docs/reference/glib/building.md?ref_type=tags

  1. Build glib using -Dintrospection=disabled option.
  2. Build GI using glib from step1.
  3. Build glib with -Dintrospection=enabled using GI from step2.
truboxl commented 2 months ago

Since they are building for a custom prefix cn.mucute.merinal, -I option will not work.