From: Peter R. <p.r...@sh...> - 2024-05-18 07:40:41
|
Ethan Great job! Thanks. Just to clarify the source of the problem: If I take your example Qt6Core.pc, I can find this in the Debian packages (https://www.debian.org/distrib/packages) but searching for the same file in Ubuntu (https://packages.ubuntu.com/) fails to find the the .pc file. The file list for the Ubuntu qt6-base-dev package doesn't contain any .pc files, that I can see. So that suggests that the problem lies in the Debian-to-Ubuntu step, not the Ubuntu-to-Mint step. I mention this because, AFAIU, Mint pull most of their stuff directly from the Ubuntu repo. So I am thinking that I ought to raise with Ubuntu, not Mint. P. On 17/05/2024 18:48, Ethan Merritt wrote: > 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 >> > > > > > > _______________________________________________ > gnuplot-info mailing list > gnu...@li... > Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-info |