Re: libgit2-dev and detection in subsurface/scripts/build.sh
On Wed, 14 Oct 2020, Dirk Hohndel via subsurface wrote: > > I actually think that this isn't a bad idea. Except that it also > should have a clause that allows ldconfig to be found in the PATH, > right? Sure, but are there distributions out there that place ldconfig in the non-root PATH? > Would you mind submitting a PR for that, or would you prefer that I > do this based on your idea? I think it's best you train your shell scripting skills a bit ;) Cheers, -- Cristian ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: fatal error: QPrintDialog: No such file or directory
On Sun, 11 Oct 2020, Robert Helling via subsurface wrote: > > Building in a fresh build directory without webkit option I get the > error from > > #ifndef NO_PRINTING > #include > #include > #include "desktop-widgets/printdialog.h" > #endif > > Somehow, NO_PRINTING seems not to be defined. It appears Commit 48adaf52971965a0e1465ea834cbe930d3c65ec4 did the trick. Cheers, -- Cristian ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
libgit2-dev and detection in subsurface/scripts/build.sh
Debian unstable here. I did not have libgit2-dev installed and noticed this in build.log: ./subsurface/scripts/build.sh: line 268: ldconfig: command not found realpath: missing operand Try 'realpath --help' for more information. That's because ldconfig is installed in /sbin/ldconfig and a non-root user does not normally have access to /sbin. Thus the detection will always fail. So, some sort of detection would be needed. Something like: if [ -x /sbin/ldconfig ]; then LDCONFIG=/sbin/ldconfig elif [ -x /usr/sbin/ldconfig ]; then LDCONFIG=/usr/sbin/ldconfig else echo "no acces to ldconfig" >&2 exit 1 fi LIBGIT=$(realpath $($LDCONFIG -p | grep libgit2\\.so\\. | cut -d\ -f4) | awk -Fo '{ print $NF }') maybe? Cheers, -- Cristian ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: fatal error: QPrintDialog: No such file or directory
On Sun, 11 Oct 2020, Dirk Hohndel wrote: > > I'll try again. Just did. Same error: [ 56%] Building CXX object desktop-widgets/CMakeFiles/subsurface_interface.dir/mainwindow.cpp.o .../subsurface/desktop-widgets/mainwindow.cpp:59:10: fatal error: QPrintDialog: No such file or directory 59 | #include | ^~ compilation terminated. make[2]: *** [desktop-widgets/CMakeFiles/subsurface_interface.dir/build.make:477: desktop-widgets/CMakeFiles/subsurface_interface.dir/mainwindow.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs > For me, on both Linux and Mac, all I needed to do in the build > directory was to run 'cmake .' and then a make completed fine. $ cmake . CMake Deprecation Warning at CMakeLists.txt:11 (cmake_policy): The OLD behavior for policy CMP0071 will be removed from a future version of CMake. The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD. -- GCC optimization flags: -O2 -- building without usermanual -- system name Linux -- Configuring done -- Generating done -- Build files have been written to: .../subsurface/build $ make [...] [ 49%] Building CXX object desktop-widgets/CMakeFiles/subsurface_interface.dir/mainwindow.cpp.o .../subsurface/desktop-widgets/mainwindow.cpp:59:10: fatal error: QPrintDialog: No such file or directory 59 | #include | ^~ compilation terminated. > I can also tell from the test builds that a fresh checkout works fine. Not here :( [ 56%] Building CXX object desktop-widgets/CMakeFiles/subsurface_interface.dir/mainwindow.cpp.o /tmp/dive/subsurface/desktop-widgets/mainwindow.cpp:59:10: fatal error: QPrintDialog: No such file or directory 59 | #include | ^~ compilation terminated. make[2]: *** [desktop-widgets/CMakeFiles/subsurface_interface.dir/build.make:477: desktop-widgets/CMakeFiles/subsurface_interface.dir/mainwindow.cpp.o] Error 1 > so you actually do an 'rm -rf subsurface/build' and then run the > build script and you still get that error? Yes. > That's... puzzling. And rather surprising. Yes. > But it's of course entirely possible that I messed something up when > making this change. As mentioned, after checking out commit b3e28eed5d08cbbbcc640875f9b0f2e5f0af3506 builds fine, but commit 7f896ee8d50152e85c6f40ff800c5ad8f9ba4124 breaks my build with the above error. It appears this /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport header directory is missing from the build. > Which OS are you? Maybe I can reproduce this and then fix it. Debian unstable or testing. Cheers, -- Cristian ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: *** SPAM *** (was: Re: fatal error: QPrintDialog: No such file or directory)
On Sat, 10 Oct 2020, Robert Helling via subsurface wrote: > On 10. Oct 2020, at 18:46, Dirk Hohndel via subsurface > mailto:subsurface@subsurface-divelog.org>> > wrote: > > This is indeed a result of the recent removal of Grantlee and then > not rerunning cmake. Not sure I'm following. > In theory that should happen automatically through Makefile > dependency, but my guess is something went wrong there for you ;-) Yes. > Can you remove your build directory and start again running > subsurface/scripts/build.sh from the directory 'above' the > subsurface directory? That's exactly what I did and stated. > All the tests passed, but they of course always build from scratch... And I did that too. > as I wrote in the discussion of your pull request, I had the same > error message when running the build script from a fresh checkout > without the —with-webkit option. It should be „no webkit“ => „no > printing“ => this file should not be included. That should be clearly documented, else it will confuse people. So, what do I need to do besides stating with a clean clone? > Busy right now, But could look into this a bit later. Alright. Cheers, -- Cristian ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: fatal error: QPrintDialog: No such file or directory
On Sat, 10 Oct 2020, Dirk Hohndel via subsurface wrote: > > On Oct 10, 2020, at 1:55 AM, Cristian Ionescu-Idbohrn via subsurface > > wrote: > > > > Anyone else experiences this? Does this have anything to do with the > > recent effort to "remove Grantlee references"? It would seem so, as > > the code builds on commit b3f5473b66b8210d1276f197876e0e2d7bbd6fa7. > > > > The error message is: > > > > .../subsurface/desktop-widgets/mainwindow.cpp:59:10: fatal error: > > QPrintDialog: No such file or directory > > 59 | #include > > | ^~ > > compilation terminated. > > make[2]: *** > > [desktop-widgets/CMakeFiles/subsurface_interface.dir/build.make:477: > > desktop-widgets/CMakeFiles/subsurface_interface.dir/mainwindow.cpp.o] Error > > 1 > > > > Both QPrintDialog and qprintdialog.h files exist and belong to package > > qtbase5-dev (version 5.14.2+dfsg-6, debian unstable): > > > > $ ls -l > > /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/{QPrintDialog,qprintdialog.h} > > -rw-r--r-- 1 root root 26 Mar 27 2020 > > /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QPrintDialog > > -rw-r--r-- 1 root root 3589 Mar 27 2020 > > /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qprintdialog.h > > > > and it appears they have been there for a while, or moved there from > > elsewhere. > > > This is indeed a result of the recent removal of Grantlee and then > not rerunning cmake. > In theory that should happen automatically through Makefile > dependency, but my guess is something went wrong there for you ;-) > > Can you remove your build directory and start again running > subsurface/scripts/build.sh from the directory 'above' the > subsurface directory? > All the tests passed, but they of course always build from > scratch... Thing is I got the same result after cleaning up my build tree as after cloning a brand new one. As said, backing to commit b3f5473b66b8210d1276f197876e0e2d7bbd6fa7 solved the problem. Cheers, -- Cristian ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
fatal error: QPrintDialog: No such file or directory
Anyone else experiences this? Does this have anything to do with the recent effort to "remove Grantlee references"? It would seem so, as the code builds on commit b3f5473b66b8210d1276f197876e0e2d7bbd6fa7. The error message is: .../subsurface/desktop-widgets/mainwindow.cpp:59:10: fatal error: QPrintDialog: No such file or directory 59 | #include | ^~ compilation terminated. make[2]: *** [desktop-widgets/CMakeFiles/subsurface_interface.dir/build.make:477: desktop-widgets/CMakeFiles/subsurface_interface.dir/mainwindow.cpp.o] Error 1 Both QPrintDialog and qprintdialog.h files exist and belong to package qtbase5-dev (version 5.14.2+dfsg-6, debian unstable): $ ls -l /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/{QPrintDialog,qprintdialog.h} -rw-r--r-- 1 root root 26 Mar 27 2020 /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QPrintDialog -rw-r--r-- 1 root root 3589 Mar 27 2020 /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/qprintdialog.h and it appears they have been there for a while, or moved there from elsewhere. Cheers, -- Cristian ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: libqtgeoservices_googlemaps.so: undefined symbol: _ZN7QGeoMap25fitViewportToGeoRectangleERK13QGeoRectangle)
On Thu, 1 Oct 2020, Dirk Hohndel wrote: > > On Oct 1, 2020, at 6:18 AM, Cristian Ionescu-Idbohrn via subsurface > > wrote: > > > > On Thu, 1 Oct 2020, JB2Cool wrote: > >> > >> Strange, i built this just a few days ago on lots of different > >> distros (Debian Buster (albeit stable) was one of them) and it built > >> just fine. Can you try cloning the repo to a fresh directory and > >> retrying a build and see if that is any better. Googling around some > >> have said that by ditching any previous folders and starting afresh > >> this worked ok. > > > > As said... > > One thing that often goes wrong after a distro upgrade with new Qt > version is that people rebuild Subsurface, but not the other libs. > Can you remove the install-root directory, as well as the build > directories under googllemaps and grantee Then run the build.sh > script again to ensure those libraries are rebuilt against the > current Qt version No grantee here, but removing the install-root directory seems to have done the trick. So, this was a runtime, not buildtime, problem. Cheers, -- Cristian ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: libqtgeoservices_googlemaps.so: undefined symbol: _ZN7QGeoMap25fitViewportToGeoRectangleERK13QGeoRectangle)
On Thu, 1 Oct 2020, JB2Cool wrote: > > Strange, i built this just a few days ago on lots of different > distros (Debian Buster (albeit stable) was one of them) and it built > just fine. Can you try cloning the repo to a fresh directory and > retrying a build and see if that is any better. Googling around some > have said that by ditching any previous folders and starting afresh > this worked ok. As said... > On Thu, 1 Oct 2020 at 09:07, Cristian Ionescu-Idbohrn via subsurface > mailto:subsurface@subsurface-divelog.org>> > wrote: > Any ideas? This is debian unstable, own build from fresh master: ...^^^ I have no clues :( $ readelf -a googlemaps/build/libqtgeoservices_googlemaps.so | grep _ZN7QGeoMap25fit 0002f8c8 00620001 R_X86_64_64 _ZN7QGeoMap25fitV[...] + 0 98: 0 NOTYPE GLOBAL DEFAULT UND _ZN7QGeoMap25fit[...] 414: 0 NOTYPE GLOBAL DEFAULT UND _ZN7QGeoMap25fit[...] $ readelf -a googlemaps/build/libqtgeoservices_googlemaps.so | grep NEEDED 0x0001 (NEEDED) Shared library: [libQt5Location.so.5] 0x0001 (NEEDED) Shared library: [libQt5Gui.so.5] 0x0001 (NEEDED) Shared library: [libQt5Positioning.so.5] 0x0001 (NEEDED) Shared library: [libQt5Network.so.5] 0x0001 (NEEDED) Shared library: [libQt5Core.so.5] 0x0001 (NEEDED) Shared library: [libstdc++.so.6] 0x0001 (NEEDED) Shared library: [libc.so.6] $ dpkg -l libqt5location5 libqt5positioning5 qtlocation5-dev qtpositioning5-dev libqt5gui5 libqt5network5 libqt5core5a | cat Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++--=--== ii libqt5core5a:amd64 5.14.2+dfsg-6 amd64Qt 5 core module ii libqt5gui5:amd64 5.14.2+dfsg-6 amd64Qt 5 GUI module ii libqt5location5:amd645.14.2+dfsg-2 amd64Qt Location module ii libqt5network5:amd64 5.14.2+dfsg-6 amd64Qt 5 network module ii libqt5positioning5:amd64 5.14.2+dfsg-2 amd64Qt Positioning module ii qtlocation5-dev 5.14.2+dfsg-2 amd64Qt 5 Location development files ii qtpositioning5-dev:amd64 5.14.2+dfsg-2 amd64Qt 5 Positioning development files Cheers, -- Cristian ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
libqtgeoservices_googlemaps.so: undefined symbol: _ZN7QGeoMap25fitViewportToGeoRectangleERK13QGeoRectangle
Any ideas? This is debian unstable, own build from fresh master: ... Got keys from plugin meta data ("here") QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/geoservices/libqtgeoservices_osm.so" Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/geoservices/libqtgeoservices_osm.so, metadata= { "IID": "org.qt-project.qt.geoservice.serviceproviderfactory/5.0", "MetaData": { "Experimental": false, "Features": [ "OnlineMappingFeature", "OnlineGeocodingFeature", "ReverseGeocodingFeature", "OnlineRoutingFeature", "OnlinePlacesFeature" ], "Keys": [ "osm" ], "Provider": "osm", "Version": 100 }, "archreq": 0, "className": "QGeoServiceProviderFactoryOsm", "debug": false, "version": 331264 } Got keys from plugin meta data ("osm") QFactoryLoader::QFactoryLoader() checking directory path ".../subsurface/build/geoservices" ... QFactoryLoader::QFactoryLoader() looking at ".../subsurface/build/geoservices/libqtgeoservices_googlemaps.so" Found metadata in lib .../install-root/usr/lib/x86_64-linux-gnu/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so, metadata= { "IID": "org.qt-project.qt.geoservice.serviceproviderfactory/5.0", "MetaData": { "Experimental": false, "Features": [ "OnlineGeocodingFeature", "ReverseGeocodingFeature", "OnlineRoutingFeature", "AlternativeRoutesFeature", "OnlineMappingFeature", "SearchSuggestionsFeature" ], "Keys": [ "googlemaps" ], "Provider": "googlemaps", "Version": 100 }, "archreq": 0, "className": "QGeoServiceProviderFactoryGooglemaps", "debug": false, "version": 331264 } Got keys from plugin meta data ("googlemaps") Cannot load library .../install-root/usr/lib/x86_64-linux-gnu/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so: (.../install-root/usr/lib/x86_64-linux-gnu/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so: undefined symbol: _ZN7QGeoMap25fitViewportToGeoRectangleERK13QGeoRectangle) QLibraryPrivate::loadPlugin failed on ".../install-root/usr/lib/x86_64-linux-gnu/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so" : "Cannot load library .../install-root/usr/lib/x86_64-linux-gnu/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so: (.../install-root/usr/lib/x86_64-linux-gnu/qt5/plugins/geoservices/libqtgeoservices_googlemaps.so: undefined symbol: _ZN7QGeoMap25fitViewportToGeoRectangleERK13QGeoRectangle)" 5 , "loader()->instance(idx) failed to return an instance. Set the environment variable QT_DEBUG_PLUGINS to see more details." qrc:/qml/MapWidget.qml:24: Error: Cannot assign [undefined] to QDeclarativeGeoMapType* QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/x86_64-linux-gnu/qt5/plugins/accessiblebridge" ... QFactoryLoader::QFactoryLoader() checking directory path ".../subsurface/build/accessiblebridge" ... Cheers, -- Cristian ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface