Build failure: sip/QtCore/qprocess.sip: line 99: column 5: 'Q_PID' is undefined

Nick Guenther nick.guenther at polymtl.ca
Fri Sep 15 00:18:42 BST 2023


I am struggling to build PyQt5. It tells me "'Q_PID' is undefined" while trying to build pylupdate.
I seem to not be the only one running into this either:
https://stackoverflow.com/a/75802415/2898673

Here's a complete build log:

nick.guenther at joplin:/tmp$ cd "$(mktemp -d)"
nick.guenther at joplin:/tmp/tmp.Q6ZiuHDgyl$ curl -fJLO
https://files.pythonhosted.org/packages/5c/46/b4b6eae1e24d9432905ef1d4e7c28b6610e28252527cdc38f2a759
7d8b5/PyQt5-5.15.9.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3165k 100 3165k 0 0 14.1M 0 --:--:-- --:--:-- --:--:-- 14.1M
nick.guenther at joplin:/tmp/tmp.Q6ZiuHDgyl$ tar -zxf PyQt5-5.15.9.tar.gz
nick.guenther at joplin:/tmp/tmp.Q6ZiuHDgyl$ cd PyQt5-5.15.9
nick.guenther at joplin:/tmp/tmp.Q6ZiuHDgyl/PyQt5-5.15.9$ python -m venv build-tools
nick.guenther at joplin:/tmp/tmp.Q6ZiuHDgyl/PyQt5-5.15.9$ . build-tools/bin/activate
(build-tools) nick.guenther at joplin:/tmp/tmp.Q6ZiuHDgyl/PyQt5-5.15.9$ python -V
Python 3.10.12
(build-tools) nick.guenther at joplin:/tmp/tmp.Q6ZiuHDgyl/PyQt5-5.15.9$ pip -V
pip 22.0.2 from /tmp/tmp.Q6ZiuHDgyl/PyQt5-5.15.9/build-tools/lib/python3.10/site-packages/pip
(python 3.10)
(build-tools) nick.guenther at joplin:/tmp/tmp.Q6ZiuHDgyl/PyQt5-5.15.9$ pip install PyQt-builder
Collecting PyQt-builder
Downloading PyQt_builder-1.15.2-py3-none-any.whl (3.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.7/3.7 MB 36.3 MB/s eta 0:00:00
Collecting sip<7,>=6.7
Downloading sip-6.7.11-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl (885 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 885.8/885.8 KB 152.0 MB/s eta 0:00:00
Collecting packaging
Downloading packaging-23.1-py3-none-any.whl (48 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.9/48.9 KB 164.2 MB/s eta 0:00:00
Collecting tomli
Downloading tomli-2.0.1-py3-none-any.whl (12 kB)
Requirement already satisfied: setuptools in ./build-tools/lib/python3.10/site-packages (from
sip<7,>=6.7->PyQt-builder) (59.6.0)
Collecting ply
Downloading ply-3.11-py2.py3-none-any.whl (49 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.6/49.6 KB 147.9 MB/s eta 0:00:00
Installing collected packages: ply, tomli, packaging, sip, PyQt-builder
Successfully installed PyQt-builder-1.15.2 packaging-23.1 ply-3.11 sip-6.7.11 tomli-2.0.1
(build-tools) nick.guenther at joplin:/tmp/tmp.Q6ZiuHDgyl/PyQt5-5.15.9$ sip-install
Querying qmake about your Qt installation...
This is the GPL version of PyQt 5.15.9 (licensed under the GNU General Public License) for Python
3.10.12 on linux.

Type 'L' to view the license.
Type 'yes' to accept the terms of the license.
Type 'no' to decline the terms of the license.

Do you accept the terms of the license? yes
Found the license file 'pyqt-gpl.sip'.
Checking to see if the QtCore bindings can be built...
Checking to see if the QtNetwork bindings can be built...
Checking to see if the QtGui bindings can be built...
Checking to see if the QtWidgets bindings can be built...
Checking to see if the QtQml bindings can be built...
Checking to see if the QAxContainer bindings can be built...
Checking to see if the QtAndroidExtras bindings can be built...
Checking to see if the QtBluetooth bindings can be built...
Checking to see if the QtDBus bindings can be built...
The QtDesigner bindings are disabled with a static Qt installation...
Checking to see if the Enginio bindings can be built...
Checking to see if the QtHelp bindings can be built...
Checking to see if the QtMacExtras bindings can be built...
Checking to see if the QtMultimedia bindings can be built...
Checking to see if the QtMultimediaWidgets bindings can be built...
Checking to see if the QtNfc bindings can be built...
Checking to see if the QtOpenGL bindings can be built...
Checking to see if the QtPositioning bindings can be built...
Checking to see if the QtLocation bindings can be built...
Checking to see if the QtPrintSupport bindings can be built...
Checking to see if the QtQuick bindings can be built...
Checking to see if the QtQuick3D bindings can be built...
Checking to see if the QtQuickWidgets bindings can be built...
Checking to see if the QtRemoteObjects bindings can be built...
Checking to see if the QtSensors bindings can be built...
Checking to see if the QtSerialPort bindings can be built...
Checking to see if the QtSql bindings can be built...
Checking to see if the QtSvg bindings can be built...
Checking to see if the QtTest bindings can be built...
Checking to see if the QtTextToSpeech bindings can be built...
Checking to see if the QtWebChannel bindings can be built...
Checking to see if the QtWebKit bindings can be built...
Checking to see if the QtWebKitWidgets bindings can be built...
Checking to see if the QtWebSockets bindings can be built...
Checking to see if the QtWinExtras bindings can be built...
Checking to see if the QtX11Extras bindings can be built...
Checking to see if the QtXml bindings can be built...
Checking to see if the QtXmlPatterns bindings can be built...
Checking to see if the dbus-python support should be built...
The dbus-python package does not seem to be installed.
These bindings will be built: Qt, pylupdate, pyrcc.
Generating the Qt bindings...
Generating the pylupdate bindings...
sip-install: /tmp/tmp.Q6ZiuHDgyl/PyQt5-5.15.9/sip/QtCore/qprocess.sip: line 99: column 5: 'Q_PID'
is undefined

Are releng scripts anywhere? I tried to find a CI system to look for clues about
mistakes I made but I couldn't find one.

My goal here is to produce a macos_10_13_aarch64.whl that people in my lab who have macbook M1s can
use. Is it okay if I distribute that within my lab? What if I publish it to a github releases
page?

-Nick Guenther
Associé de Recherche
https://neuro.polymtl.ca

(ps sorry RiverBank, I sent this in a PM because that was the only address I saw in
https://www.riverbankcomputing.com/static/Docs/PyQt5, before I stepped back and found
https://www.riverbankcomputing.com/support/pyqt telling me to use the mailing list)


More information about the PyQt mailing list