ios: PyQt incorrectly including QProcess

Phil Thompson phil at riverbankcomputing.com
Wed Apr 9 08:51:17 BST 2025


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


More information about the PyQt mailing list