Summary: | dev-libs/gobject-introspection: cannot cross-compile An exe_wrapper is needed but was not found | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Andrew Udvare <audvare> |
Component: | Current packages | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | cross, gentoo, vadorovsky, vidra.jonas |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build log |
Description
Andrew Udvare
2022-06-09 20:54:39 UTC
Also this blocks polkit and I do not know why gobject-introspection can somehow get skipped by Portage, but I was using --keep-going. Run-time dependency gobject-introspection-1.0 found: NO (tried pkgconfig) meson.build:329:2: ERROR: Dependency "gobject-introspection-1.0" not found, tried pkgconfig On IRC we discussed this and they got past various bits by using -introspection but we're going to have to figure out a cross-introspection thing soon, as not all upstreams are willing to allow disabling it. This was also encountered in NixOS: https://github.com/NixOS/nixpkgs/issues/72868 https://github.com/NixOS/nixpkgs/pull/176464 They resolved it, apparently through hooking an emulator support into the build system (but I just skimmed the diffs). (In reply to jonys from comment #3) > This was also encountered in NixOS: > https://github.com/NixOS/nixpkgs/issues/72868 > https://github.com/NixOS/nixpkgs/pull/176464 > > They resolved it, apparently through hooking an emulator support into the > build system (but I just skimmed the diffs). Yeah, we need to tell crossdev to setup a Meson machine file to run QEMU. Meson can transparently handle it in a cross-friendly way. For me, installing app-emulation/qemu was the ultimate solution for all "exe_wrapper is needed but was not found" thrown by meson.
I was able to build dev-libs/gobject-introspection without any troubles afterwards. Which means that Meson is probably smart enough to use qemu as exe_wrapper when it's available on the host.
Below is the result of my `ROOT=/usr/aarch64-gentoo-linux-musl emerge -av dev-libs/gobject-introspection`. Before installing qemu on host I used to hit the same error with exe_wrapper (for many Meson-based projects).
>>> Completed (19 of 19) dev-libs/gobject-introspection-1.78.1::gentoo to /usr/aarch64-gentoo-linux-musl/
* Messages for package sys-apps/util-linux-2.38.1-r3 merged to /usr/aarch64-gentoo-linux-musl/:
* The mesg/wall/write tools have been disabled due to USE=-tty-helpers.
* Messages for package dev-libs/glib-2.78.3 merged to /usr/aarch64-gentoo-linux-musl/:
* Unable to find kernel sources at /usr/aarch64-gentoo-linux-musl/usr/src/linux
* Unable to calculate Linux Kernel version for build, attempting to use running version
* GNU info directory index is up-to-date.
* IMPORTANT: 15 news items need reading for repository 'gentoo'.
* Use eselect news read to view new items.
OK, nevermind. I noticed that it's non-deterministic in my case. I tried multiple times setting up fresh stage3 container and redo the following from the scratch: 1. Setting up crossdev. 2. Installing app-emulation/qemu with QEMU_USER_TARGETS="*" QEMU_SOFTMMU_TARGETS="*" USE="static-user" 3. cross-emerging any Meson-based package - either dev-libs/gobject-introspection or my patched zstd from my overlay (https://gitlab.com/vadorovsky/overlay/-/tree/main/app-arch/zstd?ref_type=heads) And what I noticed that sometimes it works, sometimes it doesn't. One time I see the emerge finishing with success. Other time I see the "exe_wrapper is needed but was not found" error. I don't understand why it's non-deterministic, it doesn't make sense. What I'm going to try right now is adding `exe_wrapper = qemu-${cpu_family}` to meson.eclass. I hope it makes it more reliable and deterministic. Maybe I will also have to write a wrapper script - I've seen people complaining that just pointing to qemu doesn't work and that they need this wrapper which fixes up the arguments: https://github.com/hwengineer/STM32-L0-qemu-example/blob/master/meson_exe_wrapper.sh Also, probably a duplicate of https://bugs.gentoo.org/751325 Yeah, I think it is. *** This bug has been marked as a duplicate of bug 751325 *** |