[solved] How are linux folks compiling freecad 0.17 with qt5?

Having trouble installing or compiling FreeCAD? Get help here.
ezzieyguywuf
Posts: 542
Joined: Tue May 19, 2015 1:11 am

[solved] How are linux folks compiling freecad 0.17 with qt5?

Postby ezzieyguywuf » Tue Apr 03, 2018 10:42 pm

My os (gentoo linux) has discontinued support for qt4. I'm trying to compile freecad with qt5, however I'm running into an issue with the pyside2 dependency. My os doesn't have pyside2 available in its package repository, so I've tried following the steps on the qt wiki. I've tried the wheel package, version 5.11, but get an error when compiling freecad (the error is in pyside not freecad).

I've also tried compiling pyside2 myself using distutils as described on that same wiki, but my compilation fails due to this bug. It seems I can disable the qt5webkit stuff to resolve the bug, but I couldn't figure out how to do that (plus I'm pretty sure freecad uses qt5webkit).

So: how are you all doing this?

SOLVED:

So, before you compile pyside on your own (like I did), check this link to see if there is a pre-compiled wheel for your combo of python and qt. I had problems using these wheels, but it's worth a shot.

If the wheel doesn't work, then follow the official qt instructions to compile pyside2.

Please note, I had to manually modify setup.py in order to resolve an issue with my pyside-5.9 compilation. If you're using a newer qt you probably won't have this issue. But if you do, you can see what I did on this post
Last edited by ezzieyguywuf on Sat Apr 07, 2018 2:46 am, edited 1 time in total.
User avatar
Kunda1
Posts: 5491
Joined: Thu Jan 05, 2017 9:03 pm

Re: How are linux folks compiling freecad 0.17 with qt5?

Postby Kunda1 » Tue Apr 03, 2018 11:40 pm

Oy vey. We're going to see a lot more of these type of threads and tickets as the different linux distros start discontinuing qt4.
This is an ongoing issue: issue #2986
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
ezzieyguywuf
Posts: 542
Joined: Tue May 19, 2015 1:11 am

Re: How are linux folks compiling freecad 0.17 with qt5?

Postby ezzieyguywuf » Wed Apr 04, 2018 12:01 am

Is the pyside dependency 100% necessary? I don’t see it on the third part libs wiki page. I’d there a way to compile without pyside? Are pyside and shiboken ties together at the hip? Is shiboken a hard dependency?
ezzieyguywuf
Posts: 542
Joined: Tue May 19, 2015 1:11 am

Re: How are linux folks compiling freecad 0.17 with qt5?

Postby ezzieyguywuf » Wed Apr 04, 2018 2:24 am

Update: here's the error I get when trying to compile with the precompiled pyside2-5.11 package provided by the qt folks. Again, this is a qt issue, not a Freecad issue. But: is there something I can disable in the freecad build to get around this?

Code: Select all

[  1%] Built target Driver
[  2%] Built target SMDS
[  2%] Built target SMESHDS
[  2%] Built target DriverUNV
[  2%] Built target DriverDAT
[  2%] Built target DriverSTL
[  4%] Built target SMESH
[  4%] Built target MEFISTO2
[  6%] Built target StdMeshers
[  9%] Built target FreeCADBase
[ 11%] Built target FreeCADApp
[ 11%] Building CXX object src/Gui/CMakeFiles/FreeCADGui.dir/WidgetFactory.cpp.o
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:83:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:740:42: error: ‘StringFormat’ is not a member of ‘QUuid’
 template<> inline PyTypeObject* SbkType< ::QUuid::StringFormat >() { return SbkPySide2_QtCoreTypes[SBK_QUUID_STRINGFORMAT_IDX]; }
                                          ^~
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:740:42: error: ‘StringFormat’ is not a member of ‘QUuid’
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:740:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
 template<> inline PyTypeObject* SbkType< ::QUuid::StringFormat >() { return SbkPySide2_QtCoreTypes[SBK_QUUID_STRINGFORMAT_IDX]; }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:78:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/shiboken2/sbkconverter.h:372:36: note: candidate is: template<class T> PyTypeObject* Shiboken::SbkType()
 template<typename T> PyTypeObject* SbkType() { return 0; }
                                    ^~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:83:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:761:42: error: ‘::QSemaphoreReleaser’ has not been declared
 template<> inline PyTypeObject* SbkType< ::QSemaphoreReleaser >() { return reinterpret_cast<PyTypeObject*>(SbkPySide2_QtCoreTypes[SBK_QSEMAPHORERELEASER_IDX]); }
                                          ^~
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:761:42: error: ‘::QSemaphoreReleaser’ has not been declared
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:761:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
 template<> inline PyTypeObject* SbkType< ::QSemaphoreReleaser >() { return reinterpret_cast<PyTypeObject*>(SbkPySide2_QtCoreTypes[SBK_QSEMAPHORERELEASER_IDX]); }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:78:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/shiboken2/sbkconverter.h:372:36: note: candidate is: template<class T> PyTypeObject* Shiboken::SbkType()
 template<typename T> PyTypeObject* SbkType() { return 0; }
                                    ^~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:83:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:779:42: error: ‘::QRandomGenerator’ has not been declared
 template<> inline PyTypeObject* SbkType< ::QRandomGenerator >() { return reinterpret_cast<PyTypeObject*>(SbkPySide2_QtCoreTypes[SBK_QRANDOMGENERATOR_IDX]); }
                                          ^~
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:779:42: error: ‘::QRandomGenerator’ has not been declared
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:779:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
 template<> inline PyTypeObject* SbkType< ::QRandomGenerator >() { return reinterpret_cast<PyTypeObject*>(SbkPySide2_QtCoreTypes[SBK_QRANDOMGENERATOR_IDX]); }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:78:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/shiboken2/sbkconverter.h:372:36: note: candidate is: template<class T> PyTypeObject* Shiboken::SbkType()
 template<typename T> PyTypeObject* SbkType() { return 0; }
                                    ^~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:83:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:780:42: error: ‘::QRandomGenerator64’ has not been declared
 template<> inline PyTypeObject* SbkType< ::QRandomGenerator64 >() { return reinterpret_cast<PyTypeObject*>(SbkPySide2_QtCoreTypes[SBK_QRANDOMGENERATOR64_IDX]); }
                                          ^~
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:780:42: error: ‘::QRandomGenerator64’ has not been declared
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:780:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
 template<> inline PyTypeObject* SbkType< ::QRandomGenerator64 >() { return reinterpret_cast<PyTypeObject*>(SbkPySide2_QtCoreTypes[SBK_QRANDOMGENERATOR64_IDX]); }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:78:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/shiboken2/sbkconverter.h:372:36: note: candidate is: template<class T> PyTypeObject* Shiboken::SbkType()
 template<typename T> PyTypeObject* SbkType() { return 0; }
                                    ^~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:83:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:860:42: error: ‘DataSizeFormat’ is not a member of ‘QLocale’
 template<> inline PyTypeObject* SbkType< ::QLocale::DataSizeFormat >() { return SbkPySide2_QtCoreTypes[SBK_QLOCALE_DATASIZEFORMAT_IDX]; }
                                          ^~
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:860:42: error: ‘DataSizeFormat’ is not a member of ‘QLocale’
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:860:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
 template<> inline PyTypeObject* SbkType< ::QLocale::DataSizeFormat >() { return SbkPySide2_QtCoreTypes[SBK_QLOCALE_DATASIZEFORMAT_IDX]; }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:78:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/shiboken2/sbkconverter.h:372:36: note: candidate is: template<class T> PyTypeObject* Shiboken::SbkType()
 template<typename T> PyTypeObject* SbkType() { return 0; }
                                    ^~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:83:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:861:51: error: ‘DataSizeFormat’ is not a member of ‘QLocale’
 template<> inline PyTypeObject* SbkType< ::QFlags<QLocale::DataSizeFormat> >() { return SbkPySide2_QtCoreTypes[SBK_QFLAGS_QLOCALE_DATASIZEFORMAT__IDX]; }
                                                   ^~~~~~~
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:861:51: error: ‘DataSizeFormat’ is not a member of ‘QLocale’
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:861:74: error: template argument 1 is invalid
 template<> inline PyTypeObject* SbkType< ::QFlags<QLocale::DataSizeFormat> >() { return SbkPySide2_QtCoreTypes[SBK_QFLAGS_QLOCALE_DATASIZEFORMAT__IDX]; }
                                                                          ^
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:861:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
 template<> inline PyTypeObject* SbkType< ::QFlags<QLocale::DataSizeFormat> >() { return SbkPySide2_QtCoreTypes[SBK_QFLAGS_QLOCALE_DATASIZEFORMAT__IDX]; }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:78:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/shiboken2/sbkconverter.h:372:36: note: candidate is: template<class T> PyTypeObject* Shiboken::SbkType()
 template<typename T> PyTypeObject* SbkType() { return 0; }
                                    ^~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:83:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:903:42: error: ‘FileTime’ is not a member of ‘QFileDevice’
 template<> inline PyTypeObject* SbkType< ::QFileDevice::FileTime >() { return SbkPySide2_QtCoreTypes[SBK_QFILEDEVICE_FILETIME_IDX]; }
                                          ^~
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:903:42: error: ‘FileTime’ is not a member of ‘QFileDevice’
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:903:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
 template<> inline PyTypeObject* SbkType< ::QFileDevice::FileTime >() { return SbkPySide2_QtCoreTypes[SBK_QFILEDEVICE_FILETIME_IDX]; }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:78:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/shiboken2/sbkconverter.h:372:36: note: candidate is: template<class T> PyTypeObject* Shiboken::SbkType()
 template<typename T> PyTypeObject* SbkType() { return 0; }
                                    ^~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:83:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:938:42: error: ‘CheckIndexOption’ is not a member of ‘QAbstractItemModel’
 template<> inline PyTypeObject* SbkType< ::QAbstractItemModel::CheckIndexOption >() { return SbkPySide2_QtCoreTypes[SBK_QABSTRACTITEMMODEL_CHECKINDEXOPTION_IDX]; }
                                          ^~
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:938:42: error: ‘CheckIndexOption’ is not a member of ‘QAbstractItemModel’
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:938:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
 template<> inline PyTypeObject* SbkType< ::QAbstractItemModel::CheckIndexOption >() { return SbkPySide2_QtCoreTypes[SBK_QABSTRACTITEMMODEL_CHECKINDEXOPTION_IDX]; }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:78:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/shiboken2/sbkconverter.h:372:36: note: candidate is: template<class T> PyTypeObject* Shiboken::SbkType()
 template<typename T> PyTypeObject* SbkType() { return 0; }
                                    ^~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:83:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:939:51: error: ‘CheckIndexOption’ is not a member of ‘QAbstractItemModel’
 template<> inline PyTypeObject* SbkType< ::QFlags<QAbstractItemModel::CheckIndexOption> >() { return SbkPySide2_QtCoreTypes[SBK_QFLAGS_QABSTRACTITEMMODEL_CHECKINDEXOPTION__IDX]; }
                                                   ^~~~~~~~~~~~~~~~~~
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:939:51: error: ‘CheckIndexOption’ is not a member of ‘QAbstractItemModel’
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:939:87: error: template argument 1 is invalid
 template<> inline PyTypeObject* SbkType< ::QFlags<QAbstractItemModel::CheckIndexOption> >() { return SbkPySide2_QtCoreTypes[SBK_QFLAGS_QABSTRACTITEMMODEL_CHECKINDEXOPTION__IDX]; }
                                                                                       ^
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtCore/pyside2_qtcore_python.h:939:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
 template<> inline PyTypeObject* SbkType< ::QFlags<QAbstractItemModel::CheckIndexOption> >() { return SbkPySide2_QtCoreTypes[SBK_QFLAGS_QABSTRACTITEMMODEL_CHECKINDEXOPTION__IDX]; }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:78:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/shiboken2/sbkconverter.h:372:36: note: candidate is: template<class T> PyTypeObject* Shiboken::SbkType()
 template<typename T> PyTypeObject* SbkType() { return 0; }
                                    ^~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:84:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtGui/pyside2_qtgui_python.h:689:42: error: ‘ColorSpace’ is not a member of ‘QSurfaceFormat’
 template<> inline PyTypeObject* SbkType< ::QSurfaceFormat::ColorSpace >() { return SbkPySide2_QtGuiTypes[SBK_QSURFACEFORMAT_COLORSPACE_IDX]; }
                                          ^~
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtGui/pyside2_qtgui_python.h:689:42: error: ‘ColorSpace’ is not a member of ‘QSurfaceFormat’
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtGui/pyside2_qtgui_python.h:689:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
 template<> inline PyTypeObject* SbkType< ::QSurfaceFormat::ColorSpace >() { return SbkPySide2_QtGuiTypes[SBK_QSURFACEFORMAT_COLORSPACE_IDX]; }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:78:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/shiboken2/sbkconverter.h:372:36: note: candidate is: template<class T> PyTypeObject* Shiboken::SbkType()
 template<typename T> PyTypeObject* SbkType() { return 0; }
                                    ^~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:84:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtGui/pyside2_qtgui_python.h:760:42: error: ‘PdfVersion’ is not a member of ‘QPagedPaintDevice’
 template<> inline PyTypeObject* SbkType< ::QPagedPaintDevice::PdfVersion >() { return SbkPySide2_QtGuiTypes[SBK_QPAGEDPAINTDEVICE_PDFVERSION_IDX]; }
                                          ^~
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtGui/pyside2_qtgui_python.h:760:42: error: ‘PdfVersion’ is not a member of ‘QPagedPaintDevice’
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/PySide2/QtGui/pyside2_qtgui_python.h:760:33: error: template-id ‘SbkType<<expression error> >’ for ‘PyTypeObject* Shiboken::SbkType()’ does not match any template declaration
 template<> inline PyTypeObject* SbkType< ::QPagedPaintDevice::PdfVersion >() { return SbkPySide2_QtGuiTypes[SBK_QPAGEDPAINTDEVICE_PDFVERSION_IDX]; }
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/wolfie/Program/CAD_dev/test_build/FreeCAD-1/src/Gui/WidgetFactory.cpp:78:0:
/home/wolfie/.config/pyVirtualEnvs/freecad/lib64/python3.6/site-packages/PySide2/include/shiboken2/sbkconverter.h:372:36: note: candidate is: template<class T> PyTypeObject* Shiboken::SbkType()
 template<typename T> PyTypeObject* SbkType() { return 0; }
                                    ^~~~~~~
make[2]: *** [src/Gui/CMakeFiles/FreeCADGui.dir/build.make:7520: src/Gui/CMakeFiles/FreeCADGui.dir/WidgetFactory.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:5565: src/Gui/CMakeFiles/FreeCADGui.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
User avatar
kkremitzki
Posts: 1708
Joined: Thu Mar 03, 2016 9:52 pm
Location: Texas

Re: How are linux folks compiling freecad 0.17 with qt5?

Postby kkremitzki » Wed Apr 04, 2018 2:49 am

ezzieyguywuf wrote:
Wed Apr 04, 2018 12:01 am
Is the pyside dependency 100% necessary? I don’t see it on the third part libs wiki page. I’d there a way to compile without pyside? Are pyside and shiboken ties together at the hip? Is shiboken a hard dependency?
Yes, PySide provides the Python Qt5 bindings; you might be able to get away without it if you didn't compile a GUI or something.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
looo
Posts: 2820
Joined: Mon Nov 11, 2013 5:29 pm

Re: How are linux folks compiling freecad 0.17 with qt5?

Postby looo » Wed Apr 04, 2018 6:04 am

what qt version does your system provide? pyside has to match the system qt-version. I guess 5.11 is the development version?
Maybe you can find a pip wheel matching your qt version. Then you only need to find a way to install this pip package.
ezzieyguywuf
Posts: 542
Joined: Tue May 19, 2015 1:11 am

Re: How are linux folks compiling freecad 0.17 with qt5?

Postby ezzieyguywuf » Wed Apr 04, 2018 11:45 am

I have qt 5.9 I wasn't aware pyside had to match. I think I tried to get a pyside 5.9 but the only wheel package available on the qt site were for python 3.4, and I have python 3.6. that's why I was trying to compile pyside on my own, but then I ran into other issues.
ezzieyguywuf
Posts: 542
Joined: Tue May 19, 2015 1:11 am

Re: How are linux folks compiling freecad 0.17 with qt5?

Postby ezzieyguywuf » Wed Apr 04, 2018 1:42 pm

Hah! This is great I’ll try this as soon as I get a chance
ezzieyguywuf
Posts: 542
Joined: Tue May 19, 2015 1:11 am

Re: How are linux folks compiling freecad 0.17 with qt5?

Postby ezzieyguywuf » Wed Apr 04, 2018 6:04 pm

I tried this, same error as above :(