Cool! Thanks Nyall! Off course this is a challenge for Debianista's :-)
Just tried on Debian testing, actually your 4 zip's/dependecies compiling went very well. (did not INSTALL anything, just compiled) But then I get stuck on QGIS itself (looks like it is trying to compile the ossl plugin again, or qca is not finding the plugin so?) (note: I disabled some AUTH stuff because... something errored, and I thought to try without) # build QGIS qt6 (had build all other stuff in /home/richard/git/qca) mkdir build cd build ccmake -DBUILD_WITH_QT6=ON -DWITH_BINDINGS=OFF \ -DQCA_INCLUDE_DIR=/home/richard/git/qca/qca-master \ -DQCA_LIBRARY=/home/richard/git/qca/qca-master/lib/libqca-qt6.so.2.3.4 \ -DQSCINTILLA_INCLUDE_DIR=/home/richard/git/qca/QScintilla_src-2.13.3/src/ \ -DQSCINTILLA_LIBRARY=/home/richard/git/qca/QScintilla_src-2.13.3/src/libqscintilla2_qt6.so.15.1.1 \ -DQTKEYCHAIN_INCLUDE_DIR=/home/richard/git/qca/qtkeychain-master \ -DQTKEYCHAIN_LIBRARY=/home/richard/git/qca/qtkeychain-master/libqt6keychain.so.0.13.99 \ -DQWT_INCLUDE_DIR=/home/richard/git/qca/qwt-6.2.0/src \ -DQWT_LIBRARY=/home/richard/git/qca/qwt-6.2.0/lib/libqwt.so.6.2.0 \ -DWITH_OAUTH2_PLUGIN=OFF \ -DWITH_AUTH=OFF \ .. QCA OpenSSL plugin C++ check compile output: Change Dir: /home/richard/git/qgisqt6/build/CMakeFiles/CMakeTmp Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_c5530/fast && /usr/bin/gmake -f CMakeFiles/cmTC_c5530.dir/build.make CMakeFiles/cmTC_c5530.dir/build gmake[1]: Entering directory '/home/richard/git/qgisqt6/build/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_c5530.dir/qcaossl.cpp.o /usr/bin/c++ -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/richard/git/qca/qca-master -fPIC -std=gnu++11 -o CMakeFiles/cmTC_c5530.dir/qcaossl.cpp.o -c /home/richard/git/qgisqt6/build/CMakeFiles/CMakeTmp/qcaossl.cpp /home/richard/git/qgisqt6/build/CMakeFiles/CMakeTmp/qcaossl.cpp:2:16: fatal error: QtCrypto: No such file or directory 2 | #include <QtCrypto> | ^~~~~~~~~~ compilation terminated. gmake[1]: *** [CMakeFiles/cmTC_c5530.dir/build.make:78: CMakeFiles/cmTC_c5530.dir/qcaossl.cpp.o] Error 1 gmake[1]: Leaving directory '/home/richard/git/qgisqt6/build/CMakeFiles/CMakeTmp' gmake: *** [Makefile:127: cmTC_c5530/fast] Error 2 CMake Error at cmake/QCAMacros.cmake:76 (message): QCA OpenSSL plugin not found (run-time/unit-test dependency) Call Stack (most recent call first): CMakeLists.txt:526 (FIND_QCAOSSL_PLUGIN_CPP) Configuring incomplete, errors occurred! Anyone a hint? Regards, Richard Duivenvoorde If others want to try, some more notes: # log on Debian Testing dd 18th aug 2022 # get all zips from Nyalls qt6 mail: # qca unzip qca-master.zip cd qca-master/ # I did ccmake . # and checked BUILD_WITH_QT6=ON # and (after issues with the ossl plugin) set WITH_ossl_PLUGIN=yes make # qtkeychain # unzip and go into dir: # needed to do: unzip qtkeychain-master.zip cd qtkeychain-master/ sudo apt install libsecret-1-dev cmake -DBUILD_WITH_QT6=ON . make # qwt-6.2 # unzip cd qwt-6.2.0 qmake6 -DWITH_PLUGIN=yes qwt.pro make # QScintilla_src-2.13.3 cd QScintilla_src-2.13.3 cd src qmake6 qscintilla.pro make On 8/18/22 06:46, Nyall Dawson via QGIS-Developer wrote:
Hi list, There's been a couple of questions regarding this lately, so I'd like to send through an update on the current status. While I was rather pessimistic when replying to these questions, I'm happy to report that the port to Qt 6 is actually progressing MUCH faster than I'd anticipated! Thanks to the QGIS.org grant, I've spent the last couple of weeks working on this and we're now at a stage where QGIS builds and is (mostly) usable on Qt 6!! Right now this is where we're stand: - The core, gui and app libraries all build and run under Qt 6. - The 3d library builds and the tests all pass, but I just get a hang when I try to actually use a 3d view in the app - There's an open PR adding Qt 6 support for server ( https://github.com/qgis/QGIS/pull/49823 ) - Python is not supported, there's some blockers there to resolve first* - Almost all the c++ tests are passing, and there's a bunch of open PRs which resolve some issues to get a few more passing - The CI infrastructure now includes the c++ tests for QGIS core, gui, app and 3d under Qt 6 (with server tests enabled in the PR waiting review). Unfortunately without Python support we can't run the bulk of the test suite yet, so the current stability of the Qt 6 builds is a bit of an unknown. At least in my tests things *seem* to work well, in that I can load projects, navigate maps, work with print layouts and other common tasks. I certainly wouldn't recommend it for any kind of professional use, but it's at a stage where I'd welcome end-user testing and bug reports! Getting a build is somewhat tricky at the moment. I've been using Fedora 36 for this. You can get the required dependencies from this command: https://github.com/qgis/QGIS/blob/master/.docker/qgis3-qt6-build-deps.dockerfile#L6 You also need to compile by hand: - qca, from https://github.com/KDE/qca/archive/refs/heads/master.zip (make sure to set the -DQT6=ON cmake flag) - qtkeychain, from https://github.com/frankosterfeld/qtkeychain/archive/refs/heads/master.zip . Set the -DBUILD_WITH_QT6=ON cmake flag - qwt-6.2 from https://sourceforge.net/projects/qwt/files/qwt/6.2.0/qwt-6.2.0.zip/download . This is an ugly one to compile -- you need to use qmake6 and hack around some random build failures - QScintilla 2.13.3 from https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.13.3/QScintilla_src-2.13.3.zip . Again, use qmake6 to compile to get the qt 6 libraries. (there's potentially some useful tips on compiling these in the docker file used for the Github workflow at https://github.com/qgis/QGIS/blob/master/.docker/qgis3-qt6-build-deps.dockerfile ) When you're building QGIS, make sure to set the cmake options -DBUILD_WITH_QT6=ON -DWITH_BINDINGS=OFF . Likely you also need to set QCA_INCLUDE_DIR, QCA_LIBRARY, QSCINTILLA_INCLUDE_DIR, QSCINTILLA_LIBRARY, QTKEYCHAIN_INCLUDE_DIR, QTKEYCHAIN_LIBRARY, QWT_INCLUDE_DIR and QWT_LIBRARY to point to the correct Qt 6 versions of these libraries. Nyall * regarding Python support: Currently Fedora doesn't have packages for PyQt6, which prevents enabling the Python bindings on Qt 6 builds. There's an open request for packaging this but no movement yet. I'd suggest that potentially QGIS.org could sponsor Sandro Mani to do this packaging (also Qt 6 packages for the qca/keychain/qscintilla/qwt libraries), given his experience in packaging all the other geo libraries under Fedora... While there's been discussion and research into potentially moving to Python for Qt instead of PyQt, that's a longer-term project and can't be completed until QGIS 4.0. So for our short/medium term requirements we need PyQt6 to move forward with the remaining Qt6 work... _______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer