MacPorts downloaded package with wrong architecture on arm64 machine

Ian Wadham iandw.au at gmail.com
Fri Sep 9 05:29:33 UTC 2022


Hi Ryan,

Thank you very much for your reply.

> On 9 Sep 2022, at 1:44 pm, Ryan Schmidt <ryandesign at macports.org> wrote:
> 
> 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.
> 
> See https://trac.macports.org/ticket/65765
> 

Even if someone can get kdelibs4 and qt4-mac to play nicely together on arm64 Apple Silicon architecture, using Rosetta, I don’t hold out much hope for kdelibs4’s other dependencies, which are numerous and complex and quite huge. 

They are one reason why the KDE team switched to a radically different library organisation called Frameworks or KF5, based on Qt5.

I think most of the KDE apps have been ported and are up-to-date on KF5 and Qt5 and installable in Linux and Windows. But availability on Mac appears to be a grey area (pace Homebrew).

The KDE4 versions of the apps still work quite well on MacPorts on an x86_64 machine, although KMyMoney4 no longer works for me on my older MacBook (2017 vintage).

Cheers,
Ian Wadham.


More information about the macports-users mailing list