Bug 262065

Summary: Linking issue with Marble library
Product: [Applications] digikam Reporter: christian
Component: Geolocation-MarbleAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles
Priority: NOR    
Version: 1.8.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 1.8.0
Sentry Crash Report:

Description christian 2011-01-04 12:58:27 UTC
Version:           1.8.0 (using KDE 4.5.4) 
OS:                Linux

I have downloaded digikam 1.8.0 release through SVN. 
Compilation went fine but linking got following errors:


Linking CXX executable digikam
CMakeFiles/digikam.dir/leftsidebarwidgets.o: In function `GPSSearchSideBarWidget':
/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1048: undefined reference to `vtable for Digikam::GPSSearchSideBarWidget'
/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1048: undefined reference to `vtable for Digikam::GPSSearchSideBarWidget'
/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1048: undefined reference to `vtable for Digikam::GPSSearchSideBarWidget'
CMakeFiles/digikam.dir/leftsidebarwidgets.o: In function `~GPSSearchSideBarWidget':
/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1070: undefined reference to `vtable for Digikam::GPSSearchSideBarWidget'
/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1070: undefined reference to `vtable for Digikam::GPSSearchSideBarWidget'
CMakeFiles/digikam.dir/leftsidebarwidgets.o:/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1070: more undefined references to `vtable for Digikam::GPSSearchSideBarWidget' follow
collect2: ld returned 1 exit status
make[2]: *** [digikam/digikam] Error 1
make[1]: *** [digikam/CMakeFiles/digikam.dir/all] Error 2
make: *** [all] Error 2



Reproducible: Always

Steps to Reproduce:
Launch make

Actual Results:  
Linking CXX executable digikam
CMakeFiles/digikam.dir/leftsidebarwidgets.o: In function `GPSSearchSideBarWidget':
/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1048: undefined reference to `vtable for Digikam::GPSSearchSideBarWidget'
/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1048: undefined reference to `vtable for Digikam::GPSSearchSideBarWidget'
/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1048: undefined reference to `vtable for Digikam::GPSSearchSideBarWidget'
CMakeFiles/digikam.dir/leftsidebarwidgets.o: In function `~GPSSearchSideBarWidget':
/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1070: undefined reference to `vtable for Digikam::GPSSearchSideBarWidget'
/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1070: undefined reference to `vtable for Digikam::GPSSearchSideBarWidget'
CMakeFiles/digikam.dir/leftsidebarwidgets.o:/home2/invit/Documents/NewCompils/NewDigi2/digikam/digikam/leftsidebarwidgets.cpp:1070: more undefined references to `vtable for Digikam::GPSSearchSideBarWidget' follow
collect2: ld returned 1 exit status
make[2]: *** [digikam/digikam] Error 1
make[1]: *** [digikam/CMakeFiles/digikam.dir/all] Error 2
make: *** [all] Error 2


Expected Results:  
Digikam linked

Distribution is fedora 13.

Installed Marble is :
kdeedu-devel-4.5.4-1.fc13.i686
kdeedu-libs-4.5.4-1.fc13.i686

Any question, just ask me.
Comment 1 caulier.gilles 2011-01-04 13:56:16 UTC
It's not marble relevant. it's GPS digiKAm source code (GUI container where marble widget is hosted) which do not link properlly. it's probably a Qt4 moc problem in cache file.

Please clean up all indeep and try to compile again.

Note : i cannot reproduce the problem there...

Gilles Caulier
Comment 2 christian 2011-01-04 15:27:54 UTC
I have destroyed the build directory and created a new one. Full digikam compilation & linked has been done successfully.

Thanks!