Re: removing Marble traces from the Subsurface tree
On Thu, Aug 24, 2017 at 11:49 PM, Lubomir I. Ivanov wrote: > with the new map widget we started phasing out the Marble globe... > the transition is smooth in the lines of using NO_MARBLE as toggle - > i.e. it either uses Marble or QtLocation. > > we should probably start removing it as a dependency from both c++, > cmake and build scripts (i might needs some help for the later). but > the question is - should we? do we want to keep it? > > i got no issue reports about the new Map widget which means all is good with > it. Any idea about the following error message? qrc:/MapWidget.qml:45: Error: Cannot assign [undefined] to QDeclarativeGeoMapType* qml: MapWidget.qml: cannot find a plugin with the name 'googlemaps' I am currently getting no map when compiling myself. I am pretty sure it did work earlier with this laptop, but not anymore. But then again, it might have been different laptop where the new map was working. miika ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 24, 2017, at 8:55 PM, Miika Turkia wrote: > > On Thu, Aug 24, 2017 at 11:49 PM, Lubomir I. Ivanov > wrote: >> with the new map widget we started phasing out the Marble globe... >> the transition is smooth in the lines of using NO_MARBLE as toggle - >> i.e. it either uses Marble or QtLocation. >> >> we should probably start removing it as a dependency from both c++, >> cmake and build scripts (i might needs some help for the later). but >> the question is - should we? do we want to keep it? >> >> i got no issue reports about the new Map widget which means all is good with >> it. > > Any idea about the following error message? > > qrc:/MapWidget.qml:45: Error: Cannot assign [undefined] to > QDeclarativeGeoMapType* > qml: MapWidget.qml: cannot find a plugin with the name 'googlemaps' It's exactly what it says. It can't find the plugin. No one has dealt with the case where the plugin isn't installed system wide on Linux. I simply haven't had the time to look at it. I think I have both the Windows and Mac package working. And Linux works IFF you install the googlemaps plugin systemwide. But if it's only in install-root, we don't pick it up when running the local binary. We did a lot of copying stuff around for Marble to deal with exactly the same problem, but we need to replicate that for this plugin. /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 06:55, Miika Turkia wrote: > On Thu, Aug 24, 2017 at 11:49 PM, Lubomir I. Ivanov > wrote: >> with the new map widget we started phasing out the Marble globe... >> the transition is smooth in the lines of using NO_MARBLE as toggle - >> i.e. it either uses Marble or QtLocation. >> >> we should probably start removing it as a dependency from both c++, >> cmake and build scripts (i might needs some help for the later). but >> the question is - should we? do we want to keep it? >> >> i got no issue reports about the new Map widget which means all is good with >> it. > > Any idea about the following error message? > > qrc:/MapWidget.qml:45: Error: Cannot assign [undefined] to > QDeclarativeGeoMapType* > qml: MapWidget.qml: cannot find a plugin with the name 'googlemaps' > > I am currently getting no map when compiling myself. I am pretty sure > it did work earlier with this laptop, but not anymore. But then again, > it might have been different laptop where the new map was working. > Miika, Dirk already explained the situation. can you please try the following: 1) before running the Subsurface binary that you've build add the following: $ export QT_DEBUG_PLUGINS=1 and look for output related to "googlemaps". basically, Qt is supposed to look *not only* in the default plugin folders protected by root access: http://doc.qt.io/qt-5/deployment-plugins.html 2) what happens if you put the google maps plugin ".so" that you've build next to the Subsurface binary in the following path: /plugins/geoservices/libqtgeoservices_googlemaps.so ? we may have to attempt using QCoreApplication::addLibraryPath() for this to work, but to my understanding we shouldn't. lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 7:23 AM, Lubomir I. Ivanov wrote: > > On 25 August 2017 at 06:55, Miika Turkia wrote: >> On Thu, Aug 24, 2017 at 11:49 PM, Lubomir I. Ivanov >> wrote: >>> with the new map widget we started phasing out the Marble globe... >>> the transition is smooth in the lines of using NO_MARBLE as toggle - >>> i.e. it either uses Marble or QtLocation. >>> >>> we should probably start removing it as a dependency from both c++, >>> cmake and build scripts (i might needs some help for the later). but >>> the question is - should we? do we want to keep it? >>> >>> i got no issue reports about the new Map widget which means all is good >>> with it. >> >> Any idea about the following error message? >> >> qrc:/MapWidget.qml:45: Error: Cannot assign [undefined] to >> QDeclarativeGeoMapType* >> qml: MapWidget.qml: cannot find a plugin with the name 'googlemaps' >> >> I am currently getting no map when compiling myself. I am pretty sure >> it did work earlier with this laptop, but not anymore. But then again, >> it might have been different laptop where the new map was working. >> > > Miika, Dirk already explained the situation. > > can you please try the following: > 1) before running the Subsurface binary that you've build add the following: > $ export QT_DEBUG_PLUGINS=1 > and look for output related to "googlemaps". > > basically, Qt is supposed to look *not only* in the default plugin > folders protected by root access: > http://doc.qt.io/qt-5/deployment-plugins.html > > 2) what happens if you put the google maps plugin ".so" that you've > build next to the Subsurface binary in the following path: > /plugins/geoservices/libqtgeoservices_googlemaps.so > ? > > we may have to attempt using QCoreApplication::addLibraryPath() for > this to work, but to my understanding we shouldn't. Please try the latest master. For me this works no when running Subsurface from its build directory (assuming the googlemaps plugin was installed into the install_root) /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
Miika, > Am 25.08.2017 um 05:55 schrieb Miika Turkia : > > Any idea about the following error message? > > qrc:/MapWidget.qml:45: Error: Cannot assign [undefined] to > QDeclarativeGeoMapType* > qml: MapWidget.qml: cannot find a plugin with the name 'googlemaps' Are you positive the plugin was built correctly? On my macs there was a problem with the sed script. I had to go to the directory and make and make install explicitly. Then everything worked like charm. Best Robert ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On Fri, Aug 25, 2017 at 8:30 PM, Robert C. Helling wrote: > Miika, > >> Am 25.08.2017 um 05:55 schrieb Miika Turkia : >> >> Any idea about the following error message? >> >> qrc:/MapWidget.qml:45: Error: Cannot assign [undefined] to >> QDeclarativeGeoMapType* >> qml: MapWidget.qml: cannot find a plugin with the name 'googlemaps' > > Are you positive the plugin was built correctly? On my macs there was a > problem with the sed script. I had to go to the directory and make and make > install explicitly. Then everything worked like charm. > That is the thing. There is no googlemaps ---8<--- Cloning into 'googlemaps'... Already on 'master' Your branch is up-to-date with 'origin/master'. Current branch master is up to date. Project ERROR: No module claims plugin type 'geoservices' sed: can't read Makefile: No such file or directory make: *** No targets specified and no makefile found. Stop. make: *** No rule to make target 'install'. Stop. ---8<--- And no makefiles in the build dir either. Been trying to figure this out for quite some time to no avail. miika ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 20:47, Miika Turkia wrote: > On Fri, Aug 25, 2017 at 8:30 PM, Robert C. Helling > wrote: >> Miika, >> >>> Am 25.08.2017 um 05:55 schrieb Miika Turkia : >>> >>> Any idea about the following error message? >>> >>> qrc:/MapWidget.qml:45: Error: Cannot assign [undefined] to >>> QDeclarativeGeoMapType* >>> qml: MapWidget.qml: cannot find a plugin with the name 'googlemaps' >> >> Are you positive the plugin was built correctly? On my macs there was a >> problem with the sed script. I had to go to the directory and make and make >> install explicitly. Then everything worked like charm. >> > > That is the thing. There is no googlemaps > ---8<--- > Cloning into 'googlemaps'... > Already on 'master' > Your branch is up-to-date with 'origin/master'. > Current branch master is up to date. > Project ERROR: No module claims plugin type 'geoservices' > sed: can't read Makefile: No such file or directory > make: *** No targets specified and no makefile found. Stop. > make: *** No rule to make target 'install'. Stop. > ---8<--- > > And no makefiles in the build dir either. Been trying to figure this > out for quite some time to no avail. > looks like that qmake cannot distinguish the module "geoservices". TMK this is declared here: https://github.com/qt/qtlocation/blob/5.9/src/location/location.pro#L21 as: MODULE_PLUGIN_TYPES = geoservices so when the google maps plugin is telling: PLUGIN_TYPE = geoservices this means that this plugin will be for the "location" module. why this errors for you though, i don't know... logically "No module claims plugin type 'geoservices'" probably means a missing MODULE_PLUGIN_TYPES definition in location.pro. what OS (distro) / Qt version is this? lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 10:47 AM, Miika Turkia wrote: > > On Fri, Aug 25, 2017 at 8:30 PM, Robert C. Helling > wrote: >> Miika, >> >>> Am 25.08.2017 um 05:55 schrieb Miika Turkia : >>> >>> Any idea about the following error message? >>> >>> qrc:/MapWidget.qml:45: Error: Cannot assign [undefined] to >>> QDeclarativeGeoMapType* >>> qml: MapWidget.qml: cannot find a plugin with the name 'googlemaps' >> >> Are you positive the plugin was built correctly? On my macs there was a >> problem with the sed script. I had to go to the directory and make and make >> install explicitly. Then everything worked like charm. >> > > That is the thing. There is no googlemaps > ---8<--- > Cloning into 'googlemaps'... > Already on 'master' > Your branch is up-to-date with 'origin/master'. > Current branch master is up to date. > Project ERROR: No module claims plugin type 'geoservices' > sed: can't read Makefile: No such file or directory > make: *** No targets specified and no makefile found. Stop. > make: *** No rule to make target 'install'. Stop. > ---8<--- > > And no makefiles in the build dir either. Been trying to figure this > out for quite some time to no avail. So do it manually (by the way, I always run the build script with bash -x) cd ~/src/googlemaps/build qmake ../googlemaps.pro INSTALL_ROOT=~/src/install-root make install which of the steps fails? :-) /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 10:30 AM, Robert C. Helling > wrote: > > Miika, > >> Am 25.08.2017 um 05:55 schrieb Miika Turkia : >> >> Any idea about the following error message? >> >> qrc:/MapWidget.qml:45: Error: Cannot assign [undefined] to >> QDeclarativeGeoMapType* >> qml: MapWidget.qml: cannot find a plugin with the name 'googlemaps' > > Are you positive the plugin was built correctly? On my macs there was a > problem with the sed script. I had to go to the directory and make and make > install explicitly. Then everything worked like charm. Can you debug what is wrong and send a patch (or at least share what's going wrong)? Thanks /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 11:07 AM, Lubomir I. Ivanov wrote: >> >> That is the thing. There is no googlemaps >> ---8<--- >> Cloning into 'googlemaps'... >> Already on 'master' >> Your branch is up-to-date with 'origin/master'. >> Current branch master is up to date. >> Project ERROR: No module claims plugin type 'geoservices' >> sed: can't read Makefile: No such file or directory >> make: *** No targets specified and no makefile found. Stop. >> make: *** No rule to make target 'install'. Stop. >> ---8<--- >> >> And no makefiles in the build dir either. Been trying to figure this >> out for quite some time to no avail. >> > > looks like that qmake cannot distinguish the module "geoservices". TMK > this is declared here: > https://github.com/qt/qtlocation/blob/5.9/src/location/location.pro#L21 > > as: > MODULE_PLUGIN_TYPES = geoservices > > so when the google maps plugin is telling: > PLUGIN_TYPE = geoservices > > this means that this plugin will be for the "location" module. > > why this errors for you though, i don't know... > logically "No module claims plugin type 'geoservices'" probably means > a missing MODULE_PLUGIN_TYPES definition in location.pro. > > what OS (distro) / Qt version is this? Ah. I haven't tried to build this against older Qt... all the platforms I am building this on (so far) are on 5.8 or newer. I wonder if that's the problem? /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 21:09, Dirk Hohndel wrote: > >> On Aug 25, 2017, at 11:07 AM, Lubomir I. Ivanov wrote: >>> >>> That is the thing. There is no googlemaps >>> ---8<--- >>> Cloning into 'googlemaps'... >>> Already on 'master' >>> Your branch is up-to-date with 'origin/master'. >>> Current branch master is up to date. >>> Project ERROR: No module claims plugin type 'geoservices' >>> sed: can't read Makefile: No such file or directory >>> make: *** No targets specified and no makefile found. Stop. >>> make: *** No rule to make target 'install'. Stop. >>> ---8<--- >>> >>> And no makefiles in the build dir either. Been trying to figure this >>> out for quite some time to no avail. >>> >> >> looks like that qmake cannot distinguish the module "geoservices". TMK >> this is declared here: >> https://github.com/qt/qtlocation/blob/5.9/src/location/location.pro#L21 >> >> as: >> MODULE_PLUGIN_TYPES = geoservices >> >> so when the google maps plugin is telling: >> PLUGIN_TYPE = geoservices >> >> this means that this plugin will be for the "location" module. >> >> why this errors for you though, i don't know... >> logically "No module claims plugin type 'geoservices'" probably means >> a missing MODULE_PLUGIN_TYPES definition in location.pro. >> >> what OS (distro) / Qt version is this? > > Ah. I haven't tried to build this against older Qt... all the platforms I am > building this on (so far) are on 5.8 or newer. I wonder if that's the problem? > i quick investigation shows that it was added 4 years ago: https://github.com/qt/qtlocation/commit/1e58cb04817a3ea6fbed45d5bbb9e6aea99b282d and i can see it as part of the 5.3 tree. https://github.com/qt/qtlocation/blob/5.3/src/location/location.pro#L4 i wonder why it triggers, unless Miika is running an older Qt version. lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 11:16 AM, Lubomir I. Ivanov wrote: > i quick investigation shows that it was added 4 years ago: > https://github.com/qt/qtlocation/commit/1e58cb04817a3ea6fbed45d5bbb9e6aea99b282d > > and i can see it as part of the 5.3 tree. > https://github.com/qt/qtlocation/blob/5.3/src/location/location.pro#L4 > > i wonder why it triggers, unless Miika is running an older Qt version. > On a fresh Ubuntu 16.10, after installing everything that's listed in INSTALL I get: qmake ../googlemaps.pro Project ERROR: Unknown module(s) in QT: location-private positioning-private hmm. /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On Fri, Aug 25, 2017 at 9:34 PM, Dirk Hohndel wrote: > >> On Aug 25, 2017, at 11:16 AM, Lubomir I. Ivanov wrote: >> i quick investigation shows that it was added 4 years ago: >> https://github.com/qt/qtlocation/commit/1e58cb04817a3ea6fbed45d5bbb9e6aea99b282d >> >> and i can see it as part of the 5.3 tree. >> https://github.com/qt/qtlocation/blob/5.3/src/location/location.pro#L4 >> >> i wonder why it triggers, unless Miika is running an older Qt version. >> > > On a fresh Ubuntu 16.10, after installing everything that's listed in INSTALL > I get: > > qmake ../googlemaps.pro > Project ERROR: Unknown module(s) in QT: location-private positioning-private That is what I hit also when attempting this build manually. (Ubuntu 16.04 with Qt 5.9.1) miika ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 21:42, Miika Turkia wrote: > On Fri, Aug 25, 2017 at 9:34 PM, Dirk Hohndel wrote: >> >>> On Aug 25, 2017, at 11:16 AM, Lubomir I. Ivanov wrote: >>> i quick investigation shows that it was added 4 years ago: >>> https://github.com/qt/qtlocation/commit/1e58cb04817a3ea6fbed45d5bbb9e6aea99b282d >>> >>> and i can see it as part of the 5.3 tree. >>> https://github.com/qt/qtlocation/blob/5.3/src/location/location.pro#L4 >>> >>> i wonder why it triggers, unless Miika is running an older Qt version. >>> >> >> On a fresh Ubuntu 16.10, after installing everything that's listed in >> INSTALL I get: >> >> qmake ../googlemaps.pro >> Project ERROR: Unknown module(s) in QT: location-private positioning-private > > That is what I hit also when attempting this build manually. (Ubuntu > 16.04 with Qt 5.9.1) > do you guys have the package "qtlocation5-dev" installed and if so do it install a folder named "QtLocation/private" in the folder which contains the Qt headers? lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 21:50, Lubomir I. Ivanov wrote: > On 25 August 2017 at 21:42, Miika Turkia wrote: >> On Fri, Aug 25, 2017 at 9:34 PM, Dirk Hohndel wrote: >>> On Aug 25, 2017, at 11:16 AM, Lubomir I. Ivanov wrote: i quick investigation shows that it was added 4 years ago: https://github.com/qt/qtlocation/commit/1e58cb04817a3ea6fbed45d5bbb9e6aea99b282d and i can see it as part of the 5.3 tree. https://github.com/qt/qtlocation/blob/5.3/src/location/location.pro#L4 i wonder why it triggers, unless Miika is running an older Qt version. >>> >>> On a fresh Ubuntu 16.10, after installing everything that's listed in >>> INSTALL I get: >>> >>> qmake ../googlemaps.pro >>> Project ERROR: Unknown module(s) in QT: location-private positioning-private >> >> That is what I hit also when attempting this build manually. (Ubuntu >> 16.04 with Qt 5.9.1) >> > > do you guys have the package "qtlocation5-dev" installed and if so do > it install a folder named "QtLocation/private" in the folder which > contains the Qt headers? > this has to be installed too: qtpositioning5-dev lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On Fri, Aug 25, 2017 at 9:50 PM, Lubomir I. Ivanov wrote: > On 25 August 2017 at 21:42, Miika Turkia wrote: >> On Fri, Aug 25, 2017 at 9:34 PM, Dirk Hohndel wrote: >>> On Aug 25, 2017, at 11:16 AM, Lubomir I. Ivanov wrote: i quick investigation shows that it was added 4 years ago: https://github.com/qt/qtlocation/commit/1e58cb04817a3ea6fbed45d5bbb9e6aea99b282d and i can see it as part of the 5.3 tree. https://github.com/qt/qtlocation/blob/5.3/src/location/location.pro#L4 i wonder why it triggers, unless Miika is running an older Qt version. >>> >>> On a fresh Ubuntu 16.10, after installing everything that's listed in >>> INSTALL I get: >>> >>> qmake ../googlemaps.pro >>> Project ERROR: Unknown module(s) in QT: location-private positioning-private >> >> That is what I hit also when attempting this build manually. (Ubuntu >> 16.04 with Qt 5.9.1) >> > > do you guys have the package "qtlocation5-dev" installed and if so do > it install a folder named "QtLocation/private" in the folder which > contains the Qt headers? It is installed, but no prviate directory. I do also have qtpositioning5-dev installed. miika ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 21:52, Miika Turkia wrote: > On Fri, Aug 25, 2017 at 9:50 PM, Lubomir I. Ivanov > wrote: >> On 25 August 2017 at 21:42, Miika Turkia wrote: >>> On Fri, Aug 25, 2017 at 9:34 PM, Dirk Hohndel wrote: > On Aug 25, 2017, at 11:16 AM, Lubomir I. Ivanov > wrote: > i quick investigation shows that it was added 4 years ago: > https://github.com/qt/qtlocation/commit/1e58cb04817a3ea6fbed45d5bbb9e6aea99b282d > > and i can see it as part of the 5.3 tree. > https://github.com/qt/qtlocation/blob/5.3/src/location/location.pro#L4 > > i wonder why it triggers, unless Miika is running an older Qt version. > On a fresh Ubuntu 16.10, after installing everything that's listed in INSTALL I get: qmake ../googlemaps.pro Project ERROR: Unknown module(s) in QT: location-private positioning-private >>> >>> That is what I hit also when attempting this build manually. (Ubuntu >>> 16.04 with Qt 5.9.1) >>> >> >> do you guys have the package "qtlocation5-dev" installed and if so do >> it install a folder named "QtLocation/private" in the folder which >> contains the Qt headers? > > It is installed, but no prviate directory. I do also have > qtpositioning5-dev installed. > it now looks like an debian/ubuntu packaging issue. the fedora dev package has them: http://webcache.googleusercontent.com/search?q=cache:HE27r0iiXaQJ:rpmfind.net/linux/RPM/fedora/devel/rawhide/aarch64/q/qt5-qtlocation-devel-5.9.0-2.fc27.aarch64.html+&cd=1&hl=bg&ct=clnk&gl=us lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 11:58 AM, Lubomir I. Ivanov wrote: > > On a fresh Ubuntu 16.10, after installing everything that's listed in > INSTALL I get: > > qmake ../googlemaps.pro > Project ERROR: Unknown module(s) in QT: location-private > positioning-private That is what I hit also when attempting this build manually. (Ubuntu 16.04 with Qt 5.9.1) >>> >>> do you guys have the package "qtlocation5-dev" installed and if so do >>> it install a folder named "QtLocation/private" in the folder which >>> contains the Qt headers? >> >> It is installed, but no prviate directory. I do also have >> qtpositioning5-dev installed. >> > > it now looks like an debian/ubuntu packaging issue. > > the fedora dev package has them: > http://webcache.googleusercontent.com/search?q=cache:HE27r0iiXaQJ:rpmfind.net/linux/RPM/fedora/devel/rawhide/aarch64/q/qt5-qtlocation-devel-5.9.0-2.fc27.aarch64.html+&cd=1&hl=bg&ct=clnk&gl=us I have googled up and down and indeed it seems like Debian based distros don't bundle the private headers / private qmake files, whereas Red Hat based distros as well as Arch Linux do. I haven't looked on OpenSUSE, yet. That's of course a problem... any creative solutions how we can help people on Ubuntu to be able to build this module? Thiago? /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 12:19 PM, Dirk Hohndel wrote: > > I have googled up and down and indeed it seems like Debian based distros > don't bundle the private headers / private qmake files, whereas Red Hat based > distros as well as Arch Linux do. I haven't looked on OpenSUSE, yet. > > That's of course a problem... any creative solutions how we can help people > on Ubuntu to be able to build this module? > > Thiago? I just created a pull request for vladest to remove the dependency on positioning-private (as that isn't needed), but location-private is indeed required and I'm not sure where to get that from on Ubuntu. /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 12:35 PM, Dirk Hohndel wrote: > > >> On Aug 25, 2017, at 12:19 PM, Dirk Hohndel wrote: >> >> I have googled up and down and indeed it seems like Debian based distros >> don't bundle the private headers / private qmake files, whereas Red Hat >> based distros as well as Arch Linux do. I haven't looked on OpenSUSE, yet. >> >> That's of course a problem... any creative solutions how we can help people >> on Ubuntu to be able to build this module? >> >> Thiago? > > I just created a pull request for vladest to remove the dependency on > positioning-private (as that isn't needed), but location-private is indeed > required and I'm not sure where to get that from on Ubuntu. https://answers.launchpad.net/ubuntu/+source/qtlocation-opensource-src/+question/265350 So this is a known problem with their packaging. So what we need to do is at build time is to determine the Linux flavor we are on, if Debian based, determine the Qt version, download the missing header files for that version, and build against those. YUCK. /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 22:35, Dirk Hohndel wrote: > >> On Aug 25, 2017, at 12:19 PM, Dirk Hohndel wrote: >> >> I have googled up and down and indeed it seems like Debian based distros >> don't bundle the private headers / private qmake files, whereas Red Hat >> based distros as well as Arch Linux do. I haven't looked on OpenSUSE, yet. >> >> That's of course a problem... any creative solutions how we can help people >> on Ubuntu to be able to build this module? >> >> Thiago? > > I just created a pull request for vladest to remove the dependency on > positioning-private (as that isn't needed), but location-private is indeed > required and I'm not sure where to get that from on Ubuntu. > the google maps plugin does have some routing code in there, so there might have been plans to use positioning-private. i'm not sure; vladest can elaborate more. about the private headers not being available - i just read in a github project that some distros simply do not include them, so one has to download the offline Linux installer of Qt from here - https://www.qt.io/download-open-source/#section-2. i'm trying that to see what does it include. lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 12:43 PM, Lubomir I. Ivanov wrote: > > On 25 August 2017 at 22:35, Dirk Hohndel wrote: >> >>> On Aug 25, 2017, at 12:19 PM, Dirk Hohndel wrote: >>> >>> I have googled up and down and indeed it seems like Debian based distros >>> don't bundle the private headers / private qmake files, whereas Red Hat >>> based distros as well as Arch Linux do. I haven't looked on OpenSUSE, yet. >>> >>> That's of course a problem... any creative solutions how we can help people >>> on Ubuntu to be able to build this module? >>> >>> Thiago? >> >> I just created a pull request for vladest to remove the dependency on >> positioning-private (as that isn't needed), but location-private is indeed >> required and I'm not sure where to get that from on Ubuntu. >> > > the google maps plugin does have some routing code in there, so there > might have been plans to use positioning-private. i'm not sure; > vladest can elaborate more. > > about the private headers not being available - i just read in a > github project that some distros simply do not include them, so one > has to download the offline Linux installer of Qt from here - > https://www.qt.io/download-open-source/#section-2. > > i'm trying that to see what does it include. That's a COMPLETE install of Qt from the official binaries. Yes, that will do it, but that's NOT what we want to tell people who want to build from source. /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 22:48, Dirk Hohndel wrote: > >> On Aug 25, 2017, at 12:43 PM, Lubomir I. Ivanov wrote: >> >> On 25 August 2017 at 22:35, Dirk Hohndel wrote: >>> On Aug 25, 2017, at 12:19 PM, Dirk Hohndel wrote: I have googled up and down and indeed it seems like Debian based distros don't bundle the private headers / private qmake files, whereas Red Hat based distros as well as Arch Linux do. I haven't looked on OpenSUSE, yet. That's of course a problem... any creative solutions how we can help people on Ubuntu to be able to build this module? Thiago? >>> >>> I just created a pull request for vladest to remove the dependency on >>> positioning-private (as that isn't needed), but location-private is indeed >>> required and I'm not sure where to get that from on Ubuntu. >>> >> >> the google maps plugin does have some routing code in there, so there >> might have been plans to use positioning-private. i'm not sure; >> vladest can elaborate more. >> >> about the private headers not being available - i just read in a >> github project that some distros simply do not include them, so one >> has to download the offline Linux installer of Qt from here - >> https://www.qt.io/download-open-source/#section-2. >> >> i'm trying that to see what does it include. > > That's a COMPLETE install of Qt from the official binaries. Yes, that > will do it, but that's NOT what we want to tell people who want to build > from source. > that's true. also, can't even open the file as an archive to see it's contents without running it. do you happen to have qtlocation5-private-dev in the package manager? lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 12:50 PM, Lubomir I. Ivanov wrote: > > that's true. also, can't even open the file as an archive to see it's > contents without running it. > > do you happen to have qtlocation5-private-dev in the package manager? The RPMs here all seem to include the private headers... https://www.rpmfind.net/linux/rpm2html/search.php?query=qt5-qtlocation-devel /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 22:53, Dirk Hohndel wrote: > >> On Aug 25, 2017, at 12:50 PM, Lubomir I. Ivanov wrote: >> >> that's true. also, can't even open the file as an archive to see it's >> contents without running it. >> >> do you happen to have qtlocation5-private-dev in the package manager? > > The RPMs here all seem to include the private headers... > > https://www.rpmfind.net/linux/rpm2html/search.php?query=qt5-qtlocation-devel > so at some point they've used to include it: https://launchpad.net/ubuntu/trusty/amd64/qtlocation5-private-dev but now i can't find it with this in Ubuntu 16.04 and 17.04: $ apt-cache search qtlocation which means that we probably have to: - download the exact headers from another distro e.g. fedora - require root access to install the headers at the Qt headers folder o_O lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On Friday, 25 August 2017 12:43:28 PDT Lubomir I. Ivanov wrote: > about the private headers not being available - i just read in a > github project that some distros simply do not include them, so one > has to download the offline Linux installer of Qt from here - > https://www.qt.io/download-open-source/#section-2. Most distros do include them. Fedora has them in the regular package: https://koji.fedoraproject.org/koji/rpminfo?rpmID=10536754 OpenSUSE has in separate "private-headers-devel" packages: https://build.opensuse.org/package/binaries/openSUSE:Leap:42.3/libqt5-qtbase? repository=standard -- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Software Architect - Intel Open Source Technology Center ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 22:19, Dirk Hohndel wrote: > >> On Aug 25, 2017, at 11:58 AM, Lubomir I. Ivanov wrote: >> >> On a fresh Ubuntu 16.10, after installing everything that's listed in >> INSTALL I get: >> >> qmake ../googlemaps.pro >> Project ERROR: Unknown module(s) in QT: location-private >> positioning-private > > That is what I hit also when attempting this build manually. (Ubuntu > 16.04 with Qt 5.9.1) > do you guys have the package "qtlocation5-dev" installed and if so do it install a folder named "QtLocation/private" in the folder which contains the Qt headers? >>> >>> It is installed, but no prviate directory. I do also have >>> qtpositioning5-dev installed. >>> >> >> it now looks like an debian/ubuntu packaging issue. >> >> the fedora dev package has them: >> http://webcache.googleusercontent.com/search?q=cache:HE27r0iiXaQJ:rpmfind.net/linux/RPM/fedora/devel/rawhide/aarch64/q/qt5-qtlocation-devel-5.9.0-2.fc27.aarch64.html+&cd=1&hl=bg&ct=clnk&gl=us > > I have googled up and down and indeed it seems like Debian based distros > don't bundle the private headers / private qmake files, whereas Red Hat based > distros as well as Arch Linux do. I haven't looked on OpenSUSE, yet. > > That's of course a problem... any creative solutions how we can help people > on Ubuntu to be able to build this module? > here is my script to pull the headers locally from the Qt source code git repository. from there it's a matter of "sudo cp"-ing them in the correct Qt header's folder - e.g.: /usr/include/qt5/QtLocation/5.9.1/QtLocation/private/ usage: $sh ./get_qtlocation_private_headers.sh 5.9.1 the alternative is to use packages from other distros - already mentioned. lubomir -- get_qtlocation_private_headers.sh Description: Bourne shell script ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 1:21 PM, Thiago Macieira wrote: > > On Friday, 25 August 2017 12:43:28 PDT Lubomir I. Ivanov wrote: >> about the private headers not being available - i just read in a >> github project that some distros simply do not include them, so one >> has to download the offline Linux installer of Qt from here - >> https://www.qt.io/download-open-source/#section-2. > > Most distros do include them. Fedora has them in the regular package: > > https://koji.fedoraproject.org/koji/rpminfo?rpmID=10536754 > > OpenSUSE has in separate "private-headers-devel" packages: > > https://build.opensuse.org/package/binaries/openSUSE:Leap:42.3/libqt5-qtbase? > repository=standard So it appears it's only Ubuntu / Debian that are causing the pain. And it seems that for our supported versions of Ubuntu all we need to do is offer to download, unpack, and appropriately search at build time one of three source tar.xz: https://launchpad.net/ubuntu/+archive/primary/+files/qtlocation-opensource-src_5.5.1.orig.tar.xz https://launchpad.net/ubuntu/+archive/primary/+files/qtlocation-opensource-src_5.7.1.orig.tar.xz https://launchpad.net/ubuntu/+archive/primary/+files/qtlocation-opensource-src_5.9.1+dfsg.orig.tar.xz Somewhat annoying, but manageable. What am I missing? This requires some scripting, etc, but we should be able to install the headers in our install-root and get the googlemaps plugin to use those. Any volunteers to look into that? Maybe someone who sometimes builds on Ubuntu? :-) /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 23:40, Lubomir I. Ivanov wrote: > On 25 August 2017 at 22:19, Dirk Hohndel wrote: >> >>> On Aug 25, 2017, at 11:58 AM, Lubomir I. Ivanov wrote: >>> >>> On a fresh Ubuntu 16.10, after installing everything that's listed in >>> INSTALL I get: >>> >>> qmake ../googlemaps.pro >>> Project ERROR: Unknown module(s) in QT: location-private >>> positioning-private >> >> That is what I hit also when attempting this build manually. (Ubuntu >> 16.04 with Qt 5.9.1) >> > > do you guys have the package "qtlocation5-dev" installed and if so do > it install a folder named "QtLocation/private" in the folder which > contains the Qt headers? It is installed, but no prviate directory. I do also have qtpositioning5-dev installed. >>> >>> it now looks like an debian/ubuntu packaging issue. >>> >>> the fedora dev package has them: >>> http://webcache.googleusercontent.com/search?q=cache:HE27r0iiXaQJ:rpmfind.net/linux/RPM/fedora/devel/rawhide/aarch64/q/qt5-qtlocation-devel-5.9.0-2.fc27.aarch64.html+&cd=1&hl=bg&ct=clnk&gl=us >> >> I have googled up and down and indeed it seems like Debian based distros >> don't bundle the private headers / private qmake files, whereas Red Hat >> based distros as well as Arch Linux do. I haven't looked on OpenSUSE, yet. >> >> That's of course a problem... any creative solutions how we can help people >> on Ubuntu to be able to build this module? >> > > here is my script to pull the headers locally from the Qt source code > git repository. > from there it's a matter of "sudo cp"-ing them in the correct Qt > header's folder - e.g.: > /usr/include/qt5/QtLocation/5.9.1/QtLocation/private/ > > usage: > $sh ./get_qtlocation_private_headers.sh 5.9.1 > > the alternative is to use packages from other distros - already mentioned. > ermm...any idea how to obtain the "5.9.1" tag of the already installed Qt version? lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 1:40 PM, Lubomir I. Ivanov wrote: > > here is my script to pull the headers locally from the Qt source code > git repository. > from there it's a matter of "sudo cp"-ing them in the correct Qt > header's folder - e.g.: > /usr/include/qt5/QtLocation/5.9.1/QtLocation/private/ > > usage: > $sh ./get_qtlocation_private_headers.sh 5.9.1 > > the alternative is to use packages from other distros - already mentioned. That may be even easier than what I just sent out. Here's my request - can you add to this script a) detection if the headers are already there (qmake -query QT_INSTALL_HEADERS and poke around there) b) if not, download the headers (using the script or something similar) c) don't install into the system path, but have them in install_root and modify googlemaps plugin to pick them up from there if necessary Thanks /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 1:44 PM, Lubomir I. Ivanov wrote: > > ermm...any idea how to obtain the "5.9.1" tag of the already installed > Qt version? I'd go with the named tag - I doubt there's any changes to those private headers in the specific tag that the distros might be using (actually - I think they always use the release tag but possibly add some patches) Anyway, I think the straight forward named tag should work /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 25 August 2017 at 23:46, Dirk Hohndel wrote: > >> On Aug 25, 2017, at 1:40 PM, Lubomir I. Ivanov wrote: >> >> here is my script to pull the headers locally from the Qt source code >> git repository. >> from there it's a matter of "sudo cp"-ing them in the correct Qt >> header's folder - e.g.: >> /usr/include/qt5/QtLocation/5.9.1/QtLocation/private/ >> >> usage: >> $sh ./get_qtlocation_private_headers.sh 5.9.1 >> >> the alternative is to use packages from other distros - already mentioned. > > That may be even easier than what I just sent out. > > Here's my request - can you add to this script > > a) detection if the headers are already there (qmake -query > QT_INSTALL_HEADERS and poke around there) > b) if not, download the headers (using the script or something similar) > c) don't install into the system path, but have them in install_root and > modify googlemaps plugin to pick them up from there if necessary > i got this working (a,b,c) with the headers residing in the plugin folders, but vladest needs to revert the PR, IMO. also i'm pretty sure we need to pull the QtPositioning private headers too. except for c) -> can you please explain "install_root"? is this where all the subsurface source code resides after pulling. would that mean that there would be a "googlemaps" folder in there, where supposedly the private headers needs to be placed too if they don't exist in ? will continue on this tomorrow. lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On Friday, 25 August 2017 12:50:01 PDT Lubomir I. Ivanov wrote: > do you happen to have qtlocation5-private-dev in the package manager? I asked the packagers. They said they don't want to create the -private-dev packages if they can avoid it, since it is too tempting for other packagers to use them. Since Qt does not offer API/ABI stability in the private headers, anything that depends on -private-dev must be rebuilt whenever Qt changes anything. They're too few people to keep track of this and it takes too much resource (one week to rebuild everything -- remember that Debian supports some platforms for which there's no fast hardware). But he did confirm that they do not patch them, so they should match the tag from the Qt repositories. -- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Software Architect - Intel Open Source Technology Center ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 25, 2017, at 3:11 PM, Lubomir I. Ivanov wrote: > > On 25 August 2017 at 23:46, Dirk Hohndel wrote: >> >>> On Aug 25, 2017, at 1:40 PM, Lubomir I. Ivanov wrote: >>> >>> here is my script to pull the headers locally from the Qt source code >>> git repository. >>> from there it's a matter of "sudo cp"-ing them in the correct Qt >>> header's folder - e.g.: >>> /usr/include/qt5/QtLocation/5.9.1/QtLocation/private/ >>> >>> usage: >>> $sh ./get_qtlocation_private_headers.sh 5.9.1 >>> >>> the alternative is to use packages from other distros - already mentioned. >> >> That may be even easier than what I just sent out. >> >> Here's my request - can you add to this script >> >> a) detection if the headers are already there (qmake -query >> QT_INSTALL_HEADERS and poke around there) >> b) if not, download the headers (using the script or something similar) >> c) don't install into the system path, but have them in install_root and >> modify googlemaps plugin to pick them up from there if necessary >> > > i got this working (a,b,c) with the headers residing in the plugin > folders, but vladest needs to revert the PR, IMO. OOPS. I tested it here and it seemed to work. Maybe I the headers stayed around when I removed the package. Weird. I'll apologize to him. > also i'm pretty sure we need to pull the QtPositioning private headers too. That's what it looks like from your test :-( > except for c) -> can you please explain "install_root"? > is this where all the subsurface source code resides after pulling. > would that mean that there would be a "googlemaps" folder in there, > where supposedly the private headers needs to be placed too if they > don't exist in ? When we run scripts/build.sh we install the things that we build as dependencies under ~/src/install_root (assuming you have ~/src/subsurface). And we also install the googlemaps plugin in that hierarchy. So it seems reasonable to also install the include file that we get from Qt private headers in that same hierarchy, just for consistency. > will continue on this tomorrow. Thanks, much appreciated. /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On Sat, Aug 26, 2017 at 2:30 AM, Dirk Hohndel wrote: > >> On Aug 25, 2017, at 3:11 PM, Lubomir I. Ivanov wrote: >> >> On 25 August 2017 at 23:46, Dirk Hohndel wrote: >>> On Aug 25, 2017, at 1:40 PM, Lubomir I. Ivanov wrote: here is my script to pull the headers locally from the Qt source code git repository. from there it's a matter of "sudo cp"-ing them in the correct Qt header's folder - e.g.: /usr/include/qt5/QtLocation/5.9.1/QtLocation/private/ usage: $sh ./get_qtlocation_private_headers.sh 5.9.1 the alternative is to use packages from other distros - already mentioned. >>> >>> That may be even easier than what I just sent out. >>> >>> Here's my request - can you add to this script >>> >>> a) detection if the headers are already there (qmake -query >>> QT_INSTALL_HEADERS and poke around there) >>> b) if not, download the headers (using the script or something similar) >>> c) don't install into the system path, but have them in install_root and >>> modify googlemaps plugin to pick them up from there if necessary >>> >> >> i got this working (a,b,c) with the headers residing in the plugin >> folders, but vladest needs to revert the PR, IMO. > > OOPS. I tested it here and it seemed to work. Maybe I the headers > stayed around when I removed the package. Weird. I'll apologize to him. > >> also i'm pretty sure we need to pull the QtPositioning private headers too. > > That's what it looks like from your test :-( > >> except for c) -> can you please explain "install_root"? >> is this where all the subsurface source code resides after pulling. >> would that mean that there would be a "googlemaps" folder in there, >> where supposedly the private headers needs to be placed too if they >> don't exist in ? > > When we run scripts/build.sh we install the things that we build as > dependencies > under ~/src/install_root (assuming you have ~/src/subsurface). And we also > install > the googlemaps plugin in that hierarchy. So it seems reasonable to also > install the > include file that we get from Qt private headers in that same hierarchy, just > for > consistency. > >> will continue on this tomorrow. I just got thinking this morning... Since I have the install of Qt 5.9.1 on my system, that should include all the headers, why am I still using the Ubuntu packaged Qt for googlemaps plugin. And after hardcoding the qmake in build.sh to point to the one in my qmake 5.9.1 I was able to build googlemaps plugin just fine. Then just copying it under subsurface build dir was enough to get the map to work. miika ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 26 August 2017 at 08:08, Miika Turkia wrote: > On Sat, Aug 26, 2017 at 2:30 AM, Dirk Hohndel wrote: >> >>> On Aug 25, 2017, at 3:11 PM, Lubomir I. Ivanov wrote: >>> >>> On 25 August 2017 at 23:46, Dirk Hohndel wrote: > On Aug 25, 2017, at 1:40 PM, Lubomir I. Ivanov > wrote: > > here is my script to pull the headers locally from the Qt source code > git repository. > from there it's a matter of "sudo cp"-ing them in the correct Qt > header's folder - e.g.: > /usr/include/qt5/QtLocation/5.9.1/QtLocation/private/ > > usage: > $sh ./get_qtlocation_private_headers.sh 5.9.1 > > the alternative is to use packages from other distros - already mentioned. That may be even easier than what I just sent out. Here's my request - can you add to this script a) detection if the headers are already there (qmake -query QT_INSTALL_HEADERS and poke around there) b) if not, download the headers (using the script or something similar) c) don't install into the system path, but have them in install_root and modify googlemaps plugin to pick them up from there if necessary >>> >>> i got this working (a,b,c) with the headers residing in the plugin >>> folders, but vladest needs to revert the PR, IMO. >> >> OOPS. I tested it here and it seemed to work. Maybe I the headers >> stayed around when I removed the package. Weird. I'll apologize to him. >> >>> also i'm pretty sure we need to pull the QtPositioning private headers too. >> >> That's what it looks like from your test :-( >> >>> except for c) -> can you please explain "install_root"? >>> is this where all the subsurface source code resides after pulling. >>> would that mean that there would be a "googlemaps" folder in there, >>> where supposedly the private headers needs to be placed too if they >>> don't exist in ? >> >> When we run scripts/build.sh we install the things that we build as >> dependencies >> under ~/src/install_root (assuming you have ~/src/subsurface). And we also >> install >> the googlemaps plugin in that hierarchy. So it seems reasonable to also >> install the >> include file that we get from Qt private headers in that same hierarchy, >> just for >> consistency. >> >>> will continue on this tomorrow. > > I just got thinking this morning... Since I have the install of Qt > 5.9.1 on my system, that should include all the headers, why am I > still using the Ubuntu packaged Qt for googlemaps plugin. And after > hardcoding the qmake in build.sh to point to the one in my qmake 5.9.1 > I was able to build googlemaps plugin just fine. Then just copying it > under subsurface build dir was enough to get the map to work. > good to hear, i was just able to build subsurface on 17.04 after a couple of hours of googling package names... now to tackle the automation of fetching the private headers. lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 26 August 2017 at 15:02, Lubomir I. Ivanov wrote: > On 26 August 2017 at 08:08, Miika Turkia wrote: >> On Sat, Aug 26, 2017 at 2:30 AM, Dirk Hohndel wrote: >>> On Aug 25, 2017, at 3:11 PM, Lubomir I. Ivanov wrote: On 25 August 2017 at 23:46, Dirk Hohndel wrote: > >> On Aug 25, 2017, at 1:40 PM, Lubomir I. Ivanov >> wrote: >> >> here is my script to pull the headers locally from the Qt source code >> git repository. >> from there it's a matter of "sudo cp"-ing them in the correct Qt >> header's folder - e.g.: >> /usr/include/qt5/QtLocation/5.9.1/QtLocation/private/ >> >> usage: >> $sh ./get_qtlocation_private_headers.sh 5.9.1 >> >> the alternative is to use packages from other distros - already >> mentioned. > > That may be even easier than what I just sent out. > > Here's my request - can you add to this script > > a) detection if the headers are already there (qmake -query > QT_INSTALL_HEADERS and poke around there) > b) if not, download the headers (using the script or something similar) > c) don't install into the system path, but have them in install_root and > modify googlemaps plugin to pick them up from there if necessary > i got this working (a,b,c) with the headers residing in the plugin folders, but vladest needs to revert the PR, IMO. >>> >>> OOPS. I tested it here and it seemed to work. Maybe I the headers >>> stayed around when I removed the package. Weird. I'll apologize to him. >>> also i'm pretty sure we need to pull the QtPositioning private headers too. >>> >>> That's what it looks like from your test :-( >>> except for c) -> can you please explain "install_root"? is this where all the subsurface source code resides after pulling. would that mean that there would be a "googlemaps" folder in there, where supposedly the private headers needs to be placed too if they don't exist in ? >>> >>> When we run scripts/build.sh we install the things that we build as >>> dependencies >>> under ~/src/install_root (assuming you have ~/src/subsurface). And we also >>> install >>> the googlemaps plugin in that hierarchy. So it seems reasonable to also >>> install the >>> include file that we get from Qt private headers in that same hierarchy, >>> just for >>> consistency. >>> will continue on this tomorrow. >> >> I just got thinking this morning... Since I have the install of Qt >> 5.9.1 on my system, that should include all the headers, why am I >> still using the Ubuntu packaged Qt for googlemaps plugin. And after >> hardcoding the qmake in build.sh to point to the one in my qmake 5.9.1 >> I was able to build googlemaps plugin just fine. Then just copying it >> under subsurface build dir was enough to get the map to work. >> > > good to hear, > > i was just able to build subsurface on 17.04 after a couple of hours > of googling package names... > now to tackle the automation of fetching the private headers. > 1) here is a PR with a small change in the googlemaps plugin's qmake to allow using headers from relative paths: https://github.com/vladest/googlemaps/pull/15 2) attached is my updated script to fetch the QtLocation and QtPositioning private headers from the Qt repository. if someone has the time you can integrated that into our build.sh. one potential problem here is that i don't know how to place the headers in install_root and tell the qmake of the googlemaps plugin to use install_root in a non-disruptive way (i.e. only we care about install_root). instead the solution might be to simply copy the header folders inside the googlemaps plugin folder it will work. NOTE: both these changes require qmake5. need to leave in a minute and will be back on sunday afternoon (EET). lubomir -- get_qtlocation_private_headers.sh Description: Bourne shell script ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On Sat, Aug 26, 2017 at 04:52:49PM +0300, Lubomir I. Ivanov wrote: > 1) > here is a PR with a small change in the googlemaps plugin's qmake to > allow using headers from relative paths: > https://github.com/vladest/googlemaps/pull/15 > > 2) > attached is my updated script to fetch the QtLocation and > QtPositioning private headers from the Qt repository. > if someone has the time you can integrated that into our build.sh. > > one potential problem here is that i don't know how to place the > headers in install_root and tell the qmake of the googlemaps plugin to > use install_root in a non-disruptive way (i.e. only we care about > install_root). instead the solution might be to simply copy the header > folders inside the googlemaps plugin folder it will work. > > NOTE: both these changes require qmake5. > need to leave in a minute and will be back on sunday afternoon (EET). I took your script, made a few modifications (I really wanted those include files under our install-root), included it in the build script, and pushed all of that to master. vladest just merged your PR, so now this compiles and runs with working maps on Ubuntu 16.10 (that's what I had a VM of); I also tested ArchLinux and Fedora 25. I'd love to hear if this works on other Linux flavors that people care about. We are slowly making progress :-) I still haven't figured out how I want to handle this situation in the distribution packages or in the AppImage... so right now this only works on Linux if you build Subsurface from source. /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 27 August 2017 at 01:14, Dirk Hohndel wrote: > On Sat, Aug 26, 2017 at 04:52:49PM +0300, Lubomir I. Ivanov wrote: >> 1) >> here is a PR with a small change in the googlemaps plugin's qmake to >> allow using headers from relative paths: >> https://github.com/vladest/googlemaps/pull/15 >> >> 2) >> attached is my updated script to fetch the QtLocation and >> QtPositioning private headers from the Qt repository. >> if someone has the time you can integrated that into our build.sh. >> >> one potential problem here is that i don't know how to place the >> headers in install_root and tell the qmake of the googlemaps plugin to >> use install_root in a non-disruptive way (i.e. only we care about >> install_root). instead the solution might be to simply copy the header >> folders inside the googlemaps plugin folder it will work. >> >> NOTE: both these changes require qmake5. >> need to leave in a minute and will be back on sunday afternoon (EET). > > I took your script, made a few modifications (I really wanted those > include files under our install-root), included it in the build script, > and pushed all of that to master. > > vladest just merged your PR, so now this compiles and runs with working > maps on Ubuntu 16.10 (that's what I had a VM of); I also tested ArchLinux > and Fedora 25. I'd love to hear if this works on other Linux flavors that > people care about. oops, i've missed this email, started working on the changes myself and created a PR. just saw the email and canceled the PR, which really was less complete of an implementation. thanks lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
> On Aug 24, 2017, at 8:55 PM, Miika Turkia wrote: > > On Thu, Aug 24, 2017 at 11:49 PM, Lubomir I. Ivanov > wrote: >> with the new map widget we started phasing out the Marble globe... >> the transition is smooth in the lines of using NO_MARBLE as toggle - >> i.e. it either uses Marble or QtLocation. >> >> we should probably start removing it as a dependency from both c++, >> cmake and build scripts (i might needs some help for the later). but >> the question is - should we? do we want to keep it? >> >> i got no issue reports about the new Map widget which means all is good with >> it. > > Any idea about the following error message? > > qrc:/MapWidget.qml:45: Error: Cannot assign [undefined] to > QDeclarativeGeoMapType* > qml: MapWidget.qml: cannot find a plugin with the name 'googlemaps' > > I am currently getting no map when compiling myself. I am pretty sure > it did work earlier with this laptop, but not anymore. But then again, > it might have been different laptop where the new map was working. So now that this is fixed, I think we should go back to doing two things a) figure out how to package this for the distros / AppImage b) start ripping out all the Marble dependencies and code, etc I could really use some help with a) - I'll be at a conference in Las Vegas all week and doubt I'll have any time to spend on Subsurface :-( /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: removing Marble traces from the Subsurface tree
On 27 August 2017 at 23:34, Dirk Hohndel wrote: > >> On Aug 24, 2017, at 8:55 PM, Miika Turkia wrote: >> >> On Thu, Aug 24, 2017 at 11:49 PM, Lubomir I. Ivanov >> wrote: >>> with the new map widget we started phasing out the Marble globe... >>> the transition is smooth in the lines of using NO_MARBLE as toggle - >>> i.e. it either uses Marble or QtLocation. >>> >>> we should probably start removing it as a dependency from both c++, >>> cmake and build scripts (i might needs some help for the later). but >>> the question is - should we? do we want to keep it? >>> >>> i got no issue reports about the new Map widget which means all is good >>> with it. >> >> Any idea about the following error message? >> >> qrc:/MapWidget.qml:45: Error: Cannot assign [undefined] to >> QDeclarativeGeoMapType* >> qml: MapWidget.qml: cannot find a plugin with the name 'googlemaps' >> >> I am currently getting no map when compiling myself. I am pretty sure >> it did work earlier with this laptop, but not anymore. But then again, >> it might have been different laptop where the new map was working. > > So now that this is fixed, I think we should go back to doing two things > > a) figure out how to package this for the distros / AppImage > b) start ripping out all the Marble dependencies and code, etc > > I could really use some help with a) - I'll be at a conference in Las Vegas > all week and doubt I'll have any time to spend on Subsurface :-( > i can probably do b) + the "clear map cache on language change" during the week. lubomir -- ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface