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