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