[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