ios: PyQt incorrectly including QProcess

Patrick Stinson patrickkidd at gmail.com
Wed Apr 9 07:19:42 BST 2025


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



More information about the PyQt mailing list