Opened 3 months ago

Last modified 7 weeks ago

#62027 assigned defect

qt5-qtwebkit fails to build on Big Sur 11.1 with Apple silicon

Reported by: dfleck Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
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.

Attachments (10)

qt5-qtwebkit-main.log (1.4 MB) - added by ILMostro (ILMostro) 2 months ago.
main.log from port install qt5-qtwebkit
qt5-qtwebkit-patch_failed-main.log (2.5 MB) - added by ILMostro (ILMostro) 8 weeks ago.
patch-qtwebkit-FastMalloc.2.diff (468 bytes) - added by jhoyt4 8 weeks ago.
Corrected patch file (really I mean it this time...)
qt5-qtwebkit-patch_failed-main.2.log (3.4 MB) - added by ILMostro (ILMostro) 8 weeks ago.
qt5-qtwebkit-patch_failed2-main.log (4.6 MB) - added by ILMostro (ILMostro) 8 weeks ago.
qt5-qtwebkit-patch_failed3-main.log (5.5 MB) - added by ILMostro (ILMostro) 8 weeks ago.
qt5-qtwebkit-patch_failed4-main.log (6.7 MB) - added by ILMostro (ILMostro) 8 weeks ago.
patch-qtwebkit-FastMalloc.diff (802 bytes) - added by jhoyt4 7 weeks ago.
fixed - requires MachineStackMarker.cpp.diff and Platform.h.diff patches
patch-qtwebkit-MachineStackMarker.cpp.diff (1.2 KB) - added by jhoyt4 7 weeks ago.
patch-qtwebkit-Platform.h.diff (341 bytes) - added by jhoyt4 7 weeks ago.

Change History (51)

comment:1 Changed 3 months ago by ctreleaven (Craig Treleaven)

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.

comment:2 Changed 3 months ago by ctreleaven (Craig Treleaven)

Owner: set to ctreleaven
Status: newaccepted

comment:3 Changed 3 months 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 3 months 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 3 months 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.

Last edited 3 months ago by ctreleaven (Craig Treleaven) (previous) (diff)

comment:6 Changed 2 months 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.

Last edited 2 months ago by ILMostro (ILMostro) (previous) (diff)

Changed 2 months ago by ILMostro (ILMostro)

Attachment: qt5-qtwebkit-main.log added

main.log from port install qt5-qtwebkit

comment:7 Changed 8 weeks 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 8 weeks 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 8 weeks 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.

Last edited 8 weeks ago by jhoyt4 (previous) (diff)

comment:10 Changed 8 weeks ago by jhoyt4

Cc: jhoyt4 added

comment:11 Changed 8 weeks ago by kencu (Ken)

nb #62139.

comment:12 Changed 8 weeks 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 8 weeks 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

<http://packages.macports.org/qt5-qtwebkit/>

comment:14 Changed 8 weeks ago by ctreleaven (Craig Treleaven)

Description: modified (diff)
Owner: changed from ctreleaven to kencu
Port: qt5-qtwebkit added; mythtv.28 removed
Status: acceptedassigned
Summary: mythtv.28 fails to build on Big Sur 11.1 with Apple siliconqt5-qtwebkit fails to build on Big Sur 11.1 with Apple silicon

comment:15 in reply to:  9 ; Changed 8 weeks ago by kencu (Ken)

Replying to 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.

That patch is already in the qt5-qtwebit build.

<https://github.com/macports/macports-ports/blob/master/aqua/qt5/files/patch-qtwebkit-FastMalloc.diff>

and should be being used already:

<https://github.com/macports/macports-ports/blob/396d56f67cd6bc62a6ab49fff279fa83c7098032/aqua/qt5/Portfile#L1533>

Last edited 8 weeks ago by kencu (Ken) (previous) (diff)

comment:16 in reply to:  15 Changed 8 weeks ago by jhoyt4

Replying to kencu:

Replying to 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.

That patch is already in the qt5-qtwebit build.

Ken - check again.  I modded line 11 from "PAGE_SHIFT" to "PGSHIFT" the new variable.

Sorry - should have made a new file name...

Once K_PAGE_SHIFT gets set to PGSHIFT, K_PAGE_SHIFT and K_NUM_CLASSES should now be set appropriately and get you past that error.

Last edited 8 weeks ago by jhoyt4 (previous) (diff)

comment:17 Changed 8 weeks ago by jhoyt4

I could also be wrong about PGSHIFT :)

