|
Hi,
I'd just like to inform you, that libkmap from kdereview/ does not compile anymore with the newest KDE 4.6 beta2 (4.5.85) because of some Marble stuff. Also, digiKam won't run on 4.5.85 with the libkmap compiled against Marble <= 4.5.80. Probably some changes in Marble. Here's the build log:
[ 54%] Building CXX object libkmap/CMakeFiles/kmap.dir/backend-marble.o [ 59%] Building CXX object libkmap/CMakeFiles/kmap.dir/backend-marble-layer.o
[ 63%] Building CXX object libkmap/CMakeFiles/kmap.dir/backend-googlemaps.o /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble-layer.cpp:49:6: warning: unused parameter ‘viewport’
/home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble-layer.cpp:49:6: warning: unused parameter ‘layer’ /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp: In constructor ‘KMap::BackendMarble::BackendMarble(const QExplicitlySharedDataPointer<KMap::KMapSharedData>&, QObject*)’:
/home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp:156:31: error: ‘class Marble::MarbleModel’ has no member named ‘addLayer’ /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp: In destructor ‘virtual KMap::BackendMarble::~BackendMarble()’:
/home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp:179:35: error: ‘class Marble::MarbleModel’ has no member named ‘removeLayer’ make[2]: *** [libkmap/CMakeFiles/kmap.dir/backend-marble.o] Error 1
make[1]: *** [libkmap/CMakeFiles/kmap.dir/all] Error 2 make: *** [all] Error 2 [mck182@mck182-tablet build]$ Marty
_______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
On 12/09/2010 12:19 AM, Martin Klapetek wrote:
> Hi, > > I'd just like to inform you, that libkmap from kdereview/ does not compile > anymore with the newest KDE 4.6 beta2 (4.5.85) because of some Marble stuff. > Also, digiKam won't run on 4.5.85 with the libkmap compiled against Marble > <= 4.5.80. Probably some changes in Marble. Here's the build log: > > [ 54%] Building CXX object libkmap/CMakeFiles/kmap.dir/backend-marble.o > > > [ 59%] Building CXX object > libkmap/CMakeFiles/kmap.dir/backend-marble-layer.o > > [ 63%] Building CXX object libkmap/CMakeFiles/kmap.dir/backend-googlemaps.o > > /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble-layer.cpp:49:6: > warning: unused parameter ‘viewport’ > > /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble-layer.cpp:49:6: > warning: unused parameter ‘layer’ > /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp: In constructor > ‘KMap::BackendMarble::BackendMarble(const > QExplicitlySharedDataPointer<KMap::KMapSharedData>&, QObject*)’: > /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp:156:31: error: > ‘class Marble::MarbleModel’ has no member named ‘addLayer’ > /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp: In destructor > ‘virtual KMap::BackendMarble::~BackendMarble()’: > /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp:179:35: error: > ‘class Marble::MarbleModel’ has no member named ‘removeLayer’ > make[2]: *** [libkmap/CMakeFiles/kmap.dir/backend-marble.o] Error 1 > make[1]: *** [libkmap/CMakeFiles/kmap.dir/all] Error 2 > make: *** [all] Error 2 > [mck182@mck182-tablet build]$ Thanks Marty! However, I'm not up to 4.6 beta2 yet. As a temporary solution, you could modify libkmap/CMakelists.txt in this region to not define KMAP_MARBLE_ADD_LAYER for KDE 4.6 beta2 or later: IF (${KDE_VERSION} VERSION_GREATER "4.4.66") ADD_DEFINITIONS(-DKMAP_MARBLE_ADD_LAYER) SET( backend_marble_sources ${backend_marble_sources} backend-marble-layer.cpp ) ELSE (${KDE_VERSION} VERSION_GREATER "4.4.66") SET( backend_marble_sources ${backend_marble_sources} backend-marble-subwidget.cpp ) ENDIF (${KDE_VERSION} VERSION_GREATER "4.4.66") > Also, digiKam won't run on 4.5.85 with the libkmap compiled against Marble > <= 4.5.80. Probably some changes in Marble. Here's the build log: "Won't run" as in "crashes"? Do you have a backtrace? :-) Michael _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
On Thu, Dec 9, 2010 at 23:31, Michael G. Hansen <[hidden email]> wrote:
Where exactly should I place this? I tried to put it before the lines SUBDIRS(libkmap)
SUBDIRS(test) SUBDIRS(calibrator) but the build still fails, with the same error.
Oh, yes, of course :) Here's the relevant part: Thread 1 (Thread 0x7f461daf6a00 (LWP 22137)): [KCrash Handler] #6 0x0000000000000000 in ?? () #7 0x00000036ad238d62 in KMap::BackendMarble::BackendMarble (this=0x1c22720, sharedData=..., parent=0x1bb1f40) at /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp:158 #8 0x00000036ad216848 in KMap::KMapWidget::KMapWidget (this=0x1bb1f40, parent=0x1bb1130) at /home/mck182/GSoC/trunk/libkmap/libkmap/kmap_widget.cpp:256 #9 0x00000000006357a6 in Digikam::MapWidgetView::MapWidgetView (this=0x1bb1130, selectionModel=0x11152b0, imageFilterModel=0xfddbd0, parent=0x11fa160) at /home/mck182/GSoC/trunk/digikam-gsoc/digikam/mapwidgetview.cpp:107 #10 0x00000000005c5c62 in Digikam::AlbumWidgetStack::AlbumWidgetStack (this=0x11fa160, parent=0x1117890) at /home/mck182/GSoC/trunk/digikam-gsoc/digikam/albumwidgetstack.cpp:110 #11 0x00000000005faf21 in Digikam::DigikamView::DigikamView (this=0x11aa890, parent=0x107ab50, modelCollection=0x10f7630) at /home/mck182/GSoC/trunk/digikam-gsoc/digikam/digikamview.cpp:189 #12 0x00000000005d8600 in Digikam::DigikamApp::setupView (this=0x107ab50) at /home/mck182/GSoC/trunk/digikam-gsoc/digikam/digikamapp.cpp:517 #13 0x00000000005d7157 in Digikam::DigikamApp::DigikamApp (this=0x107ab50, __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at /home/mck182/GSoC/trunk/digikam-gsoc/digikam/digikamapp.cpp:236 #14 0x00000000006a4397 in main (argc=1, argv=0x7fff955b5eb8) at /home/mck182/GSoC/trunk/digikam-gsoc/digikam/main.cpp:188 Marty _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
On 12/09/2010 11:42 PM, Martin Klapetek wrote:
> On Thu, Dec 9, 2010 at 23:31, Michael G. Hansen<[hidden email]> wrote: > >> On 12/09/2010 12:19 AM, Martin Klapetek wrote: >>> Hi, >>> >>> I'd just like to inform you, that libkmap from kdereview/ does not >> compile >>> anymore with the newest KDE 4.6 beta2 (4.5.85) because of some Marble >> stuff. >>> Also, digiKam won't run on 4.5.85 with the libkmap compiled against >> Marble >>> <= 4.5.80. Probably some changes in Marble. Here's the build log: >>> >>> [ 54%] Building CXX object libkmap/CMakeFiles/kmap.dir/backend-marble.o >>> >>> >>> [ 59%] Building CXX object >>> libkmap/CMakeFiles/kmap.dir/backend-marble-layer.o >>> >>> [ 63%] Building CXX object >> libkmap/CMakeFiles/kmap.dir/backend-googlemaps.o >>> >>> /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble-layer.cpp:49:6: >>> warning: unused parameter ‘viewport’ >>> >>> /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble-layer.cpp:49:6: >>> warning: unused parameter ‘layer’ >>> /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp: In >> constructor >>> ‘KMap::BackendMarble::BackendMarble(const >>> QExplicitlySharedDataPointer<KMap::KMapSharedData>&, QObject*)’: >>> /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp:156:31: error: >>> ‘class Marble::MarbleModel’ has no member named ‘addLayer’ >>> /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp: In destructor >>> ‘virtual KMap::BackendMarble::~BackendMarble()’: >>> /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp:179:35: error: >>> ‘class Marble::MarbleModel’ has no member named ‘removeLayer’ >>> make[2]: *** [libkmap/CMakeFiles/kmap.dir/backend-marble.o] Error 1 >>> make[1]: *** [libkmap/CMakeFiles/kmap.dir/all] Error 2 >>> make: *** [all] Error 2 >>> [mck182@mck182-tablet build]$ >> >> Thanks Marty! However, I'm not up to 4.6 beta2 yet. >> >> As a temporary solution, you could modify libkmap/CMakelists.txt in this >> region to not define KMAP_MARBLE_ADD_LAYER for KDE 4.6 beta2 or later: >> >> IF (${KDE_VERSION} VERSION_GREATER "4.4.66") >> ADD_DEFINITIONS(-DKMAP_MARBLE_ADD_LAYER) >> SET( backend_marble_sources ${backend_marble_sources} >> backend-marble-layer.cpp ) >> ELSE (${KDE_VERSION} VERSION_GREATER "4.4.66") >> SET( backend_marble_sources ${backend_marble_sources} >> backend-marble-subwidget.cpp ) >> ENDIF (${KDE_VERSION} VERSION_GREATER "4.4.66") >> > > Where exactly should I place this? I tried to put it before the lines > > SUBDIRS(libkmap) > SUBDIRS(test) > SUBDIRS(calibrator) > > but the build still fails, with the same error. I'm sorry, it should be in the libkmap/libkmap/CMakelists.txt. The code is already there, you just have to add a case for your version, line 53: http://websvn.kde.org/trunk/kdereview/libkmap/libkmap/CMakeLists.txt?revision=1199709&view=markup > > >> >> > Also, digiKam won't run on 4.5.85 with the libkmap compiled against >> Marble >> > <= 4.5.80. Probably some changes in Marble. Here's the build log: >> >> "Won't run" as in "crashes"? Do you have a backtrace? :-) >> > > Oh, yes, of course :) Here's the relevant part: > > Thread 1 (Thread 0x7f461daf6a00 (LWP 22137)): > > [KCrash Handler] > > #6 0x0000000000000000 in ?? () > > #7 0x00000036ad238d62 in KMap::BackendMarble::BackendMarble (this=0x1c22720, > sharedData=..., parent=0x1bb1f40) at > /home/mck182/GSoC/trunk/libkmap/libkmap/backend-marble.cpp:158 > > #8 0x00000036ad216848 in KMap::KMapWidget::KMapWidget (this=0x1bb1f40, > parent=0x1bb1130) at > /home/mck182/GSoC/trunk/libkmap/libkmap/kmap_widget.cpp:256 > > #9 0x00000000006357a6 in Digikam::MapWidgetView::MapWidgetView > (this=0x1bb1130, selectionModel=0x11152b0, imageFilterModel=0xfddbd0, > parent=0x11fa160) at > /home/mck182/GSoC/trunk/digikam-gsoc/digikam/mapwidgetview.cpp:107 > > #10 0x00000000005c5c62 in Digikam::AlbumWidgetStack::AlbumWidgetStack > (this=0x11fa160, parent=0x1117890) at > /home/mck182/GSoC/trunk/digikam-gsoc/digikam/albumwidgetstack.cpp:110 > > #11 0x00000000005faf21 in Digikam::DigikamView::DigikamView (this=0x11aa890, > parent=0x107ab50, modelCollection=0x10f7630) at > /home/mck182/GSoC/trunk/digikam-gsoc/digikam/digikamview.cpp:189 > > #12 0x00000000005d8600 in Digikam::DigikamApp::setupView (this=0x107ab50) at > /home/mck182/GSoC/trunk/digikam-gsoc/digikam/digikamapp.cpp:517 > > #13 0x00000000005d7157 in Digikam::DigikamApp::DigikamApp (this=0x107ab50, > __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at > /home/mck182/GSoC/trunk/digikam-gsoc/digikam/digikamapp.cpp:236 > > #14 0x00000000006a4397 in main (argc=1, argv=0x7fff955b5eb8) at > /home/mck182/GSoC/trunk/digikam-gsoc/digikam/main.cpp:188 Sorry, I don't see a reason for a crash now... are you sure it's not a binary incompatibility? Did you recompile libkmap with that version of marble? Michael _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
|
In reply to this post by Martin Klapetek
On 12/09/2010 12:19 AM, Martin Klapetek wrote:
> Hi, > > I'd just like to inform you, that libkmap from kdereview/ does not compile > anymore with the newest KDE 4.6 beta2 (4.5.85) because of some Marble stuff. I fixed this in commit 1205859. I those of you with an earlier version of Marble encounter problems, try the fix indicated in the code and let me know! Michael SVN commit 1205859 by mghansen: Adapt to Marble API change. Not sure the version number for the if is correct, though. M +14 -0 backend-marble.cpp --- branches/extragear/graphics/digikam/3rdparty/libkmap/libkmap/backend-marble.cpp #1205858:1205859 @@ -153,7 +153,14 @@ #ifdef KMAP_MARBLE_ADD_LAYER d->marbleWidget = new Marble::MarbleWidget(); d->bmLayer = new BMLayer(this); + + /// @todo I am not sure this is the exact version where this was changed. If the build fails with the version you have, use the else-part of this. +#if MARBLE_VERSION>=0x000b00 + d->marbleWidget->map()->addLayer(d->bmLayer); +#else d->marbleWidget->model()->addLayer(d->bmLayer); +#endif + #else d->marbleWidget = new BMWidget(this); #endif @@ -176,7 +183,14 @@ if (d->marbleWidget) { #ifdef KMAP_MARBLE_ADD_LAYER + + /// @todo I am not sure this is the exact version where this was changed. If the build fails with the version you have, use the else-part of this. +#if MARBLE_VERSION>=0x000b00 + d->marbleWidget->map()->removeLayer(d->bmLayer); +#else d->marbleWidget->model()->removeLayer(d->bmLayer); +#endif + delete d->bmLayer; #endif delete d->marbleWidget; _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
| Free forum by Nabble | Edit this page |
