MacPorts downloaded package with wrong architecture on arm64 machine
ryandesign at macports.org
Fri Sep 9 03:44:29 UTC 2022
On Aug 30, 2022, at 20:57, Ian Wadham wrote:
> I recently purchased a new MacBook Pro with Monterey O/S and installed MacPorts on it from scratch.
> I installed the qt4-mac port successfully, but kdelibs4 refused to install because the qt4-mac port did
> not support arm64 architecture and i am on an Apple Silicon arm64 machine.
> The problem arose because the installation process for qt4-mac included the steps:
> —> Attempting to fetch qt4-mac-4.8.7_13.darwin_21.x86_64.tbz from https://packages.macports.org/qt4-mac
> —> Attempting to fetch qt4-mac-4.8.7_13.darwin_21.x86_64.tbz.rmd160 from https://packages.macports.org/qt4-mac
> The second step succeeded, i.e. MacPorts itself downloaded an inappropriate package for an Apple
> Silicon machine. I noticed that some (maybe not all) of qt4-mac’s dependencies were compiled or
> downloaded as arm64 code and, curiously, some of Qt4’s utility apps work on my machine, perhaps
> due to the Rosetta emulator stepping in and taking over.
> The kdelibs4 install failed in the “Computing dependencies…” step, saying “Error: Cannot install kdelibs4 for
> the arch arm64 because its dependency qt4-mac only supports the archs ‘ppc ppc64 i386 x86_64’”
> Is this a bug or is it the end of the line for kdelibs4 on arch64? Can kdelibs4 really build as arch64? And what
> about its (enormous) list of other dependencies? Do they all build for arch64?
> If there is a bug here, I think it is that MacPorts can download a package for an inappropriate architecture.
MacPorts correctly installed qt4-mac for x86_64 on your machine because qt4-mac does not support arm64. The x86_64 qt4-mac will work on your arm64 Mac via Rosetta 2 dynamic translation.
kdelibs4, and all other ports that use qt4-mac, need to be declared to be arm64-incompatible, due to qt4-mac's arm64 incompatibility.
More information about the macports-users