Description
I just had a fun debug session to figure out why shiboken failed to run on a new machine I was setting up. Turns out the problem was using a Qt installation with a somewhat longer file path which then lead to the `shiboken` command overflowing the windows cmd line length yielding this confusing error:
shiboken: "||" does not exist.
looking at the cmake generated .bat file we can see that on the broken system, the line length is much larger than the maximum imposed by microsoft, see: https://docs.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/command-line-string-limitation
this will require a mode similar to qmake and other tools to allow passing arguments by file instead of directly on the command line to workaround the windows system limitations.
here's the cmake generated .bat line that's failing in case of doubt:
C:\projects\qitissue\build\3rdParty\PySide2\sources\shiboken2\generator\shiboken2 --generator-set=shiboken --enable-parent-ctor-heuristic --enable-pyside-extensions --enable-return-value-heuristic --use-isnull-as-nb_nonzero -std=c++17 --avoid-protected-hack C:/projects/qitissue/Python/KDAB/qitissue/qitissue_global.h "--include-paths=C:/projects/qitissue/Python/KDAB/qitissue\;C:/projects/qitissue/build/Python/KDAB/qitissue\;C:/projects/qitissue/Python\;C:/projects/qitissue/build\;C:/projects/qitissue/build/Python/KDAB/cache\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/build/Python/KDAB/features\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/build/Python/KDAB/io\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtGui/PySide2/QtGui/\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtGui\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include//QtANGLE\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtCore\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/.//mkspecs/win32-msvc\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtCore/PySide2/QtCore/\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/common/io\;C:/projects/qitissue/build/common/io\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtXml\;C:/projects/qitissue/common/coreutils\;C:/projects/qitissue/build/common/coreutils\;C:/projects/boost_1_78_0\;C:/projects/qitissue/common/biodata\;C:/projects/qitissue/build/common/biodata\;C:/projects/qitissue/3rdParty/libs/nd2sdk/windows/include\;C:/projects/qitissue/3rdParty/PySide2/sources/shiboken2/libshiboken\;C:/projects/qitissue/build/3rdParty/PySide2/sources/shiboken2/libshiboken\;C:/Program Files/WindowsApps/PythonSoftwareFoundation.Python.3.9_3.9.2800.0_x64__qbz5n2kfra8p0/include\;C:/projects/qitissue/build/Python/KDAB/io/PyQiTissue/ImageIO\;C:/projects/qitissue/common/features\;C:/projects/qitissue/build/common/features\;C:/projects/qitissue/3rdParty/diplib/include\;C:/projects/qitissue/build/Python/KDAB/features/PyQiTissue/Features\;C:/projects/qitissue/build/Python/KDAB/io/PyQiTissue/ImageIO\;C:/projects/qitissue/build/Python/KDAB/pipeline\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/build/Python/KDAB/io/PyQiTissue/ImageIO\;C:/projects/qitissue/common/pipeline\;C:/projects/qitissue/build/common/pipeline\;C:/projects/qitissue/build/Python/KDAB/pipeline/PyQiTissue/Pipeline\;C:/projects/qitissue/build/Python/KDAB/io/PyQiTissue/ImageIO\;C:/projects/qitissue/common/cache\;C:/projects/qitissue/build/common/cache\;C:/projects/qitissue/common/imagepipeline\;C:/projects/qitissue/build/common/imagepipeline\;C:/projects/qitissue/build/Python/KDAB/data\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/build/Python/KDAB/io\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtGui/PySide2/QtGui/\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtGui\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include//QtANGLE\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtCore\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/.//mkspecs/win32-msvc\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtCore/PySide2/QtCore/\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/common/io\;C:/projects/qitissue/build/common/io\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtXml\;C:/projects/qitissue/common/coreutils\;C:/projects/qitissue/build/common/coreutils\;C:/projects/boost_1_78_0\;C:/projects/qitissue/common/biodata\;C:/projects/qitissue/build/common/biodata\;C:/projects/qitissue/3rdParty/libs/nd2sdk/windows/include\;C:/projects/qitissue/3rdParty/PySide2/sources/shiboken2/libshiboken\;C:/projects/qitissue/build/3rdParty/PySide2/sources/shiboken2/libshiboken\;C:/Program Files/WindowsApps/PythonSoftwareFoundation.Python.3.9_3.9.2800.0_x64__qbz5n2kfra8p0/include\;C:/projects/qitissue/build/Python/KDAB/io/PyQiTissue/ImageIO\;C:/projects/qitissue/build/Python/KDAB/features\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/build/Python/KDAB/io/PyQiTissue/ImageIO\;C:/projects/qitissue/common/features\;C:/projects/qitissue/build/common/features\;C:/projects/qitissue/3rdParty/diplib/include\;C:/projects/qitissue/build/Python/KDAB/features/PyQiTissue/Features\;C:/projects/qitissue/build/Python/KDAB/io/PyQiTissue/ImageIO\;C:/projects/qitissue/common/data\;C:/projects/qitissue/build/common/data\;C:/projects/qitissue/common/imagepipeline\;C:/projects/qitissue/build/common/imagepipeline\;C:/projects/qitissue/common/pipeline\;C:/projects/qitissue/build/common/pipeline\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtWidgets/PySide2/QtWidgets/\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside/../PySide2/\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/libpyside\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWidgets\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtGui\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include//QtANGLE\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtCore\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/.//mkspecs/win32-msvc\;C:/projects/qitissue/common/ui\;C:/projects/qitissue/build/common/ui\;C:/projects/qitissue/common/nodeeditor-base/include\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtCore\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/.//mkspecs/win32-msvc\;C:/projects/qitissue/common/biodata\;C:/projects/qitissue/build/common/biodata\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtGui\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include//QtANGLE\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWidgets\;C:/projects/qitissue/common/annotation\;C:/projects/qitissue/build/common/annotation\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWidgets/5.15.5\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWidgets/5.15.5/QtWidgets\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtGui/5.15.5\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtGui/5.15.5/QtGui\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtCore/5.15.5\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtCore/5.15.5/QtCore\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtXml\;C:/projects/qitissue/common/coreutils\;C:/projects/qitissue/build/common/coreutils\;C:/projects/boost_1_78_0\;C:/projects/qitissue/common/directoryparser\;C:/projects/qitissue/build/common/directoryparser\;C:/projects/qitissue/common/io\;C:/projects/qitissue/build/common/io\;C:/projects/qitissue/3rdParty/libs/nd2sdk/windows/include\;C:/projects/qitissue/common/pipeline\;C:/projects/qitissue/build/common/pipeline\;C:/projects/qitissue/3rdParty/diplib/include\;C:/projects/qitissue/common/cache\;C:/projects/qitissue/build/common/cache\;C:/projects/qitissue/common/features\;C:/projects/qitissue/build/common/features\;C:/projects/qitissue/common/imagepipeline\;C:/projects/qitissue/build/common/imagepipeline\;C:/projects/qitissue/common/imageexport\;C:/projects/qitissue/build/common/imageexport\;C:/projects/qitissue/common/videoencoding\;C:/projects/qitissue/build/common/videoencoding\;C:/projects/qitissue/common/data\;C:/projects/qitissue/build/common/data\;C:/projects/qitissue/common/style\;C:/projects/qitissue/build/common/style\;C:/projects/qitissue/3rdParty/kddockwidgets/src/fwd_headers\;C:/projects/boost_1_78_0\;C:/projects/qitissue/common/licensing\;C:/projects/qitissue/build/common/licensing\;C:/projects/qitissue/common/xlsxparser\;C:/projects/qitissue/build/common/xlsxparser\;C:/projects/qitissue/common/cloud\;C:/projects/qitissue/build/common/cloud\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtNetwork\;C:/projects/qitissue/common/preprocessing\;C:/projects/qitissue/build/common/preprocessing\;C:/projects/qitissue/3rdParty/qcustomplot/src\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtPrintSupport\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWebEngineWidgets\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWebEngineCore\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtQuick\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtQmlModels\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtQml\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWebChannel\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtPositioning\;C:/projects/qitissue/MACSiQView/ui-impl\;C:/projects/qitissue/build/MACSiQView/ui-impl\;C:/projects/qitissue/common/ui\;C:/projects/qitissue/build/common/ui\;C:/projects/qitissue/common/nodeeditor-base/include\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtCore\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/.//mkspecs/win32-msvc\;C:/projects/qitissue/common/biodata\;C:/projects/qitissue/build/common/biodata\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtGui\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include//QtANGLE\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWidgets\;C:/projects/qitissue/common/annotation\;C:/projects/qitissue/build/common/annotation\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWidgets/5.15.5\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWidgets/5.15.5/QtWidgets\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtGui/5.15.5\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtGui/5.15.5/QtGui\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtCore/5.15.5\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtCore/5.15.5/QtCore\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtXml\;C:/projects/qitissue/common/coreutils\;C:/projects/qitissue/build/common/coreutils\;C:/projects/boost_1_78_0\;C:/projects/qitissue/common/directoryparser\;C:/projects/qitissue/build/common/directoryparser\;C:/projects/qitissue/common/io\;C:/projects/qitissue/build/common/io\;C:/projects/qitissue/3rdParty/libs/nd2sdk/windows/include\;C:/projects/qitissue/common/pipeline\;C:/projects/qitissue/build/common/pipeline\;C:/projects/qitissue/3rdParty/diplib/include\;C:/projects/qitissue/common/cache\;C:/projects/qitissue/build/common/cache\;C:/projects/qitissue/common/features\;C:/projects/qitissue/build/common/features\;C:/projects/qitissue/common/imagepipeline\;C:/projects/qitissue/build/common/imagepipeline\;C:/projects/qitissue/common/imageexport\;C:/projects/qitissue/build/common/imageexport\;C:/projects/qitissue/common/videoencoding\;C:/projects/qitissue/build/common/videoencoding\;C:/projects/qitissue/common/data\;C:/projects/qitissue/build/common/data\;C:/projects/qitissue/common/style\;C:/projects/qitissue/build/common/style\;C:/projects/qitissue/3rdParty/kddockwidgets/src/fwd_headers\;C:/projects/boost_1_78_0\;C:/projects/qitissue/common/licensing\;C:/projects/qitissue/build/common/licensing\;C:/projects/qitissue/common/xlsxparser\;C:/projects/qitissue/build/common/xlsxparser\;C:/projects/qitissue/common/cloud\;C:/projects/qitissue/build/common/cloud\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtNetwork\;C:/projects/qitissue/common/preprocessing\;C:/projects/qitissue/build/common/preprocessing\;C:/projects/qitissue/3rdParty/qcustomplot/src\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtPrintSupport\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWebEngineWidgets\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWebEngineCore\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtQuick\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtQmlModels\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtQml\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtWebChannel\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/\;C:/projects/Qt5.15.5/5.15.5/msvc2019_64/include/QtPositioning" --typesystem-paths=C:/projects/qitissue/Python\;C:/projects/qitissue/3rdParty/PySide2/sources/pyside2/PySide2/templates/\;C:/projects/qitissue/Python/KDAB/cache\;C:/projects/qitissue/Python/KDAB/features\;C:/projects/qitissue/Python/KDAB/io\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtGui/PySide2/typesystems/\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtCore/PySide2/typesystems/\;C:/projects/qitissue/Python/KDAB/pipeline\;C:/projects/qitissue/Python/KDAB/io\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtGui/PySide2/typesystems/\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtCore/PySide2/typesystems/\;C:/projects/qitissue/Python/KDAB/data\;C:/projects/qitissue/Python/KDAB/io\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtGui/PySide2/typesystems/\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtCore/PySide2/typesystems/\;C:/projects/qitissue/Python/KDAB/features\;C:/projects/qitissue/Python/KDAB/io\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtGui/PySide2/typesystems/\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtCore/PySide2/typesystems/\;C:/projects/qitissue/build/3rdParty/PySide2/sources/pyside2/PySide2/QtWidgets/PySide2/typesystems/ --output-directory=C:/projects/qitissue/build/Python/KDAB/qitissue C:/projects/qitissue/Python/KDAB/qitissue/typesystem_qitissue.xml --api-version=5.15.2 || (set FAIL_LINE=4& goto :ABORT)