[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 22:22:42 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
Resolution: | Keywords: powerpc, leopard, ppc64
Port: gobject-introspection |
------------------------------------+-------------------------------------
Description changed by ryandesign:
Old description:
> 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?
New description:
This is a different issue from #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#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list