Re: libgit2-dev and detection in subsurface/scripts/build.sh

2020-10-15 Thread Cristian Ionescu-Idbohrn via subsurface
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

2020-10-12 Thread Cristian Ionescu-Idbohrn via subsurface
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

2020-10-11 Thread Cristian Ionescu-Idbohrn via subsurface
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

2020-10-11 Thread Cristian Ionescu-Idbohrn via subsurface
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)

2020-10-10 Thread Cristian Ionescu-Idbohrn via subsurface
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

2020-10-10 Thread Cristian Ionescu-Idbohrn via subsurface
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

2020-10-10 Thread Cristian Ionescu-Idbohrn via subsurface
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)

2020-10-01 Thread Cristian Ionescu-Idbohrn via subsurface
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)

2020-10-01 Thread Cristian Ionescu-Idbohrn via subsurface
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

2020-10-01 Thread Cristian Ionescu-Idbohrn via subsurface
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