ios: PyQt incorrectly including QProcess

Patrick Stinson patrickkidd at gmail.com
Wed Apr 9 20:06:46 BST 2025


OK, gotcha. So you have to mimic the disabled_features bit there or the build will fail, indicated by this:

However how disabled_features is set in the above will be appropriate for most cases.

Thanks for the help,
-Patrick

> On Apr 8, 2025, at 11:51 PM, Phil Thompson <phil at riverbankcomputing.com> wrote:
> 
> Check the sysroot.toml file in the demo.
> 
> On 09/04/2025 07:19, Patrick Stinson wrote:
>> Ah ok, so I assume you mean that there isn’t a default set of
>> unsupported features for iOS and you have to disable them explicitly
>> in your sysroot.toml?
>> If so, do you have a list of minimum disabled features for PyQt to
>> build for iOS? So far I’ve run in to PyQt_Process and
>> PyQt_Desktop_OpenGL
>>> On Apr 8, 2025, at 12:45 AM, Phil Thompson <phil at riverbankcomputing.com> wrote:
>>> On 08/04/2025 05:31, Patrick Stinson wrote:
>>>> The disabled_features sections of the pyproject.toml that the PyQt
>>>> plugin writes are empty. That doesn’t seem right, shouldn’t it include
>>>> PyQt_Process?
>>> Yes, if they are defined in your sysroot.toml file.
>>> Phil
>>>> [tool.sip.bindings.QtCore]
>>>> static = true
>>>> disabled-features = []
>>>> [tool.sip.bindings.QtGui]
>>>> static = true
>>>> disabled-features = []
>>>> [tool.sip.bindings.QtNetwork]
>>>> static = true
>>>> disabled-features = []
>>>> [tool.sip.bindings.QtWidgets]
>>>> static = true
>>>> disabled-features = []
>>>> [tool.sip.bindings.QtMacExtras]
>>>> static = true
>>>> disabled-features = []
>>>> [tool.sip.bindings.QtQml]
>>>> static = true
>>>> disabled-features = []
>>>> [tool.sip.bindings.QtQuick]
>>>> static = true
>>>> disabled-features = []
>>>> [tool.sip.bindings.QtQuickWidgets]
>>>> static = true
>>>> disabled-features = []
>>>>> On Apr 7, 2025, at 9:22 AM, Patrick Stinson <patrickkidd at gmail.com> wrote:
>>>>> Now I’m running into a related problem during the PyQt build:
>>>>> /Users/patrick/dev/lib/Qt/5.15.2/ios/include/QtCore/qglobal.h:294:33: note: expanded from macro 'QT_DEPRECATED_X'
>>>>> 294 | #  define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
>>>>>    |                                 ^
>>>>> /Users/patrick/dev/lib/Qt/5.15.2/ios/include/QtCore/qcompilerdetection.h:675:55: note: expanded from macro 'Q_DECL_DEPRECATED_X'
>>>>> 675 | #    define Q_DECL_DEPRECATED_X(text) __attribute__ ((__deprecated__(text)))
>>>>>    |                                                       ^
>>>>> /var/folders/cm/xhqjxbbn6qx1pvft5cw1gdg40000gn/T/tmpgeo7rte2/QtCore/sipQtCorepart0.cpp:73375:30: error: expected class name
>>>>> 73375 | class sipQProcess : public ::QProcess
>>>>>> On Apr 6, 2025, at 9:49 AM, Patrick Stinson <patrickkidd at gmail.com> wrote:
>>>>>> Actually, I removed the “disabled features” section in my toml and it fixed it. Must have broken some part of the dependency matrix that makes the PyQt_Process flag work.
>>>>>>> On Apr 6, 2025, at 1:47 AM, Phil Thompson <phil at riverbankcomputing.com> wrote:
>>>>>>> On 06/04/2025 06:29, Patrick Stinson wrote:
>>>>>>>> I am getting this error on PyQt5 building a pyqtdeploy sysroot for iOS:
>>>>>>>> qobject.sip:380:10: error: use of undeclared identifier ‘sipName_QProcess'
>>>>>>>> qobject.sip:380:29: error: use of undeclared identifier ‘sipType_QProcess'
>>>>>>>> Those lines show:
>>>>>>>> #if !defined(QT_NO_PROCESS)
>>>>>>>>    {sipName_QProcess, &sipType_QProcess, -1, -1},
>>>>>>>> #else
>>>>>>>> So I guess QT_NO_PROCESS is not getting defined or something since
>>>>>>>> QProcess is not available on iOS.
>>>>>>>> I do still see PyQt_Process in disabled_features in my sysroot.toml
>>>>>>>> which worked some years ago…
>>>>>>>> [PyQt.ios]
>>>>>>>> disabled_features = [
>>>>>>>> "PyQt_Desktop_OpenGL", "PyQt_MacOSXOnly",
>>>>>>>> "PyQt_MacCocoaViewContainer", "PyQt_Printer",
>>>>>>>> "PyQt_PrintDialog", "PyQt_PrintPreviewDialog",
>>>>>>>> "PyQt_PrintPreviewWidget", "PyQt_Process",
>>>>>>>> "PyQt_NotBootstrapped"
>>>>>>>> ]
>>>>>>>> installed_modules = [
>>>>>>>> "QtCore", "QtGui", "QtNetwork", "QtWidgets",
>>>>>>>> "QtMacExtras", "QtQml", "QtQuick", "QtQuickWidgets"
>>>>>>>> ]
>>>>>>>> Any idea how to fix it? Cheers,
>>>>>>>> -Patrick
>>>>>>> That's usually a sign of remnants from a previous build or a misconfigured build system.
>>>>>>> Phil

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20250409/a7365693/attachment.htm>


More information about the PyQt mailing list