[MacPorts] #64944: gobject-introspection @1.72.0 for +universal: An exe_wrapper is needed but was not found
MacPorts
noreply at macports.org
Tue Apr 5 19:06:07 UTC 2022
#64944: gobject-introspection @1.72.0 for +universal: An exe_wrapper is needed but
was not found
-------------------------------------+-----------------------------------
Reporter: barracuda156 | Owner: mascguy
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.7.2
Keywords: powerpc, leopard, ppc64 | Port: gobject-introspection
-------------------------------------+-----------------------------------
This is a different issue from: https://trac.macports.org/ticket/64769
I finally have built dependencies as ppc+ppc64 (aside of python310 and its
modules).
Thanks to Kencu's advice, I fixed `meson` so that it can now build for
ppc+ppc64.
So at first I added `depends_skip_archcheck-append python310 py310-cython`
to `gobject-introspection` Portfile and tried to build it as `+universal`.
It failed with the following:
{{{
---> Configuring gobject-introspection
Executing: cd
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/gobject-introspection-1.72.0" && /opt/local/bin/meson
--prefix=/opt/local -Ddoctool=enabled -Dpython=/opt/local/bin/python3.10
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/gobject-introspection-1.72.0
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/build
The Meson build system
Version: 0.59.1
Source dir:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/gobject-introspection-1.72.0
Build dir:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/build
Build type: native build
Project name: gobject-introspection
Project version: 1.72.0
meson.build:1:0: ERROR: Unable to detect linker for compiler
"/usr/bin/gcc-4.2 -Wl,--version -pipe -Os -arch ppc -arch ppc64
-I/opt/local/include"
stdout:
stderr:
A full log can be found at
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/build/meson-logs/meson-log.txt
Command failed: cd
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/gobject-introspection-1.72.0" && /opt/local/bin/meson
--prefix=/opt/local -Ddoctool=enabled -Dpython=/opt/local/bin/python3.10
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/gobject-introspection-1.72.0
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/build
Exit code: 1
Error: Failed to configure gobject-introspection: consult
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/build/meson-logs/meson-log.txt
Error: Failed to configure gobject-introspection: configure failure:
command execution failed
}}}
Then I added `muniversal 1.0` PortGroup and tried to build again. It still
failed however:
{{{
Build targets in project: 37
Found ninja-1.10.2 at /opt/local/bin/ninja
ERROR: An exe_wrapper is needed but was not found. Please define one in
cross file and check the command and/or add it to PATH.
A full log can be found at
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/build-ppc64/meson-logs/meson-log.txt
Command failed: cd
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/gobject-introspection-1.72.0-ppc64" &&
/opt/local/bin/meson --prefix=/opt/local -Ddoctool=enabled
-Dpython=/opt/local/bin/python3.10
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/gobject-introspection-1.72.0-ppc64
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_macports_release_tarballs_ports_gnome_gobject-introspection/gobject-
introspection/work/build-ppc64 --cross-file=ppc64-darwin
Exit code: 1
}}}
`ppc32` part had this:
{{{
Build targets in project: 37
Found ninja-1.10.2 at /opt/local/bin/ninja
WARNING: Cross file does not specify strip binary, result will not be
stripped.
WARNING: Cross file does not specify strip binary, result will not be
stripped.
}}}
Now, I made cross-files for `ppc` and `ppc64` by just copying from Kencu
and replacing arch. For example, original in
`/opt/local/share/meson/cross` for `i386-darwin` has:
{{{
[host_machine]
system = 'darwin'
cpu_family = 'x86'
cpu = 'i386'
endian = 'little'
[binaries]
pkgconfig = '/opt/local/bin/pkg-config'
cmake = '/opt/local/bin/cmake'
}}}
Then my `ppc64-darwin`:
{{{
[host_machine]
system = 'darwin'
cpu_family = 'ppc64'
cpu = 'ppc64'
endian = 'big'
[binaries]
pkgconfig = '/opt/local/bin/pkg-config'
cmake = '/opt/local/bin/cmake'
}}}
There was nothing about strip binary there. What did I do wrong and how to
fix this?
--
Ticket URL: <https://trac.macports.org/ticket/64944>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list