Opened 15 months ago

Last modified 7 months ago

#68112 assigned defect

gtk3 @3.24.38+universal: Error: gtk3 requires at least one architecture runnable on this machine to be able to build universally

Reported by: Liontooth (David Liontooth) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version:
Keywords: arm64 Cc: cooljeanius (Eric Gallager)
Port: gtk3

Description

--->  Attempting to fetch gtk+-3.24.38.tar.xz from http://ftp.gnome.org/pub/GNOME/sources/gtk+/3.24/
--->  Verifying checksums for gtk3                                                   
--->  Extracting gtk3
--->  Applying patches to gtk3
--->  Configuring gtk3
Error:
Error: gtk3 requires at least one architecture runnable on this
Error: machine to be able to build universally. Please add at least
Error: one of the following architectures to `universal_archs` in
Error: "/opt/local/etc/macports/macports.conf":
Error:
Error:     ppc64 ppc

/opt/local/etc/macports/macports.conf has

#universal_archs     	x86_64

Attachments (2)

main.log (62.8 KB) - added by Liontooth (David Liontooth) 15 months ago.
gtk3 build log
main.2.log (70.6 KB) - added by Liontooth (David Liontooth) 15 months ago.
2023-09-12 Build log

Download all attachments as: .zip

Change History (13)

comment:1 Changed 15 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: mascguy removed
Keywords: arm64 added
Owner: set to mascguy
Status: newassigned
Summary: arm64 not acceptedgtk3 @3.24.38+universal: Error: gtk3 requires at least one architecture runnable on this machine to be able to build universally

We'll need more information. Could you attach the main.log file, please? It does sound like something that's been reported before (I remember seeing the erroneous reference to ppc archs on arm64 before) but I can't find it right now.

comment:2 Changed 15 months ago by jmroot (Joshua Root)

There's a part in the Portfile where it tries to figure out which archs can be run on the build machine. It looks like this code doesn't account for arm64 systems.

comment:3 in reply to:  2 Changed 15 months ago by mascguy (Christopher Nielsen)

Replying to jmroot:

There's a part in the Portfile where it tries to figure out which archs can be run on the build machine. It looks like this code doesn't account for arm64 systems.

Yep. And ideally we shouldn't need it, if we could leverage what's already being done by muniversal.

So I could use some advice/guidance on this, from you more Universal-savvy folks:

  • The port is based on muniversal 1.0. Would migrating to muniversal 1.1 assist at all with this?
  • Suggestions on how to eliminate the logic in question?

Changed 15 months ago by Liontooth (David Liontooth)

Attachment: main.log added

gtk3 build log

Changed 15 months ago by Liontooth (David Liontooth)

Attachment: main.2.log added

2023-09-12 Build log

comment:4 Changed 15 months ago by Liontooth (David Liontooth)

I did a port update and attempted an install of gtk3-3.24.38 again. This time I got a different error:

build ninja: error: unknown target 'CC=/usr/bin/clang -arch arm64'

Context:

:notice:build --->  Building gtk3
:debug:build Executing org.macports.build (gtk3)
:info:build --->  Building gtk3 for architecture arm64
:debug:build setting option build.dir to /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gnome_gtk3/gtk3/work/build-arm64
:debug:build Environment: 
:debug:build CC_PRINT_OPTIONS='YES'
:debug:build CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gnome_gtk3/gtk3/work/.CC_PRINT_OPTIONS'
:debug:build CPATH='/opt/local/include'
:debug:build DEVELOPER_DIR='/Library/Developer/CommandLineTools'
:debug:build LIBRARY_PATH='/opt/local/lib'
:debug:build MACOSX_DEPLOYMENT_TARGET='13.0'
:debug:build MACPORTS_LEGACY_SUPPORT_DISABLED='1'
:debug:build SDKROOT='/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk'
:info:build Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gnome_gtk3/gtk3/work/build-arm64" && /opt/local/bin/ninja -j8 CC='/usr/bin/clang -arch arm64' CC_FOR_BUILD='/usr/bin/clang -arch arm64' -v 
:debug:build system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gnome_gtk3/gtk3/work/build-arm64" && /opt/local/bin/ninja -j8 CC='/usr/bin/clang -arch arm64' CC_FOR_BUILD='/usr/bin/clang -arch arm64' -v 
:info:build ninja: error: unknown target 'CC=/usr/bin/clang -arch arm64'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_gnome_gtk3/gtk3/work/build-arm64" && /opt/local/bin/ninja -j8 CC='/usr/bin/clang -arch arm64' CC_FOR_BUILD='/usr/bin/clang -arch arm64' -v 
:info:build Exit code: 1
:error:build Failed to build gtk3: command execution failed
:debug:build Error code: NONE

I enclose the main.log file.

comment:5 in reply to:  4 Changed 14 months ago by mascguy (Christopher Nielsen)

Replying to Liontooth:

I did a port update and attempted an install of gtk3-3.24.38 again. This time I got a different error:

build ninja: error: unknown target 'CC=/usr/bin/clang -arch arm64'

Thanks for the update, and the log file.

I'll try to find some time to test and fix this, over the next few days. More to follow.

comment:6 Changed 13 months ago by Liontooth (David Liontooth)

Hi Chris! You're no doubt a busy man. I'm still getting

unknown target 'CC=/usr/bin/clang -arch arm64'

Why isn't this particular package familiar with arm64? Since we're building for arm64 all the time, what is it that gtk3 is doing that makes the ninja build tool not recognize the target?

Build failure on arm64 with --build-tool=ninja https://github.com/randombit/botan/issues/3750 is reported fixed for botan with Fix Ninja build to pass instruction set flags to the compiler https://github.com/randombit/botan/pull/3751.

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f84e0bd3e7f13888c343883bbc5e0b26b0694bf3 shows the details, involving

--cpu=${chostarch}

comment:7 Changed 11 months ago by kencu (Ken)

this is still dying building universal on arm/Intel...

comment:8 Changed 9 months ago by gregyao

Still dying building universal on arm/Intel: it fails for me when install kdelibs4 tries to install gtk3 as a dependency. Would be grateful for any help. Thanks

comment:9 Changed 8 months ago by Liontooth (David Liontooth)

Yes, this is now blocking all updates for me

comment:10 Changed 8 months ago by kencu (Ken)

If you don't really need gtk3 to be universal, just install it non-universal and you're good to go.

If you believe you really do need it universal (you probably don't), you are out of luck for the foreseeable future as nobody appears motivated to fix it, now three years after arm Macs came out.

comment:11 Changed 7 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added
Note: See TracTickets for help on using tickets.