Bug 305056

Summary: Crash on startup (development branch)
Product: [Applications] digikam Reporter: Abhinav Badola <mail.abu.to>
Component: Portability-RuntimeAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: critical CC: caulier.gilles
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 3.0.0
Sentry Crash Report:

Description Abhinav Badola 2012-08-12 23:44:19 UTC
As soon as I start digiKam after complete installation, it crashes.

I pulled the latest updates in digiKam sc.
Updated libkipi, pulled latest updates from   /development/2.0.0
Updated kipi-plugins, pulled latest updates from   /development/3.0.0

Compiled digikam-sc.
Installed sucessfully.

Start digiKam, and it crashes.  

Reproducible: Always

Steps to Reproduce:
1. Compile and install
2. Run digiKam
Actual Results:  
badola@XPS:~/digikam-software-compilation/build> digikam 
QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still in use, all queries will cease to work.
Warning: option --plugin-path no longer exists.
Warning: option --plugin-path no longer exists.
bool Phonon::VLC::scanDevices(QList<Phonon::VLC::DeviceInfo>&) Probing for v4l2 devices 
found video capture device "/dev/video0" 
added device  Laptop_Integrated_Webcam_2HDM id 0 
added device  default id 1 
added device  aout_file id 2 
added device  jack id 3 
added device  pulse id 4 
added device  amem id 5 
added device  alsa id 6 
added device  adummy id 7 
added device  oss id 8 
digikam: symbol lookup error: digikam: undefined symbol: _ZN4KIPI12PluginLoader21setIgnoredPluginsListERK11QStringList


Expected Results:  
digiKam starts sucessfully
Comment 1 Abhinav Badola 2012-08-13 00:22:52 UTC
It is strange...

When I am executing from the compiled files folder
i.e.
  ./src/digikam/digikam
(It is executing fine)

but if I run the Installed version of the same, it is crashing with the same error.

Please tell me if there is some file that I need to delete in order to continue with proper execution.
Comment 2 Abhinav Badola 2012-08-13 01:09:54 UTC
On compiling Kipi-Plugins independently, this is the error I am getting..





[  3%] Building CXX object timeadjust/CMakeFiles/kipiplugin_timeadjust.dir/plugin_timeadjust.o
/home/badola/digikam-software-compilation/extra/kipi-plugins/timeadjust/plugin_timeadjust.cpp: In constructor ‘KIPITimeAdjustPlugin::Plugin_TimeAdjust::Plugin_TimeAdjust(QObject*, const QVariantList&)’:
/home/badola/digikam-software-compilation/extra/kipi-plugins/timeadjust/plugin_timeadjust.cpp:75:14: error: ‘setupXML’ was not declared in this scope
/home/badola/digikam-software-compilation/extra/kipi-plugins/timeadjust/plugin_timeadjust.cpp: In member function ‘void KIPITimeAdjustPlugin::Plugin_TimeAdjust::setupActions()’:
/home/badola/digikam-software-compilation/extra/kipi-plugins/timeadjust/plugin_timeadjust.cpp:103:36: error: ‘setDefaultCategory’ was not declared in this scope
In file included from /usr/include/klibloader.h:29:0,
                 from /usr/include/kgenericfactory.h:22,
                 from /home/badola/digikam-software-compilation/extra/kipi-plugins/timeadjust/plugin_timeadjust.cpp:33:
/usr/include/kpluginfactory.h: In static member function ‘static QObject* KPluginFactory::createInstance(QWidget*, QObject*, const QVariantList&) [with impl = KIPITimeAdjustPlugin::Plugin_TimeAdjust, ParentType = QObject, QObject = QObject, QVariantList = QList<QVariant>]’:
/usr/include/kpluginfactory.h:495:70:   instantiated from ‘QObject* (* KPluginFactory::InheritanceChecker<impl>::createInstanceFunction(...))(QWidget*, QObject*, const QVariantList&) [with impl = KIPITimeAdjustPlugin::Plugin_TimeAdjust, KPluginFactory::CreateInstanceFunction = QObject* (*)(QWidget*, QObject*, const QList<QVariant>&), QObject = QObject, QVariantList = QList<QVariant>]’
/home/badola/digikam-software-compilation/extra/kipi-plugins/timeadjust/plugin_timeadjust.cpp:51:1:   instantiated from here
/usr/include/kpluginfactory.h:477:32: error: cannot allocate an object of abstract type ‘KIPITimeAdjustPlugin::Plugin_TimeAdjust’
/home/badola/digikam-software-compilation/extra/kipi-plugins/build/timeadjust/../../timeadjust/plugin_timeadjust.h:40:7: note:   because the following virtual functions are pure within ‘KIPITimeAdjustPlugin::Plugin_TimeAdjust’:
/usr/local/include/libkipi/plugin.h:94:24: note:        virtual KIPI::Category KIPI::Plugin::category(KAction*) const
make[2]: *** [timeadjust/CMakeFiles/kipiplugin_timeadjust.dir/plugin_timeadjust.o] Error 1
make[1]: *** [timeadjust/CMakeFiles/kipiplugin_timeadjust.dir/all] Error 2
make: *** [all] Error 2
Comment 3 caulier.gilles 2012-08-13 07:40:40 UTC
It's a binary compatibilty issue about libkipi on your system. Update your local libkipi code using 2.0.0 branch, cleanup all and recompile whole digiKam SC. Of course all must be installed on your system, especially shared libs as libkipi.

Gilles Caulier
Comment 4 Abhinav Badola 2012-08-13 12:41:26 UTC
It worked.
I followed the following steps.

1. Updated libkipi, compiled and installed
2. Updated kipi-plugins, compiled and installed
3. Updated digiKam, compiled and installed.