Last edited 8 weeks ago by jhoyt4 (previous) (diff)

comment:18 Changed 8 weeks ago by jhoyt4

% grep -r PGSHIFT /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk                                                                    
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/i386/param.h:#define PGSHIFT         12              /* LOG2(NBPG) */
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/i386/param.h:#define ctod(x) ((x)<<(PGSHIFT-DEV_BSHIFT))
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/i386/param.h:#define dtoc(x) ((x)>>(PGSHIFT-DEV_BSHIFT))
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/i386/param.h:#define ctob(x) ((x)<<PGSHIFT)
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/i386/param.h:#define btoc(x) (((unsigned)(x)+(NBPG-1))>>PGSHIFT)
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/sys/param.h:#define CLSHIFT         (PGSHIFT+CLSIZELOG2)
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/mach/i386/vm_param.h:#define I386_PGSHIFT            12              /* bitshift for pages */
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/mach/i386/vm_param.h:#define PAGE_SHIFT              I386_PGSHIFT
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/arm/param.h:#define PGSHIFT         12              /* LOG2(NBPG) */
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/arm/param.h:#define ctod(x) ((x)<<(PGSHIFT-DEV_BSHIFT))
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/arm/param.h:#define dtoc(x) ((x)>>(PGSHIFT-DEV_BSHIFT))
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/arm/param.h:#define ctob(x) ((x)<<PGSHIFT)
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/arm/param.h:#define btoc(x) (((unsigned)(x)+(NBPG-1))>>PGSHIFT)

This is the one :)

/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/include/arm/param.h:#define PGSHIFT         12              /* LOG2(NBPG) */

It looks like Apple removed PAGE_SHIFT from the mach headers for arm...

Last edited 8 weeks ago by jhoyt4 (previous) (diff)

comment:19 Changed 8 weeks ago by jhoyt4

Another option it to change it to PAGE_SHIFT_CONST

/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/arm/vm_param.h:#define PAGE_SHIFT_CONST        12

comment:20 Changed 8 weeks ago by kencu (Ken)

We're in the right section, for sure. I guess we need an arm section for this patch:

--- Source/WTF/wtf/FastMalloc.cpp
+++ Source/WTF/wtf/FastMalloc.cpp
@@ -628,7 +628,11 @@
 // sense.  In particular, if kMaxSize increases, you may have to
 // increase kNumClasses as well.
 #if OS(DARWIN)
-#    define K_PAGE_SHIFT PAGE_SHIFT
+#    if CPU(X86_64)
+#        define K_PAGE_SHIFT I386_PGSHIFT
+#    else
+#        define K_PAGE_SHIFT PAGE_SHIFT
+#    endif
 #    if (K_PAGE_SHIFT == 12)
 #        define K_NUM_CLASSES 68
 #    elif (K_PAGE_SHIFT == 14)

but -- I feel we have been down this exact road before in some port or ticket.... maybe not.

comment:21 in reply to:  20 Changed 8 weeks ago by jhoyt4

Replying to kencu:

We're in the right section, for sure. I guess we need an arm section for this patch:

makes sense, when I tossed it together I couldn't remember the switch value for arm - ARM or ARM64 or ... then again, this only triggers for dawrin >=20 - so if it's not X86 then it has to be ARM (at this point in time...)

but -- I feel we have been down this exact road before in some port or ticket.... maybe not.

I think when I wrote the original patch, PAGE_SHIFT was still in the 11.0 SDK for ARM. Apple keeps changing things around with that add of PAGE_SHIFT_CONST - but PGSHIFT seems to consistently be there.

Again, would be happy to test and hack away until I got the correct answer, I just don't have any Apple Silicon to play around with...

Last edited 8 weeks ago by jhoyt4 (previous) (diff)

comment:22 Changed 8 weeks ago by ILMostro (ILMostro)

Thank you all for the ongoing work. I'm not sure if the patch is in the tree already. I tried to test it now, but the failure is still there. I am returning the device, so I won't be able to contribute much more after today.

As for the mythtv build. I was trying to build mythtv-0.31 using the https://github.com/MythTV/packaging/blob/master/OSX/build/macports_ansible/compileMythfrontendAnsible.zsh script.

comment:23 Changed 8 weeks ago by jhoyt4

@ILMostro - the patchfile is not in git (the original that works for x86 is, but not the minor ARM tweak). You could copy the one I posted earlier into your port tree to test.

