mborgerson / pyside6_qtads

Python bindings to Qt Advanced Docking System for PySide6
Other
22 stars 9 forks source link

Compiling pyside6_qtads with PySide2/shiboken2: issues with shiboken2 in autohidesidebar #39

Open monzelr opened 5 days ago

monzelr commented 5 days ago

I am trying to compile this package for PySide2 as wheel so I can ship it with pynsist. This is my setup:

After setting the QT_DIR, Qt5_DIR and activating my python environment and the the VCVARSALL I use the setup.py script:

call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64
%USERPROFILE%\python39_envs\autolucid\Scripts\activate
set "QT_DIR=C:\Users\RuneMonzel\Qt\5.15.15\lib\cmake\Qt5"
set "QT_DIR=C:\Users\RuneMonzel\Qt\5.15.15\lib\cmake\Qt5"
python setup.py bdist_wheel --verbose

I got the following error for autohidesidebarwhich was generated by shiboken2:

  ads_cautohidesidebar_wrapper.cpp
C:\Users\RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtAds\PySide2QtAds\ads_cautohidesidebar_wrapper.cpp(1986,46): error C2039: "TabDefaultInsertIndex" is not a member of "ads::CAutoHideSideBar". [C:\Users\
RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtAds\PySide2QtAds.vcxproj]
C:\Users\RuneMonzel\pyside6_qtads\Qt-Advanced-Docking-System\src\AutoHideDockContainer.h(45): message : Siehe Deklaration von "ads::CAutoHideSideBar" [C:\Users\RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtA
ds\PySide2QtAds.vcxproj]

So, I just go the ads_cautohidesidebar_wrapper.cpp in line 1986 and find this line here:

        int cppArg1 = ads::CAutoHideSideBar::TabDefaultInsertIndex;

which I replace with:

        int cppArg1 = ads::TabDefaultInsertIndex;

and then I redo the build with python setup.py bdist_wheel --verbose and the build finish without errors.

But I am wondering what is causing the fault namespace of TabDefaultInsertIndex? Does anyone know how to fix this within shiboken?

