From: Ethan M. <eam...@gm...> - 2024-05-17 01:02:59
|
Gnuplot still runs quite happily with Qt5. Indeed, the configure script falls back to linking against Qt5 if it thinks that Qt6 is not present. The issue seems to be that some linux distros install enough pieces of Qt6 that the configure script thinks it is present rather than thinking it is absent and so it doesn't fall back to Qt5 instead. You could tell it to skip the check for Qt6 and move straight to trying Qt5: ./configure --with-qt=qt5 Summary instructions for building with Qt5 under Ubuntu / Debian are in the INSTALL file that is part of the gnuplot distribution. If/when someone feeds back an equivalent recipe for Qt6 I will add that to the INSTALL file. And certainly if there are tweaks to the configure script itself to make it less sensitive to distro-specific quirks, those can be added as well. For what it's worth, here is a complete list of the Qt6 devel packages installed on my Mageia 9 machine with Qt 6.4. I don't think every one of them is needed by gnuplot, but you can at least get an idea of which modules have a separate devel package. qtbase6-common-devel-6.4.1 lib64qt6core-devel-6.4.1 lib64qt6opengl-devel-6.4.1 lib64qt6xcbqpa-devel-6.4.1 lib64qt6dbus-devel-6.4.1 lib64qt6gui-devel-6.4.1 lib64qt6eglfsdeviceintegration-devel-6.4.1 lib64qt6core5compat-devel-6.4.1 lib64qt6widgets-devel-6.4.1 lib64qt6printsupport-devel-6.4.1 lib64qt6network-devel-6.4.1 lib64qt6svg-devel-6.4.1 The list for Qt6.6 is longer, but I have not had to modify anything to configure and link gnuplot. I think Qt is now up to version 6.7 but I have not tried that yet. Ethan On Thursday, 16 May 2024 14:31:38 PDT Peter Rockett via gnuplot-info wrote: > OK. But I am not sure that helps me with my Debian-based problem. And > hacking configure.ac files is not something I could do without an awful > lot of work. > > When I ignore the configure output and just run make anyway, my build > chokes on: > > qtterminal/qt_term.cpp:51:10: fatal error: QtCore: No such file or directory > 51 | #include <QtCore> > > Note: different from Hernán's issue that chokes on #include <QApplication> > > On Mint (derived from Debian), looking in > /usr/include/x86_64-linux-gnu/qt6/QtCore, I can see no header called > QtCore! (Note the architecture-dependent path!) So I am clearly missing > some dependency. > > "I am surprised that the various linux distros have diverged so much in > how they split up Qt components for packaging." Indeed. I was reading > Hernán's post and the list of stunningly obvious package names in > openSUSE, and thinking "This looks so sensible!" (compared to the > hunt-the-dependency dog's breakfast that is the Debian packaging of Qt). > Bear in mind that Ubuntu is one of the most popular Linux distros. > > This may pose a troublesome issue for gnuplot going forward. It seems > that the gnuplot build has /de facto/ been broken already - maybe some > adaptive maintenance is needed? P. > > > On 16/05/2024 18:54, Ethan Merritt wrote: > > On Thursday, 16 May 2024 00:25:24 PDT Hernán De Angelis wrote: > >> Well it seems that I am now having some issues building as well ... QtApplication and QtWidget are apparently not found. > >> > >> In file included from qtterminal/qt_term.cpp:78: > >> > >> qtterminal/QtGnuplotApplication.h:49:10: fatal error: QApplication: No such file or directory > >> > >> 49 | #include <QApplication> > >> > >> | ^~~~~~~~~~~~~~ > >> > >> compilation terminated. > > This was recently reported for Fedora also. In the Fedora case the answer was to > > add Qt6Widgets as a separate dependency in the autotools configure.ac script. > > The package itself was already pulled in by other Qt dependencies, but apparently > > without a separate test the compiler preprocessor flag -I/usr/include/qt6/QtWidgets > > was not added to the Makefile. Adding that to environmental variable CXX_FLAGS > > prior to running "./configure" may be sufficient to get you going for now. > > > > https://sourceforge.net/p/gnuplot/bugs/2705/ > > > > I am surprised that the various linux distros have diverged so much in how they > > split up Qt components for packaging. > > > > When you figure out what the missing piece is for building on Mint, please let me > > know so I can add that fix to the gnuplot patchlevel 6.0.1 release. > > > > Ethan > > > >> make[4]: *** [Makefile:1044: qtterminal/qt_term.o] Error 1 > >> > >> make[4]: *** Waiting for unfinished jobs.... > >> > >> In file included from qtterminal/qt_embed_example.cpp:44: > >> > >> qtterminal/qt_embed_example.h:51:10: fatal error: QWidget: No such file or directory > >> > >> 51 | #include <QWidget> > >> > >> | ^~~~~~~~~ > >> > >> compilation terminated. > >> > >> make[4]: *** [Makefile:1044: qtterminal/qt_embed_example.o] Error 1 > >> > >> In file included from qtterminal/QtGnuplotInstance.cpp:45: > >> > >> qtterminal/QtGnuplotWidget.h:49:10: fatal error: QWidget: No such file or directory > >> > >> 49 | #include <QWidget> > >> > >> | ^~~~~~~~~ > >> > >> compilation terminated. > >> > >> make[4]: *** [Makefile:1044: qtterminal/QtGnuplotInstance.o] Error 1 > >> > >> In file included from qtterminal/gnuplot_qt.cpp:44: > >> > >> qtterminal/QtGnuplotApplication.h:49:10: fatal error: QApplication: No such file or directory > >> > >> 49 | #include <QApplication> > >> > >> | ^~~~~~~~~~~~~~ > >> > >> compilation terminated. > >> > >> > >> Den 2024-05-16 kl. 09:08, skrev Hernán De Angelis: > >>> Peter, > >>> > >>> I always build gnuplot from source, although in openSUSE Tumbleweed. > >>> With 6.0.0 I had some problems too. Those were solved by looking at > >>> the error messages and installing the corresponding packages. I ended > >>> up having a lot of Qt6 packages but Since I build other things based > >>> in Qt I do not see this as problematic. Perhaps the list below helps, > >>> with packages as they are referred to in openSUSE. > >>> > >>> Good luck > >>> > >>> H. > >>> > >>> > >>> No package 'Qt6Core' found > >>> > >>> qt6-core-devel | Development files for the Qt 6 Core library > >>> > >>> > >>> No package 'Qt6Gui' found > >>> > >>> qt6-gui-devel | Development files for the Qt 6 GUI libraries > >>> > >>> > >>> No package 'Qt6Network' found > >>> > >>> qt6-network-devel | Development files for the Qt 6 Network > >>> library > >>> > >>> > >>> No package 'Qt6Svg' found > >>> > >>> qt6-svg-devel | Qt 6 SVG libraries - Development files > >>> > >>> > >>> No package 'Qt6PrintSupport' found > >>> > >>> qt6-printsupport-devel | Development files for the Qt 6 PrintSupport > >>> library > >>> > >>> > >>> No package 'Qt6Core5Compat' found > >>> > >>> qt6-qt5compat-devel | Qt 6 Core 5 Compat library - Development files > >>> > >>> > >>> Den 2024-05-15 kl. 21:58, skrev Peter Rockett via gnuplot-info: > >>>> Hi > >>>> > >>>> I am trying to build gnuplot 6.0.0 on Linux Mint 21.3 from source but > >>>> struggling with the Qt dependencies. I used to be able to build > >>>> gnuplot 5 no problem using just qt5-base-dev and libqt5svg5-dev but > >>>> running ./configure for gnuplot 6.0.0 with what seem to be the Qt6 > >>>> versions of these same packages installed (qt6-base-dev and > >>>> libqt6svg6-dev) returns: > >>>> > >>>> No package 'Qt6Core' found > >>>> No package 'Qt6Gui' found > >>>> No package 'Qt6Network' found > >>>> No package 'Qt6Svg' found > >>>> No package 'Qt6PrintSupport' found > >>>> No package 'Qt6Core5Compat' found > >>>> > >>>> Also, adding libqt6core5compat6-dev does not fix the last of these > >>>> errors (about 'Qt6Core5Compat'). > >>>> > >>>> Does anybody know the list of Qt6 packages I need to satisfy the > >>>> above dependencies? From what I can see, qt6-base-dev should provide > >>>> the core, gui, network and print support stuff but it plainly does > >>>> not. Similarly, the svg package should provide the svg stuff. > >>>> > >>>> Peter |