Compilation testers needed

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
chennes
Veteran
Posts: 3914
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Compilation testers needed

Post by chennes »

jjubenv wrote: Sun Oct 30, 2022 7:33 pm I get this with the QT6 build:

Code: Select all

  Expected Config file at
  "/usr/lib/x86_64-linux-gnu/cmake/Qt6UiTools/Qt6UiToolsConfig.cmake" does
  NOT exist
Does a variant of that path exist for Qt6UiTools6, or something along those lines? It's interesting to me that the package ends with a 6, does Debian do that will all the Qt stuff? Also, I assume you are using the standard Debian package for Qt6?
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
jjubenv
Posts: 19
Joined: Sat Feb 09, 2019 1:41 am

Re: Compilation testers needed

Post by jjubenv »

chennes wrote: Sun Oct 30, 2022 8:25 pm Does a variant of that path exist for Qt6UiTools6, or something along those lines? It's interesting to me that the package ends with a 6, does Debian do that will all the Qt stuff? Also, I assume you are using the standard Debian package for Qt6?
(I provide too much detail here, in case someone else want's to try).

Since Debian bullseye(v11.5) does not have a standard package for QT6, I used their bullseye-backports repo by adding it to my apt configuration. Here is the list of 'Qt6' packages in the backports repository: https://packages.debian.org/search?suit ... ywords=qt6

I did some more digging, and found I should have installed packages that end with '-dev' (instead of simply libqt6uitools6), that library is installed with the 'qt6-tools-dev' package. cmake then progressed a bit and I had to install the 'qt6-webengine-dev' package, and pip install pyside6 (which also installs shiboken6).

I think this is all I needed to install (I may have forgotten some though)

Code: Select all

sudo apt -t bullseye-backports install qt6-base-dev
sudo apt -t bullseye-backports install qt6-base-dev-tools
sudo apt -t bullseye-backports install libqt6svg6-dev
sudo apt -t bullseye-backports install qt6-tools-dev
sudo apt -t bullseye-backports install qt6-webengine-dev
pip install pyside6
Now it seems successful.

Code: Select all

cmake -DFREECAD_QT_VERSION=6 ../freecad-pr7647-src
...
==============
Summary report
==============

-- Build type:          
-- Compiler:            /usr/bin/c++ (10.2.1)
-- Flags:               -Wall -Wextra -Wno-write-strings 
-- Standard:            Requires C++17
-- Python:              3.9.2 [/usr/bin/python3.9] []
-- PCL:                 not enabled
-- pybind11:            not enabled
-- Boost:               1.74.0
-- XercesC:             3.2.3 [/usr/lib/x86_64-linux-gnu/libxerces-c.so] [/usr/include]
-- ZLIB:                1.2.11
-- PyCXX:               7.1.7 [/home/jake/development/freecad/freecad-pr7647-src/src]
-- OCC:                 7.5.1 [TKFillet;TKMesh;TKernel;TKG2d;TKG3d;TKMath;TKIGES;TKSTL;TKShHealing;TKXSBase;TKBool;TKBO;TKBRep;TKTopAlgo;TKGeomAlgo;TKGeomBase;TKOffset;TKPrim;TKSTEPBase;TKSTEPAttr;TKSTEP209;TKSTEP;TKHLR;TKFeat] [/usr/lib/x86_64-linux-gnu] [/usr/include/opencascade]
-- SMESH:               7.7.1.0 build internal
-- MEDFile:             4.1.0 [/usr/lib/x86_64-linux-gnu/libmedC.so] [/usr/include]
-- HDF5:                1.10.6
-- VTK:                 7.1.1
-- NETGEN:              not enabled
-- SWIG:                4.0.2
-- Eigen3               3.3.9
-- QtCore:              6.3.1
-- QtNetwork:           6.3.1
-- QtXml:               6.3.1
-- QtWidgets:           6.3.1
-- QtPrintSupport:      6.3.1
-- QtOpenGL:            6.3.1
-- QtSvg:               6.3.1
-- QtUiTools:           6.3.1
-- QtConcurrent:        6.3.1
-- QtWebEngineWidgets:  6.3.1
-- Designer plugin:     not built (BUILD_DESIGNER_PLUGIN is OFF)
-- Shiboken:            6.4.0.1 [Shiboken6_DIR-NOTFOUND] [\ /home/jake/.local/lib/python3.9/site-packages/shiboken6/include]
-- PySide:              6.4.0.1 [\ /home/jake/.local/lib/python3.9/site-packages/PySide6/include]
-- PySideTools:         [/usr/lib/qt6/libexec/uic] [/usr/lib/qt6/libexec/rcc]
-- Freetype:            2.10.4
-- OpenGL:              /usr/lib/x86_64-linux-gnu/libGL.so
-- OpenGLU:             [/usr/lib/x86_64-linux-gnu/libGLU.so][/usr/include]
-- Coin3D:              4.0.0 [/usr/lib/x86_64-linux-gnu/libCoin.so] [/usr/include]
-- Pivy:                0.6.5
-- SPNAV:               [/usr/lib/libspnav.so] [/usr/include]
-- Matplotlib:          3.3.4
-- Rift:                not enabled (BUILD_VR)
-- Doxygen:             1.9.1
-- Language:            English
-- Coin3D_DOC:          not found
=================================================
Now run 'cmake --build /home/jake/development/freecad/freecad-pr7647-src' to build FreeCAD
=================================================
Haavard
Posts: 221
Joined: Wed Feb 17, 2021 10:48 pm

Re: Compilation testers needed

Post by Haavard »

Fedora repos are missing qt6-qtwebengine-devel, so i'm unable to test cmake with QT6. :(
User avatar
chennes
Veteran
Posts: 3914
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Compilation testers needed

Post by chennes »

Haavard wrote: Sun Oct 30, 2022 10:25 pm Fedora repos are missing qt6-qtwebengine-devel, so i'm unable to test cmake with QT6. :(
You can turn BUILD_WEB off and it should remove that dependency, so you can at least test that much (if you want to).
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3914
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Compilation testers needed

Post by chennes »

jjubenv wrote: Sun Oct 30, 2022 9:50 pm I did some more digging, and found I should have installed packages that end with '-dev' (instead of simply libqt6uitools6), that library is installed with the 'qt6-tools-dev' package. cmake then progressed a bit and I had to install the 'qt6-webengine-dev' package, and pip install pyside6 (which also installs shiboken6).
Thanks for taking the time to poke that this -- I'm sure others will find this info useful in the coming months as we work to get FreeCAD to actually compile against the Qt6 libraries!
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
wmayer
Founder
Posts: 20319
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Compilation testers needed

Post by wmayer »

I have tested the Qt6 build on a newly setup Debian Bullseye and was able to build FreeCADBase, FreeCADApp and the App and Gui libraries of most of the modules.

What still must be ported are: FreeCADGui, TechDraw, TechDrawGui and WebGui.


BTW: I wonder about the availability of shiboken6 and PySide6. Do there exist any packages for them? I haven't found anything so far.
User avatar
chennes
Veteran
Posts: 3914
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Compilation testers needed

Post by chennes »

wmayer wrote: Tue Nov 01, 2022 2:07 pm BTW: I wonder about the availability of shiboken6 and PySide6. Do there exist any packages for them? I haven't found anything so far.
Only a few operating systems seem to be packaging these - Qt themselves encourage installing using pip (which of course makes life difficult in the cMake file, but we've got some workarounds in there).
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
wmayer
Founder
Posts: 20319
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Compilation testers needed

Post by wmayer »

This git commit af0a014cf2 ports some long hanging fruits to Qt6.
User avatar
-alex-
Veteran
Posts: 1861
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: Compilation testers needed

Post by -alex- »

Haavard wrote: Sun Oct 30, 2022 9:44 am I get the following error:

Code: Select all

CMake Error at /usr/lib64/cmake/Qt5/Qt5Config.cmake:28 (find_package): .....
Similar issue:

Code: Select all

CMake Error at /usr/lib/aarch64-linux-gnu/cmake/Qt5/Qt5Config.cmake:28 (find_package):
  Could not find a package configuration file provided by
  "Qt5WebEngineWidgets" with any of the following names:

    Qt5WebEngineWidgetsConfig.cmake
    qt5webenginewidgets-config.cmake

  Add the installation prefix of "Qt5WebEngineWidgets" to CMAKE_PREFIX_PATH
  or set "Qt5WebEngineWidgets_DIR" to a directory containing one of the above
  files.  If "Qt5WebEngineWidgets" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  cMake/FreeCAD_Helpers/SetupQt.cmake:21 (find_package)
  CMakeLists.txt:69 (include)

I wasn't able to find the missing package for Qt5, so:
chennes wrote: Sun Oct 30, 2022 10:53 pm You can turn BUILD_WEB off and it should remove that dependency,
That did the trick.
Then cmake and compiling was ok:

Code: Select all

OS: Debian GNU/Linux 11 (bullseye) (LXDE/LXDE-pi)
Word size of FreeCAD: 64-bit
Version: 0.21.30767 +2 (Git)
Build type: Unknown
Branch: pr/7647
Hash: c472df9cb01ec16596773e30dfbb7e3a1aaa765f
Python 3.9.2, Qt 5.15.2, Coin 4.0.0, Vtk 7.1.1, OCC 7.5.1
Locale: French/France (fr_FR)

However FC starts with no icons and no start page:
FC-build-PR7647-BUILD_WEB-OFF-RPI4.png
FC-build-PR7647-BUILD_WEB-OFF-RPI4.png (49.63 KiB) Viewed 1269 times

Is it the result expected? Or I did something wrong? (I'm not an expert about compiling stuffs)
User avatar
chennes
Veteran
Posts: 3914
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: Compilation testers needed

Post by chennes »

@-alex- I presume you are getting that error when trying to compile against Qt5, not Qt6, right? If that is the case, you need to install the "qt5webengine-dev" package (or its equivalent in your OS of choice) using your system package manager.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
Post Reply