Full log:
``` C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) running bdist_wheel running build running build_ext ==> Configuring: $ cmake -S C:\Users\RuneMonzel\pyside6_qtads -B C:\Users\RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtAds -G Visual Studio 16 2019 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=C:\Users\RuneMonzel\pyside6_qtads\build\lib.win-amd64-cpython-39\PySide2QtAds -DBUILD_EXAMPLES:BOOL=OFF -DBUILD_STATIC:BOOL=ON -DADS_VERSION=4.3.0 -DPython3_ROOT_DIR=C:\Users\RuneMonzel\python39_envs\autolucid -DPython_EXECUTABLE=C:\Users\RuneMonzel\python39_envs\autolucid\Scripts\python.exe-G=Visual Studio 16 2019 ==> Building: $ cmake --build C:\Users\RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtAds --config Release ==> Installing: $ cmake --install C:\Users\RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtAds --config Release -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19045. -- The C compiler identification is MSVC 19.29.30154.0 -- The CXX compiler identification is MSVC 19.29.30154.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Python3: C:/Users/RuneMonzel/python39_envs/autolucid/Scripts/python.exe (found version "3.9.12") found components: Interpreter -- Using python: C:/Users/RuneMonzel/python39_envs/autolucid/Scripts/python.exe -- Configuring done (8.6s) -- Generating done (0.4s) CMake Warning: Manually-specified variables were not used by the project: CMAKE_BUILD_TYPE Python_EXECUTABLE -- Build files have been written to: C:/Users/RuneMonzel/pyside6_qtads/build/temp.win-amd64-cpython-39/Release_PySide2-QtAds Microsoft (R)-Build-Engine, Version 16.11.2+f32259642 für .NET Framework Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. 1>Checking Build System Automatic MOC for target qt5advanceddocking 1>Automatic RCC for ads.qrc Building Custom Rule C:/Users/RuneMonzel/pyside6_qtads/Qt-Advanced-Docking-System/src/CMakeLists.txt cl : befehlszeile warning D9035: Die Option "Og" ist veraltet und wird in einer der nächsten Versionen entfernt. [C:\Users\RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtAds\Qt-Advanced-Docking-System\src\qt5 advanceddocking.vcxproj] ads_globals.cpp DockAreaTabBar.cpp DockAreaTitleBar.cpp DockAreaWidget.cpp DockContainerWidget.cpp DockManager.cpp DockOverlay.cpp DockSplitter.cpp DockWidget.cpp DockWidgetTab.cpp DockingStateReader.cpp DockFocusController.cpp ElidingLabel.cpp FloatingDockContainer.cpp FloatingDragPreview.cpp IconProvider.cpp DockComponentsFactory.cpp AutoHideSideBar.cpp AutoHideTab.cpp AutoHideDockContainer.cpp Code wird generiert... Kompilieren... PushButton.cpp ResizeHandle.cpp qrc_ads.cpp mocs_compilation_Release.cpp Code wird generiert... qt5advanceddocking.vcxproj -> C:\Users\RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtAds\x64\lib\Release\qt5advanceddocking_static.lib Running generator for C:/Users/RuneMonzel/pyside6_qtads/src/bindings.xml. qt.shiboken: (bindings) Duplicate type entry: 'QMessageLogContext' qt.shiboken: (bindings) Unable to locate Clang's built-in include directory (neither by checking the environment variables LLVM_INSTALL_DIR, CLANG_INSTALL_DIR nor running llvm-config). This may lead to parse errors. (bindings) clang_parseTranslationUnit2(0x0, cmd[18]=-fms-compatibility-version=19 -Wno-microsoft-enum-value -D_ALLOW_COMPILER_AND_STL_VERSION_MISMATCH -Wno-constant-logical-operand -std=c++14 -IC:/Users/RuneMonzel/Qt/5.15.15/mkspecs/w in32-msvc -IC:/Users/RuneMonzel/Qt/5.15.15/include -IC:/Users/RuneMonzel/Qt/5.15.15/include/QtCore -IC:/Users/RuneMonzel/Qt/5.15.15/mkspecs/win32-msvc -IC:/Users/RuneMonzel/Qt/5.15.15/include -IC:/Users/RuneMonzel/Qt/5.15.15/include/Q tGui -IC:/Users/RuneMonzel/Qt/5.15.15/include/QtANGLE -IC:/Users/RuneMonzel/Qt/5.15.15/include -IC:/Users/RuneMonzel/Qt/5.15.15/include/QtWidgets -IC:/Users/RuneMonzel/pyside6_qtads/Qt-Advanced-Docking-System/src C:/Users/RuneMonzel/A ppData/Local/Temp/bindings_cmCcqs.hpp "-DQT_ANNOTATE_ACCESS_SPECIFIER(a)=__attribute__((annotate(#a)))" "-DQT_ANNOTATE_CLASS(type,...)=static_assert(sizeof(#__VA_ARGS__),#type);") (bindings) [1486ms] Generating class model (446)... [WARNING] (bindings) [1493ms] Generating enum model (2)... [OK] qt.shiboken: (bindings) C:\Users\RuneMonzel\pyside6_qtads\Qt-Advanced-Docking-System\src\DockWidget.h:180: Enum 'ads::CDockWidget::eToolBarStyleSource' (class: ads::CDockWidget) does not have a type entry (bindings) [1493ms] Generating namespace model (95)... [WARNING] qt.shiboken: (bindings) template baseclass 'QCborStreamReader::StringResult' of 'QCborStringResultByteArray' is not known qt.shiboken: (bindings) template baseclass 'QCborStreamReader::StringResult' of 'QCborStringResultString' is not known (bindings) [1499ms] Resolving typedefs (72)... [WARNING] (bindings) [1850ms] Fixing class inheritance... [OK] (bindings) [1851ms] Detecting inconsistencies in class model... [OK] (bindings) [1931ms] Detecting inconsistencies in typesystem (5122)... [OK] (bindings) [1955ms] Checking inconsistencies in function modifications... [WARNING] qt.shiboken: (bindings) C:\Users\RuneMonzel\pyside6_qtads\src\bindings.xml:309: signature 'setSideTabWidget(ads::CAutoHideTab*)' for function modification in 'ads::CDockWidget' not found. Possible candidates: setSideTabWidget(ads::CAutoHideTab*)const in CDockWidget (bindings) [1955ms] Writing log files... [OK] (bindings) [1990ms] Running Source generator... [OK] (bindings) [2194ms] Running Header generator... [OK] Done, (bindings) 2317ms, 6 warnings (327 known issues) Building Custom Rule C:/Users/RuneMonzel/pyside6_qtads/CMakeLists.txt cl : befehlszeile warning D9035: Die Option "Og" ist veraltet und wird in einer der nächsten Versionen entfernt. [C:\Users\RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtAds\PySide2QtAds.vcxproj] ads_cautohidedockcontainer_wrapper.cpp ads_cautohidesidebar_wrapper.cpp C:\Users\RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtAds\PySide2QtAds\ads_cautohidesidebar_wrapper.cpp(1986,46): error C2039: "TabDefaultInsertIndex" ist kein Member von "ads::CAutoHideSideBar". [C:\Users\ RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtAds\PySide2QtAds.vcxproj] C:\Users\RuneMonzel\pyside6_qtads\Qt-Advanced-Docking-System\src\AutoHideDockContainer.h(45): message : Siehe Deklaration von "ads::CAutoHideSideBar" [C:\Users\RuneMonzel\pyside6_qtads\build\temp.win-amd64-cpython-39\Release_PySide2-QtA ds\PySide2QtAds.vcxproj] ads_cautohidetab_wrapper.cpp ads_cdockareatabbar_wrapper.cpp ads_cdockareatitlebar_wrapper.cpp ads_cdockareawidget_wrapper.cpp ads_cdockcomponentsfactory_wrapper.cpp ads_cdockcontainerwidget_wrapper.cpp ads_cdockfocuscontroller_wrapper.cpp ads_cdockingstatereader_wrapper.cpp ads_cdockmanager_wrapper.cpp ads_cdockoverlay_wrapper.cpp ads_cdockoverlaycross_wrapper.cpp ads_cdocksplitter_wrapper.cpp ads_cdockwidget_wrapper.cpp ads_cdockwidgettab_wrapper.cpp ads_celidinglabel_wrapper.cpp ads_cfloatingdockcontainer_wrapper.cpp ads_cfloatingdragpreview_wrapper.cpp ads_ciconprovider_wrapper.cpp Code wird generiert... Kompilieren... ads_cspacerwidget_wrapper.cpp ads_ctitlebarbutton_wrapper.cpp ads_ifloatingwidget_wrapper.cpp ads_cpushbutton_wrapper.cpp ads_cresizehandle_wrapper.cpp ads_wrapper.cpp pyside2qtads_module_wrapper.cpp Code wird generiert... Traceback (most recent call last): File "C:\Users\RuneMonzel\pyside6_qtads\setup.py", line 79, in setuptools.setup( File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\__init__.py", line 117, in setup return distutils.core.setup(**attrs) File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\_distutils\core.py", line 183, in setup return run_commands(dist) File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\_distutils\core.py", line 199, in run_commands dist.run_commands() File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\_distutils\dist.py", line 954, in run_commands self.run_command(cmd) File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\dist.py", line 950, in run_command super().run_command(command) File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command cmd_obj.run() File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\wheel\bdist_wheel.py", line 368, in run self.run_command("build") File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command self.distribution.run_command(command) File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\dist.py", line 950, in run_command super().run_command(command) File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command cmd_obj.run() File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\_distutils\command\build.py", line 135, in run self.run_command(cmd_name) File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command self.distribution.run_command(command) File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\dist.py", line 950, in run_command super().run_command(command) File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command cmd_obj.run() File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\cmake_build_extension\build_extension.py", line 114, in run self.build_extension(ext) File "C:\Users\RuneMonzel\python39_envs\autolucid\lib\site-packages\cmake_build_extension\build_extension.py", line 242, in build_extension subprocess.check_call(build_command) File "C:\Users\RuneMonzel\python39\lib\subprocess.py", line 373, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['cmake', '--build', 'C:\\Users\\RuneMonzel\\pyside6_qtads\\build\\temp.win-amd64-cpython-39\\Release_PySide2-QtAds', '--config', 'Release']' returned non-zero exit status 1. ```
monzelr commented 5 days ago

right know, I only build it for windows:

https://github.com/monzelr/pyside2_qtads/releases/download/v4.3.1.1/PySide2_QtAds-4.3.1-cp38-abi3-win_amd64.whl

I did not test it yet...

monzelr commented 4 days ago

I have the exact same problem with Linux Ubuntu 22 LTS. I guess it has something to do with shiboken2/shiboken2-generator 5.15.15.

However, so far the PySide2 QtAds package 4.3.1 and there examples are working on Linux and Windows.