Opened 4 years ago
Last modified 21 months ago
#62027 closed defect
qt5-qtwebkit fails to build on Big Sur 11.1 with Apple silicon — at Version 14
Reported by: | dfleck | Owned by: | kencu (Ken) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.4 |
Keywords: | bigsur arm64 | Cc: | ctreleaven@…, jhoyt4 |
Port: | qt5-qtwebkit |
Description (last modified by ctreleaven (Craig Treleaven))
This bug is now apparently about qt5-qtwebkit failing to build on arm64. mythtv is only incidental at this point.
Change History (15)
comment:1 Changed 4 years ago by ctreleaven (Craig Treleaven)
comment:2 Changed 4 years ago by ctreleaven (Craig Treleaven)
Owner: | set to ctreleaven |
---|---|
Status: | new → accepted |
comment:3 Changed 4 years ago by dfleck
Actually I *have* mythbackend (and mythweb) running on the M1. I installed a v28 app package I found somewhere. But I'd like to get it running "properly" as a service thru MacPorts (plus the webbackend server isn't working right with the app).
I'll try to modify the Portfile - but so far I've been flummoxed with updating the checksums.
comment:4 Changed 4 years ago by dfleck
Modifying the Portfiles as suggested results in a different error:
Error: Cannot install mythtv.28 for the arch 'arm64' because Error: its dependency qt5-qtbase only supports the arch 'x86_64'.
comment:5 Changed 4 years ago by ctreleaven (Craig Treleaven)
Interesting. I would guess that you installed from the all-in-one installer and are therefore running Myth under Rosetta2 emulation. First report I've heard of that.
I'm not sure what the status is on qt5 on Apple silicon. I think it might be best to send a query to the macports-dev mailing list, copying the qt5 maintainers, and ask what the plan is to bring Qt up. I did notice that Qt6 was released recently. The indication was that Qt6 was not a major departure from Qt5 so maybe it won't be hard to add to MacPorts. OTOH, Qt is a massive, complicated suite of software and making it work in a MacPorts-context has been far from trivial.
Please feel free to contact me directly at my macports.org address if you'd like to discuss further.
comment:6 Changed 4 years ago by ILMostro (ILMostro)
Yeah, the same issue with qt5-base is the blocker for the current release of mythtv; version 0.31. I had brought it up in the IRC at the time. Actually, the specific package, as far as I could tell, was qt5-qtwebkit.
Changed 4 years ago by ILMostro (ILMostro)
Attachment: | qt5-qtwebkit-main.log added |
---|
main.log from port install qt5-qtwebkit
comment:7 Changed 4 years ago by kencu (Ken)
I fixed most of qt5 to work on arm64, but qt5-qtwebkit is not fixed. It's a upstream issue, and I haven't heard when or if they plan on getting it fixed.
comment:8 Changed 4 years ago by ctreleaven (Craig Treleaven)
@ILMostro, what is your objective? If you are looking to install a full Myth system (front & backend), then 0.28 is not a great choice. It is no longer supported upstream and version 32 is going to be released in a few weeks/months.
However, AFAIK, qtwebkit is only used for plugins (like MythNews & MythBrowser). You could try deleting qtwebkit as a dependency and see if the build gets much further. Myth frontend, at least, does build and run on Android so it is conceivable that it could be made to build and run on Apple Silicon.
Also, I could not find a ticket or pull request regarding qt5-qtwebkit not building on arm64. Another ticket should be opened. @kencu, is there an upstream Qt ticket regarding building on arm64?
comment:9 Changed 4 years ago by jhoyt4
@ILMostro @kencu - it looks like the qtwebkit compile is failing where we had to patch recently in FastMalloc.cpp for Big Sur back in Nov/Dec.
The related patch is patch-qtwebkit-FastMalloc.diff
Basically, Apple changed from using the PAGE_SHIFT variable to I386_PGSHIFT for x86 and I believe PGSHIFT for ARM. Modding the patch to change PAGE_SHIFT to PGSHIT should fix the initial compile issue.
#if OS(DARWIN) # if CPU(X86_64) # define K_PAGE_SHIFT I386_PGSHIFT # else # define K_PAGE_SHIFT PGSHIFT # endif
The portfile is currently setup only to patch os.major > 20 so this should not hurt anyone else.
I've attached a new patch file. If this works, I'd be happy to make up a new PR.
I'd test myself - but unfortunately I don't have any computers with Apple Silicon.
comment:10 Changed 4 years ago by jhoyt4
Cc: | jhoyt4 added |
---|
comment:12 Changed 4 years ago by kencu (Ken)
this is the one for qtwebengine.
<https://bugreports.qt.io/browse/QTBUG-85537>
It's been a couple of months since I worked on this, and qt5 has several different web-related packages...might have to check again to be certain exactly where each package got to in terms of build status.
comment:13 Changed 4 years ago by kencu (Ken)
Here are the qt5 ports we have installed on arm64 so far:
% port -v installed | grep qt5 qt5 @5.15.2_0 (active) platform='darwin 20' archs='noarch' date='2020-12-20T02:51:37-0500' qt5-qt3d @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T02:42:11-0500' qt5-qtbase @5.15.2_2+openssl (active) platform='darwin 20' archs='arm64' date='2021-01-21T20:16:44-0500' qt5-qtconnectivity @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T02:50:52-0500' qt5-qtcreator @4.12.4_0 (active) platform='darwin 20' archs='arm64' date='2021-01-14T03:35:10-0500' qt5-qtdeclarative @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:19:58-0500' qt5-qtgamepad @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:34:47-0500' qt5-qtgraphicaleffects @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:24:01-0500' qt5-qtimageformats @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:24:17-0500' qt5-qtlocation @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:30:48-0500' qt5-qtmacextras @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:26:56-0500' qt5-qtmultimedia @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:33:48-0500' qt5-qtnetworkauth @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:33:56-0500' qt5-qtquickcontrols @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:27:38-0500' qt5-qtquickcontrols2 @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:25:55-0500' qt5-qtremoteobjects @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:34:17-0500' qt5-qtscript @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2021-01-06T11:00:04-0500' qt5-qtscxml @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:34:35-0500' qt5-qtsensors @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:26:31-0500' qt5-qtserialbus @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:32:41-0500' qt5-qtserialport @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:26:03-0500' qt5-qtspeech @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T02:51:02-0500' qt5-qtsvg @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:15:18-0500' qt5-qttools @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:23:23-0500' qt5-qttranslations @5.15.2_0 (active) platform='darwin 20' archs='noarch' date='2020-12-20T02:51:21-0500' qt5-qtwebchannel @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:26:50-0500' qt5-qtwebsockets @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:26:42-0500' qt5-qtxmlpatterns @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T01:32:22-0500' qt5-sqlite-plugin @5.15.2_0 (active) platform='darwin 20' archs='arm64' date='2020-12-20T02:51:36-0500'
And here's what the buildbot has made wrt to qt5-qtwebkit
comment:14 Changed 4 years ago by ctreleaven (Craig Treleaven)
Description: | modified (diff) |
---|---|
Owner: | changed from ctreleaven to kencu |
Port: | qt5-qtwebkit added; mythtv.28 removed |
Status: | accepted → assigned |
Summary: | mythtv.28 fails to build on Big Sur 11.1 with Apple silicon → qt5-qtwebkit fails to build on Big Sur 11.1 with Apple silicon |
AFAIK, you are the first person to attempt to build Myth 0.28 on Apple Silicon.
You could try adding arm64 to the supported_archs (line 26 of the Portfile). The build dependency on yasm will then be superfluous, I believe.
Are you looking to try running mythbackend on an M1 Mac? I'll be glad to offer what advice I can but I don't have such hardware myself.