From: Ethan M. <eam...@gm...> - 2024-05-17 17:49:07
|
After a fresh install of Mint 21.3 Virginia I ended up with the same problem you are seeing. I think the issue is that the pkg-config files are missing from the Mint packages. For example searching the Ubuntu/Debian package repository for Qt6Core.pc reports /usr/lib/x86_64-linux-gnu/pkgconfig/Qt6Core.pc qt6-base-dev [amd64] but the Mint package qt6-base-dev is missing this file. It looks like all the Qt6*-dev packages are missing these files. You could pull or reconstruct the *.pc files from Ubuntu, or build them directly from upstream Qt, but really I think you should report this as a packaging bug to Mint and hope that they can release amended packages. Meanwhile you can recreate what these files should have done by manually setting the corresponding environmental variables: $ export QT_CFLAGS="-I/usr/include/x86_64-linux-gnu/qt6/QtCore -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/lib64/qt6/mkspecs/linux-g++ -I/usr/include/x86_64-linux-gnu/qt6/QtGui -I/usr/include/x86_64-linux-gnu/qt6/QtNetwork -DQT_NETWORK_LIB -I/usr/include/x86_64-linux-gnu/qt6/QtSvg -DQT_SVG_LIB -I/usr/include/x86_64-linux-gnu/qt6/QtPrintSupport -DQT_PRINTSUPPORT_LIB -I/usr/include/x86_64-linux-gnu/qt6/QtWidgets -DQT_WIDGETS_LIB -DQT_GUI_LIB -I/usr/include/x86_64-linux-gnu/qt6/QtCore5Compat -DQT_CORE5COMPAT_LIB -DQT_CORE_LIB" $ export QT_LIBS="-lQt6Network -lQt6Svg -lQt6PrintSupport -lQt6Widgets -lQt6Gui -lQt6Core5Compat -lQt6Core" $ export RCC=/usr/bin/rcc $ export UIC=/usr/bin/uic $ ./configure Configure succeeds, but the build failed because the system-provided uic is from Qt5 rather than Qt6. I could not figure out which Mint package provides uic-qt6. Maybe this is another package deficiency? that's the best I can do for now Ethan On Friday, 17 May 2024 05:42:59 PDT Hernán De Angelis wrote: > I have looked at this again and did not manage to solve anything. > > A few possibly relevant comments: > > - adding Qt6Widgets in line 1065 of configure,ac does not solve the issue: > > 1065 PKG_CHECK_MODULES_NOFAIL(QT, [Qt6Core Qt6Gui Qt6Network > Qt6Svg Qt6PrintSupport Qt6Core5Compat Qt6Widgets]) > > but -Qt6Widgets is not included in config.status > > 644 S["QT_LIBS"]="-lQt6Network -lQt6Svg -lQt6Gui -lQt6PrintSupport > -lQt6Core5Compat -lQt6Core" > > Admittedly, I am not an expert on this things. But I find it baffling > that everything seems to be in place yet Qt6Widgetsis not found. Also > QtApplication is problematic but I did not look in detail. > > > - And in case this is of interest: line 16323 of the configure script: > "Enable parsing of deprecated syntax" should be commented. It is not in > the original file and givs a warning that the Enable command is not found. > > Nothing of this is possibly a gnuplot problem. But would be nice to get > it working. > > > Have a nice day > > H. > > > > Den 2024-05-17 kl. 03:02, skrev Ethan Merritt: > > 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 > > > > > > > > > > _______________________________________________ > > gnuplot-info mailing list > > gnu...@li... > > Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-info > > > _______________________________________________ > gnuplot-info mailing list > gnu...@li... > Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-info > |