Sorry to hear you're returning the device - if you get to hold onto it for longer and need help troubleshooting the build script, I am very happy to help there (I'm the author). As far as I know, you're the first to try it on ARM.

comment:24 Changed 8 weeks ago by ILMostro (ILMostro)

Thank you, I appreciate it. I did try the patch just now, but it's reported as failed to apply the patch. I'm assuming that it was just a matter of downloading the patch file in original format and placing it in "/opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/aqua/qt5/files/". I'm attaching the main log here. The output of the FastMalloc.cpp.rej file is shown below.

cat var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/aqua/qt5/work/qtwebkit-opensource-src-5.9.2/Source/WTF/wtf/FastMalloc.cpp.rej 
***************
*** 628,634 ****
  // sense.  In particular, if kMaxSize increases, you may have to
  // increase kNumClasses as well.
  #if OS(DARWIN)
- #    define K_PAGE_SHIFT PAGE_SHIFT
  #    if (K_PAGE_SHIFT == 12)
  #        define K_NUM_CLASSES 68
  #    elif (K_PAGE_SHIFT == 14)
--- 628,638 ----
  // sense.  In particular, if kMaxSize increases, you may have to
  // increase kNumClasses as well.
  #if OS(DARWIN)
+ #    if CPU(X86_64)
+ #        define K_PAGE_SHIFT I386_PGSHIFT
+ #    else
+ #        define K_PAGE_SHIFT PGSHIFT
+ #    endif
  #    if (K_PAGE_SHIFT == 12)
  #        define K_NUM_CLASSES 68
  #    elif (K_PAGE_SHIFT == 14)

Changed 8 weeks ago by ILMostro (ILMostro)

comment:25 Changed 8 weeks ago by jhoyt4

sorry - broken patch file (serious apologies). Working on a fix now.

comment:26 Changed 8 weeks ago by jhoyt4

darn, now have a new bug... working to squash it

Last edited 8 weeks ago by jhoyt4 (previous) (diff)

Changed 8 weeks ago by jhoyt4

Corrected patch file (really I mean it this time...)

comment:27 Changed 8 weeks ago by jhoyt4

Sorry - now the patch file is fixed.

Sorry for two patch files (they are both the same) - the web interface didn't take the "replace file" checkbox on one of my uploads for some reason.

comment:28 Changed 8 weeks ago by kencu (Ken)

Owner: changed from kencu to MarcusCalhoun-Lopez

Changed 8 weeks ago by ILMostro (ILMostro)

comment:29 Changed 8 weeks ago by ILMostro (ILMostro)

No worries. Unfortunately, though, it still fails to build. I've attached the latest build log, replacing the previous one.

comment:30 Changed 8 weeks ago by jhoyt4

Thanks!

That tells me the compiler isn't picking up the header file that delcares PGSHIFT - probably because Apple moved it from "mach/vm_param.h" to "mach/i386/vm_param.h" and "mach/arm/vm_param.h" - but arm has no value included. Instead we now find PGSHIFT in "arm/param.h".

This may also mean a lot more to do in the background to get qtwebkit up and running - but let's try this as a first attempt to fix.

Here's a patch file that ::hopefully:: adds arm/param.h to the include list and switched over to PGSIZE.

There's a good chance this patch will fail as well as I added if statements to check for CPU(ARM64) - I may have guessed the architecture label incorrectly.

Last edited 8 weeks ago by jhoyt4 (previous) (diff)

Changed 8 weeks ago by ILMostro (ILMostro)

comment:31 Changed 8 weeks ago by ILMostro (ILMostro)

All right,

The failure occurs later on in the process now, it seems. I'm not sure if it's meant to be arm64 or aarch64. Let me know if/how I can help.

I've added the log here.

comment:32 Changed 8 weeks ago by jhoyt4

The good / bad news is that it's still tripping in the same place:

:info:build wtf/FastMalloc.cpp:641:10: error: "Unsupported PAGE_SHIFT amount"
:info:build #        error "Unsupported PAGE_SHIFT amount"
:info:build          ^
:info:build wtf/FastMalloc.cpp:652:35: error: use of undeclared identifier 'K_NUM_CLASSES'
:info:build static const size_t kNumClasses = K_NUM_CLASSES;
:info:build

Basically my logic in the patch fails to set K_PAGE_SHIFT which then is used to set K_NUM_CLASSES

One more patch file, hopefully this gets us past this error.

comment:33 Changed 8 weeks ago by ILMostro (ILMostro)

