<div dir="ltr"><div dir="ltr">(forgot to copy the list in one this one)</div><div dir="ltr"><br></div><div dir="ltr">I was hoping to avoid having to deal with the Qt installer :-)<br></div><div dir="ltr"><div><br></div><div>Ok, I've given it a test. It seems broken, but not identically. The provided binary does not report an invalid signature, and it has a different checksum to the one bundled with PyQt. </div><div><br></div><div>(venv) dae@armmini ~ % shasum venv/lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess<br>06e04672a57e037d38e8957ea40b43d89cf3d9cb venv/lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess<br>(venv) dae@armmini ~ % shasum QtLocal/6.2.0/macos/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess<br>7d362e9f6d2fdece86516cabc30ae2f19418b196 QtLocal/6.2.0/macos/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess<br></div><div><br></div><div>The project fails to actually run, but it prints another error message at the same time, which does not appear in the PyQt Case:</div><div><br></div><div><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">[64051:259:1025/215822.124520:ERROR:network_service_instance_impl.cc(330)] Network service crashed, restarting service.</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">[64093:13827:1025/215822.201114:ERROR:channel_mac.cc(499)] mach_msg receive: (ipc/rcv) msg too large (0x10004004)</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">[64093:13827:1025/215822.201279:ERROR:channel_mac.cc(499)] mach_msg receive: (ipc/rcv) msg too large (0x10004004)</span></p></div></div><div class="gmail_quote"><span class="gmail-im" style="color:rgb(80,0,80)"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Does a code signature depend on a file's location in the filesystem?</blockquote><div><br></div></span><div>Presumably not; the other libraries are fine:</div><div><br></div><div>(venv) dae@armmini ~ % codesign -dvvv ~/venv/lib/python3.9/site-packages/PyQt6/<a href="http://qtcore.abi3.so/" target="_blank">QtCore.abi3.so</a><br>Executable=/Users/dae/venv/lib/python3.9/site-packages/PyQt6/<a href="http://qtcore.abi3.so/" target="_blank">QtCore.abi3.so</a><br>Identifier=-a02ba3.out<br>Format=Mach-O universal (x86_64 arm64)<br>CodeDirectory v=20400 size=28772 flags=0x20002(adhoc,linker-signed) hashes=896+0 location=embedded<br>Hash type=sha256 size=32<br>CandidateCDHash sha256=16a1ad3ab5455019240e5776bf505d8c199a50c0<br>CandidateCDHashFull sha256=16a1ad3ab5455019240e5776bf505d8c199a50c0161bfa1776159289ad9d6170<br>Hash choices=sha256<br>CMSDigest=16a1ad3ab5455019240e5776bf505d8c199a50c0161bfa1776159289ad9d6170<br>CMSDigestType=2<br>CDHash=16a1ad3ab5455019240e5776bf505d8c199a50c0<br>Signature=adhoc<br>Info.plist=not bound<br>TeamIdentifier=not set<br>Sealed Resources=none<br>Internal requirements=none<br>(venv) dae@armmini ~ % codesign -vvv ~/venv/lib/python3.9/site-packages/PyQt6/<a href="http://qtcore.abi3.so/" target="_blank">QtCore.abi3.so</a><br>/Users/dae/venv/lib/python3.9/site-packages/PyQt6/<a href="http://qtcore.abi3.so/" target="_blank">QtCore.abi3.so</a>: code object is not signed at all<br></div><div><br></div><div>From what I can tell, adhoc signing is treated as 'not signed' if it validates.</div><span class="gmail-im" style="color:rgb(80,0,80)"><div><br></div><div>> I've uploaded a new PyQt6-WebEngine-Qt6 wheel to the local PyPI server</div><div><br></div></span><div>Signature validates, but there seems to be an rpath issue:</div><div><br></div><div>[73466:259:1025/222110.104306:ERROR:network_service_instance_impl.cc(330)] Network service crashed, restarting service.<br>dyld: Library not loaded: @rpath/QtWebEngineCore.framework/Versions/A/QtWebEngineCore<br> Referenced from: /Users/dae/venv/lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess<br></div><div><br></div><div>(The file on the <a href="http://pypi.org/" target="_blank">pypi.org</a> wheel continues to work fine if I 'codesign -s -' it prior to using it)</div><div><br></div><div>Cheers,</div><div>Damien</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 25, 2021 at 10:13 PM Phil Thompson <<a href="mailto:phil@riverbankcomputing.com">phil@riverbankcomputing.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 25/10/2021 04:07, Damien Elmes wrote:<br>
>> <br>
>> I've uploaded to PyPI new arm64 wheels for PyQt6-Qt6 and<br>
>> PyQt6-WebEngine-Qt6. These use 11_0 in the wheel name and<br>
>> QtWebEngineProcess is the original fat binary from a Qt installation.<br>
>> Let me know if these are better.<br>
>> <br>
> <br>
> Thanks, that's fixed the pip install case. The webengine helper is <br>
> still<br>
> broken unfortunately. Pop this in test.py:<br>
> <br>
> from PyQt6.QtWebEngineWidgets import QWebEngineView<br>
> from PyQt6.QtWidgets import QApplication<br>
> import sys<br>
> app = QApplication(sys.argv)<br>
> web = QWebEngineView()<br>
> web.show()<br>
> app.exec()<br>
> <br>
> When run on darwin-arm64, it will spam the console with the following, <br>
> and<br>
> the webview won't work:<br>
> <br>
> [54357:259:1025/125621.698579:ERROR:network_service_instance_impl.cc(330)]<br>
> Network service crashed, restarting service.<br>
> <br>
> The signature still appears to be invalid - maybe Qt are distributing <br>
> an<br>
> invalid file, or the act of moving it is causing the problem?<br>
> <br>
> $ codesign -vvvv<br>
> lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess<br>
> lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess:<br>
> invalid signature (code or signature have been modified)<br>
> <br>
> It can be fixed by re-signing it with an ad-hoc signature, which <br>
> doesn't<br>
> need any signing key:<br>
> <br>
> codesign -s -<br>
> lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess<br>
> <br>
> But if you do it after trying test.py, it won't work, as macOS <br>
> blacklists<br>
> the file:<br>
> <br>
> lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess:<br>
> the codesign_allocate helper tool cannot be found or used<br>
> <br>
> Copying the file to a different filename, removing the original, and <br>
> then<br>
> renaming it back should allow code-signing to proceed.<br>
<br>
I've uploaded a new PyQt6-WebEngine-Qt6 wheel to the local PyPI server <br>
at...<br>
<br>
<a href="https://www.riverbankcomputing.com/pypi/simple/pyqt6-webengine-qt6/" rel="noreferrer" target="_blank">https://www.riverbankcomputing.com/pypi/simple/pyqt6-webengine-qt6/</a><br>
<br>
...which hopefully fixes the problem.<br>
<br>
Phil<br>
</blockquote></div>