no dice; along with the continuing failure regarding K_PAGE_SHIFT, I do see errors about "unknown architecture" as well.

Changed 8 weeks ago by ILMostro (ILMostro)

comment:34 Changed 8 weeks ago by jhoyt4

If you're up for one more round of trial and error, this replacement patch brute forces K_PAGE_SHIFT to 12. I'm curious if it at least makes the K_NUM_CLASSES / K_PAGE_SHIFT errors go away.

Given that qtwebkit is pretty much abandoned by qt for qtwebengine, it may be worth investigating compiling mythtv without qtwebkit. This should work for v31/master - but will break the plugins which may not be a deal breaker for you.

If you choose to go down that route, it's probably worth us shifting to another venue (email or mythtv forums/mailing list) to help you troubleshoot the compileMythfrontendAnsible.zsh script (you can skip the ansible port install with the --skip-ansible=true flag) assuming you have all of the necessary ports already installed (for qt: qt5, qt5-qtscript, qt5-mysql-plugin +mariadb-10.2).

As for v31 in macports, I know @ctreleaven was working on a new port for either v31 or master. The only solution for ARM may be to abandon mythtv-plugins until someone updates them to qtwebengine

Last edited 8 weeks ago by jhoyt4 (previous) (diff)

comment:35 Changed 8 weeks ago by ILMostro (ILMostro)

yeah, honestly, I'm not even sure what the plugins do. As far as I can tell, my gentoo system never has any plugins active/available. I am merely interested in compiling mythfrontend on the macbook pro arm64. Although, while I'm doing so, I thought I'd help out resolve any issues along the way. I'll try the latest patch and report back soon.

Thanks again.

Changed 8 weeks ago by ILMostro (ILMostro)

comment:36 Changed 8 weeks ago by jhoyt4

Thanks for posting that last log. I'm surprised that the PAGE_SIZE issue persists - it's definitely something more complicated than I had hoped for and this is probably the rabbit hole @kencu warned about. Unfortunately, I'm probably tapped for ideas that are easy to bounce back and forth with patch files (I'd need to get my hands on an M1 chip to push further).

As for compiling mythtv with the compileMythfrontendAnsible.zsh script, I've created a new forum post on the MythTv forums here https://forum.mythtv.org/viewtopic.php?f=26&t=4337 to try to get through the compile process (no longer appropriate for this trac ticket).

comment:37 Changed 7 weeks ago by ILMostro (ILMostro)

All right,

Thanks a lot. Sorry, I was not able to help resolve this issue with qtwebkit. Although, it sounds like it may be a deprecated item anyway. Thanks, again.

comment:38 Changed 7 weeks ago by jhoyt4

ok - so I now have this compiling on ARM.

I needed to patch FastMalloc.cpp for ARM

Also needed to patch Source/WTF/wtf/Platform.h to add logic for ARM64 aarch64 (thanks to a pointer from apple here: https://opensource.apple.com/source/WTF/WTF-7601.1.46.42/wtf/Platform.h.auto.html

Finally needed to patch Source/JavaScriptCore/heap/MachineStackMarker.cpp to accept the new CPU(ARM64) call put into Platform.h.

I'm still having issues getting mythtv to compile so I have not been able to test beyond compiling. I'm going to post a PR soon and hopefully I can get some help from someone to fully test this.

Changed 7 weeks ago by jhoyt4

fixed - requires MachineStackMarker.cpp.diff and Platform.h.diff patches

Changed 7 weeks ago by jhoyt4

Changed 7 weeks ago by jhoyt4

comment:39 Changed 7 weeks ago by kencu (Ken)

Looking quite good there!

comment:40 Changed 7 weeks ago by jhoyt4

patches and PR https://github.com/macports/macports-ports/pull/10119 for qtwebkit on ARM64 now tested and verified to work with mythfrontend v31 and mythweb.

I suspect the older versions of mythtv may work as well assuming those versions have had the ARM updates added to them. The key is adding the the --disable-lirc flag to configure since the ARM pieces seem to activate it.

comment:41 Changed 7 weeks ago by jhoyt4

PR 10119 was accepted and merged with commit [a110ec094fdeb1e5b720f9e092fab557ee9785e4/macports-ports].

Hopefully this gets folks a little further along.

Last edited 7 weeks ago by ryandesign (Ryan Schmidt) (previous) (diff)
Note: See TracTickets for help on using tickets.