Bug 307148

Summary: Build failed against libkipi 2.0.0
Product: kphotoalbum Reporter: nucleo <nucleo>
Component: generalAssignee: KPhotoAlbum Bugs <kpabugs>
Status: RESOLVED FIXED    
Severity: normal CC: blackie, caulier.gilles, cfeck, creffett, dodonvictor, echidnaman, johannes, kde, matthias, miika.turkia, plinnell, rdieter
Priority: NOR    
Version: 4.2   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: quick-n-dirty patch for new libkdcraw api

Description nucleo 2012-09-21 10:35:14 UTC
Build kphotoalbum-4.2 failed against libkipi 2.0.0 (released with digikam-3.0.0-beta1)



Reproducible: Always

Actual Results:  
[ 48%] Building CXX object CMakeFiles/kphotoalbum.dir/Plugins/ImageInfo.o
/usr/bin/c++   -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DKDE4_CMAKE_TOPLEVEL_DIR_LENGTH=21 -DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS -DKDAB_NYI=qWarning -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4  -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables  -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden -O2 -DNDEBUG -DQT_NO_DEBUG -I/builddir/build/BUILD/kphotoalbum-4.2/i686-redhat-linux-gnu -I/builddir/build/BUILD/kphotoalbum-4.2 -I/usr/include/kde4 -I/usr/include/kde4/KDE -I/usr/include/KDE -I/usr/include/phonon -I/usr/include/QtXmlPatterns -I/usr/include/QtXml -I/usr/include/QtWebKit -I/usr/include/QtUiTools -I/usr/include/QtTest -I/usr/include/QtSvg -I/usr/include/QtSql -I/usr/include/QtScriptTools -I/usr/include/QtScript -I/usr/include/QtOpenGL -I/usr/include/QtNetwork -I/usr/include/QtMultimedia -I/usr/include/QtHelp -I/usr/include/QtDesigner -I/usr/include/QtDeclarative -I/usr/include/QtDBus -I/usr/include/Qt3Support -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include/Qt -I/usr/lib/qt4/mkspecs/default    -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fexceptions -UQT_NO_EXCEPTIONS -DOVERRIDE= -I/usr/include/kde4 -I/usr/include/kde4 -o CMakeFiles/kphotoalbum.dir/Plugins/ImageInfo.o -c /builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.cpp
In file included from /builddir/build/BUILD/kphotoalbum-4.2/DB/GpsCoordinates.h:25:0,
                 from /builddir/build/BUILD/kphotoalbum-4.2/DB/ImageInfo.h:25,
                 from /builddir/build/BUILD/kphotoalbum-4.2/DB/ImageInfoList.h:22,
                 from /builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageCollection.h:24,
                 from /builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageCollection.cpp:21:
/usr/include/marble/global.h:2:2: warning: #warning global.h is deprecated. Please #include <marble/MarbleGlobal.h> instead (no further changes needed). [-Wcpp]
In file included from /builddir/build/BUILD/kphotoalbum-4.2/DB/GpsCoordinates.h:25:0,
                 from /builddir/build/BUILD/kphotoalbum-4.2/DB/ImageInfo.h:25,
                 from /builddir/build/BUILD/kphotoalbum-4.2/DB/ImageInfoList.h:22,
                 from /builddir/build/BUILD/kphotoalbum-4.2/DB/ImageDB.h:23,
                 from /builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.cpp:22:
/usr/include/marble/global.h:2:2: warning: #warning global.h is deprecated. Please #include <marble/MarbleGlobal.h> instead (no further changes needed). [-Wcpp]
In file included from /builddir/build/BUILD/kphotoalbum-4.2/Plugins/Interface.cpp:25:0:
/builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.h:53:35: error: 'KIPI::TimeSpec' has not been declared
/builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.h:54:56: error: 'KIPI::TimeSpec' has not been declared
In file included from /builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.cpp:21:0:
/builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.h:53:35: error: 'KIPI::TimeSpec' has not been declared
/builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.h:54:56: error: 'KIPI::TimeSpec' has not been declared
/usr/bin/cmake -E cmake_progress_report /builddir/build/BUILD/kphotoalbum-4.2/i686-redhat-linux-gnu/CMakeFiles 25
[ 49%] Building CXX object CMakeFiles/kphotoalbum.dir/Plugins/CategoryImageCollection.o
/usr/bin/c++   -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DKDE4_CMAKE_TOPLEVEL_DIR_LENGTH=21 -DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS -DKDAB_NYI=qWarning -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4  -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables  -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden -O2 -DNDEBUG -DQT_NO_DEBUG -I/builddir/build/BUILD/kphotoalbum-4.2/i686-redhat-linux-gnu -I/builddir/build/BUILD/kphotoalbum-4.2 -I/usr/include/kde4 -I/usr/include/kde4/KDE -I/usr/include/KDE -I/usr/include/phonon -I/usr/include/QtXmlPatterns -I/usr/include/QtXml -I/usr/include/QtWebKit -I/usr/include/QtUiTools -I/usr/include/QtTest -I/usr/include/QtSvg -I/usr/include/QtSql -I/usr/include/QtScriptTools -I/usr/include/QtScript -I/usr/include/QtOpenGL -I/usr/include/QtNetwork -I/usr/include/QtMultimedia -I/usr/include/QtHelp -I/usr/include/QtDesigner -I/usr/include/QtDeclarative -I/usr/include/QtDBus -I/usr/include/Qt3Support -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include/Qt -I/usr/lib/qt4/mkspecs/default    -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fexceptions -UQT_NO_EXCEPTIONS -DOVERRIDE= -I/usr/include/kde4 -I/usr/include/kde4 -o CMakeFiles/kphotoalbum.dir/Plugins/CategoryImageCollection.o -c /builddir/build/BUILD/kphotoalbum-4.2/Plugins/CategoryImageCollection.cpp
In file included from /builddir/build/BUILD/kphotoalbum-4.2/DB/GpsCoordinates.h:25:0,
                 from /builddir/build/BUILD/kphotoalbum-4.2/DB/ImageInfo.h:25,
                 from /builddir/build/BUILD/kphotoalbum-4.2/DB/ImageInfoList.h:22,
                 from /builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageCollection.h:24,
                 from /builddir/build/BUILD/kphotoalbum-4.2/Plugins/CategoryImageCollection.h:23,
                 from /builddir/build/BUILD/kphotoalbum-4.2/Plugins/CategoryImageCollection.cpp:22:
/usr/include/marble/global.h:2:2: warning: #warning global.h is deprecated. Please #include <marble/MarbleGlobal.h> instead (no further changes needed). [-Wcpp]
/builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.cpp:186:43: error: 'QDateTime Plugins::ImageInfo::time' is not a static member of 'class Plugins::ImageInfo'
/builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.cpp:186:37: error: 'TimeSpec' is not a member of 'KIPI'
/builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.cpp:186:37: note: suggested alternative:
In file included from /usr/include/QtCore/qbytearray.h:46:0,
                 from /usr/include/QtCore/qstring.h:46,
                 from /usr/include/QtCore/QString:1,
                 from /usr/include/kde4/libkipi/imageinfoshared.h:39,
                 from /builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.h:23,
                 from /builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.cpp:21:
/usr/include/QtCore/qnamespace.h:1404:10: note:   'Qt::TimeSpec'
/builddir/build/BUILD/kphotoalbum-4.2/Plugins/ImageInfo.cpp:187:1: error: expected ',' or ';' before '{' token
make[2]: *** [CMakeFiles/kphotoalbum.dir/Plugins/ImageInfo.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/kphotoalbum.dir/Plugins/Interface.o] Error 1
make[2]: Leaving directory `/builddir/build/BUILD/kphotoalbum-4.2/i686-redhat-linux-gnu'
make[1]: Leaving directory `/builddir/build/BUILD/kphotoalbum-4.2/i686-redhat-linux-gnu'
make[1]: *** [CMakeFiles/kphotoalbum.dir/all] Error 2
make: *** [all] Error 2
make: Leaving directory `/builddir/build/BUILD/kphotoalbum-4.2/i686-redhat-linux-gnu'
Comment 1 Miika Turkia 2012-09-21 18:22:14 UTC
Can you try out the 4.3-beta1? There is a fix to compile on KDE 4.9 that might do the trick for libkipi 2.0.0 also. (MarbleGlobal.h warning still remains but the errors are hopefully resolved.)

http://download.kde.org/unstable/kphotoalbum/4.3-beta1/src/kphotoalbum-4.3-beta1.tar.bz2
Comment 2 Rex Dieter 2012-09-21 19:31:47 UTC
that one fails too,

In file included from /builddir/build/BUILD/kphotoalbum-4.3-beta1/Plugins/ImageInfo.cpp:21:0:
/builddir/build/BUILD/kphotoalbum-4.3-beta1/Plugins/ImageInfo.h:53:35: error: 'KIPI::TimeSpec' has not been declared
/builddir/build/BUILD/kphotoalbum-4.3-beta1/Plugins/ImageInfo.h:54:56: error: 'KIPI::TimeSpec' has not been declared
/builddir/build/BUILD/kphotoalbum-4.3-beta1/Plugins/ImageInfo.cpp:186:43: error: 'QDateTime Plugins::ImageInfo::time' is not a static member of 'class Plugins::ImageInfo'
/builddir/build/BUILD/kphotoalbum-4.3-beta1/Plugins/ImageInfo.cpp:186:37: error: 'TimeSpec' is not a member of 'KIPI'
/builddir/build/BUILD/kphotoalbum-4.3-beta1/Plugins/ImageInfo.cpp:186:37: note: suggested alternative:
In file included from /usr/include/QtCore/qbytearray.h:46:0,
                 from /usr/include/QtCore/qstring.h:46,
                 from /usr/include/QtCore/QString:1,
                 from /usr/include/kde4/libkipi/imageinfoshared.h:39,
                 from /builddir/build/BUILD/kphotoalbum-4.3-beta1/Plugins/ImageInfo.h:23,
                 from /builddir/build/BUILD/kphotoalbum-4.3-beta1/Plugins/ImageInfo.cpp:21:
/usr/include/QtCore/qnamespace.h:1404:10: note:   'Qt::TimeSpec'
/builddir/build/BUILD/kphotoalbum-4.3-beta1/Plugins/ImageInfo.cpp:187:1: error: expected ',' or ';' before '{' token
make[2]: *** [CMakeFiles/kphotoalbum.dir/Plugins/ImageInfo.o] Error 1
make[2]: Leaving directory `/builddir/build/BUILD/kphotoalbum-4.3-beta1/i686-redhat-linux-gnu'
make[1]: Leaving directory `/builddir/build/BUILD/kphotoalbum-4.3-beta1/i686-redhat-linux-gnu'
make: Leaving directory `/builddir/build/BUILD/kphotoalbum-4.3-beta1/i686-redhat-linux-gnu'
make[1]: *** [CMakeFiles/kphotoalbum.dir/all] Error 2
Comment 4 Miika Turkia 2012-09-28 05:01:26 UTC
Seems that the KIPI interfaces have changed quite a bit more than that. Following code fails with the error message underneath:
    KIPI::ConfigWidget* _pluginConfig;

    _pluginConfig = KIPI::PluginLoader::instance()->configWidget( this );
    lay1->addWidget( _pluginConfig );


/opt/kpa/kpa-git/kphotoalbum/Settings/PluginsPage.cpp: In constructor ‘Settings::PluginsPage::PluginsPage(QWidget*)’:
/opt/kpa/kpa-git/kphotoalbum/Settings/PluginsPage.cpp:39:36: error: no matching function for call to ‘QVBoxLayout::addWidget(KIPI::ConfigWidget*&)’
/opt/kpa/kpa-git/kphotoalbum/Settings/PluginsPage.cpp:39:36: note: candidate is:
/usr/include/qt4/QtGui/qboxlayout.h:85:10: note: void QBoxLayout::addWidget(QWidget*, int, Qt::Alignment)
/usr/include/qt4/QtGui/qboxlayout.h:85:10: note:   no known conversion for argument 1 from ‘KIPI::ConfigWidget*’ to ‘QWidget*’
/opt/kpa/kpa-git/kphotoalbum/Settings/PluginsPage.cpp: In member function ‘void Settings::PluginsPage::saveSettings(Settings::SettingsData*)’:
/opt/kpa/kpa-git/kphotoalbum/Settings/PluginsPage.cpp:47:18: error: invalid use of incomplete type ‘struct KIPI::ConfigWidget’
/opt/kpa/kpa-git/kphotoalbum/Settings/PluginsPage.h:22:24: error: forward declaration of ‘struct KIPI::ConfigWidget’
make[2]: *** [CMakeFiles/kphotoalbum.dir/Settings/PluginsPage.o] Error 1
make[1]: *** [CMakeFiles/kphotoalbum.dir/all] Error 2
make: *** [all] Error 2
Comment 5 caulier.gilles 2012-09-28 06:54:30 UTC
Miika,

This is another problem. Here we talk about FindKIPI.cake script, not C++ interface, which have changed indeep of course due to this project :

http://community.kde.org/Digikam/GSoC2012#Porting_Libkipi_and_KIPI-Plugins_to_KDE_XML-GUI

I see a mail from Jesper to The student in charge of the project to provide a patch for KPhotoAlbum

Gilles Caulier
Comment 6 Miika Turkia 2012-09-29 03:39:02 UTC
I get the described error message after doing the suggested fix to start using the new libkipi API.
Comment 7 Christoph Feck 2012-11-14 12:42:36 UTC
> I see a mail from Jesper to The student in charge of the project to provide a patch for KPhotoAlbum

What is the status of the patch?
Comment 8 Christoph Feck 2012-11-24 20:09:38 UTC
*** Bug 310593 has been marked as a duplicate of this bug. ***
Comment 9 Johannes Zarl-Zierl 2012-11-28 16:18:02 UTC
Could you try the kipi branch at https://github.com/jzarl/kphotoalbum/tree/kipi and report your results?

Compile issues are definitely fixed, but I currently lack a test system with the newest kipi-plugins installed.
Comment 10 Jonathan Thomas 2012-12-01 21:44:23 UTC
Builds (as expected), but runs in to a crash shortly after startup:

Application: KPhotoAlbum (kphotoalbum), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f431642f800 (LWP 22127))]

Thread 4 (Thread 0x7f430115f700 (LWP 22137)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:168
#1  0x00007f431371404b in wait (time=18446744073709551615, this=0x23bc540) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x23b80c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000004f0e3a in ImageManager::AsyncLoader::next (this=0x23b8090) at /tmp/kphotoalbum/ImageManager/AsyncLoader.cpp:127
#4  0x00000000004f063b in ImageManager::ImageLoaderThread::run (this=0x239c460) at /tmp/kphotoalbum/ImageManager/ImageLoaderThread.cpp:56
#5  0x00007f4313713aec in QThreadPrivate::start (arg=0x239c460) at thread/qthread_unix.cpp:338
#6  0x00007f431197ef9f in start_thread (arg=0x7f430115f700) at pthread_create.c:311
#7  0x00007f4311c8b0cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 3 (Thread 0x7f430095e700 (LWP 22138)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:168
#1  0x00007f431371404b in wait (time=18446744073709551615, this=0x23bc540) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x23b80c0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000004f0e3a in ImageManager::AsyncLoader::next (this=0x23b8090) at /tmp/kphotoalbum/ImageManager/AsyncLoader.cpp:127
#4  0x00000000004f063b in ImageManager::ImageLoaderThread::run (this=0x23cfb80) at /tmp/kphotoalbum/ImageManager/ImageLoaderThread.cpp:56
#5  0x00007f4313713aec in QThreadPrivate::start (arg=0x23cfb80) at thread/qthread_unix.cpp:338
#6  0x00007f431197ef9f in start_thread (arg=0x7f430095e700) at pthread_create.c:311
#7  0x00007f4311c8b0cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 2 (Thread 0x7f42f32de700 (LWP 22141)):
#0  0x00007f4311c7f44d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f430dd18d64 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f430dd18e84 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f431383ec16 in QEventDispatcherGlib::processEvents (this=0x7f42ec0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f431380f2bf in QEventLoop::processEvents (this=this@entry=0x7f42f32ddd50, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f431380f548 in QEventLoop::exec (this=0x7f42f32ddd50, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f4313710b10 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f43137ef9af in QInotifyFileSystemWatcherEngine::run (this=0x2512c10) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f4313713aec in QThreadPrivate::start (arg=0x2512c10) at thread/qthread_unix.cpp:338
#9  0x00007f431197ef9f in start_thread (arg=0x7f42f32de700) at pthread_create.c:311
#10 0x00007f4311c8b0cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 1 (Thread 0x7f431642f800 (LWP 22127)):
[KCrash Handler]
#6  QString::operator= (this=0x72006500730097, other=...) at tools/qstring.cpp:1411
#7  0x00007f42f21fbda9 in KIPI::Plugin::setUiBaseName (this=0x2566860, name=<optimized out>) at ../../libkipi/plugin.cpp:309
#8  0x00007f42f26b0bbf in ?? () from /usr/lib/kde4/kipiplugin_ipodexport.so
#9  0x00007f42f26b10b7 in ?? () from /usr/lib/kde4/kipiplugin_ipodexport.so
#10 0x00007f4313d6b2a5 in KPluginFactory::create (this=0x2687b20, iface=0x7f43156f20e0 "KIPI::Plugin", parentWidget=0x0, parent=0x2269950, args=..., keyword=...) at ../../kdecore/util/kpluginfactory.cpp:203
#11 0x00007f43156e6596 in KIPI::PluginLoader::Info::plugin() const () from /usr/lib/libkipi.so.9
#12 0x00000000004e1729 in MainWindow::Window::plug (this=0x1fbd8e0) at /tmp/kphotoalbum/MainWindow/Window.cpp:1439
#13 0x00007f4313825f5f in QMetaObject::activate (sender=0x2458630, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#14 0x00000000004dc7cd in MainWindow::Window::loadPlugins (this=0x1fbd8e0) at /tmp/kphotoalbum/MainWindow/Window.cpp:1408
#15 0x00007f4313825f5f in QMetaObject::activate (sender=0x22f8790, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3547
#16 0x00007f4313818987 in QMetaMethod::invoke (this=this@entry=0x7fff137605b0, object=object@entry=0x22f8790, connectionType=Qt::DirectConnection, connectionType@entry=Qt::AutoConnection, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1664
#17 0x00007f431381ad5c in QMetaObject::invokeMethod (obj=0x22f8790, member=<optimized out>, type=Qt::AutoConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1179
#18 0x00007f430ec23a2d in ?? () from /usr/lib/x86_64-linux-gnu/libdbusmenu-qt.so.2
#19 0x00007f430ec25b76 in ?? () from /usr/lib/x86_64-linux-gnu/libdbusmenu-qt.so.2
#20 0x00007f430ec25d1f in ?? () from /usr/lib/x86_64-linux-gnu/libdbusmenu-qt.so.2
#21 0x00007f431343fed3 in QDBusConnectionPrivate::deliverCall (this=this@entry=0x1de7640, object=object@entry=0x229f0f0, msg=..., metaTypes=..., slotIdx=11) at qdbusintegrator.cpp:947
#22 0x00007f4313440fd5 in QDBusConnectionPrivate::activateCall (this=this@entry=0x1de7640, object=0x229f0f0, flags=4080, msg=...) at qdbusintegrator.cpp:857
#23 0x00007f4313441677 in QDBusConnectionPrivate::activateObject (this=0x1de7640, node=..., msg=..., pathStartPos=<optimized out>) at qdbusintegrator.cpp:1443
#24 0x00007f4313441a2b in QDBusActivateObjectEvent::placeMetaCall (this=0x25012c0) at qdbusintegrator.cpp:1537
#25 0x00007f431382543e in QObject::event (this=0x229f0f0, e=<optimized out>) at kernel/qobject.cpp:1195
#26 0x00007f431293ce9c in QApplicationPrivate::notify_helper (this=this@entry=0x1d76b20, receiver=receiver@entry=0x229f0f0, e=e@entry=0x25012c0) at kernel/qapplication.cpp:4562
#27 0x00007f431294130a in QApplication::notify (this=0x7fff13761e50, receiver=0x229f0f0, e=0x25012c0) at kernel/qapplication.cpp:4423
#28 0x00007f431424e386 in KApplication::notify (this=0x7fff13761e50, receiver=0x229f0f0, event=0x25012c0) at ../../kdeui/kernel/kapplication.cpp:311
#29 0x00007f431381056e in QCoreApplication::notifyInternal (this=0x7fff13761e50, receiver=receiver@entry=0x229f0f0, event=event@entry=0x25012c0) at kernel/qcoreapplication.cpp:915
#30 0x00007f43138143f1 in sendEvent (event=0x25012c0, receiver=0x229f0f0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#31 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1d3dff0) at kernel/qcoreapplication.cpp:1539
#32 0x00007f431383ea63 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#33 postEventSourceDispatch (s=0x1d67340) at kernel/qeventdispatcher_glib.cpp:279
#34 0x00007f430dd18a95 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007f430dd18dc8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007f430dd18e84 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007f431383ebf6 in QEventDispatcherGlib::processEvents (this=0x1d3f4b0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#38 0x00007f43129e1c1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#39 0x00007f431380f2bf in QEventLoop::processEvents (this=this@entry=0x7fff137617e0, flags=...) at kernel/qeventloop.cpp:149
#40 0x00007f431380f548 in QEventLoop::exec (this=0x7fff137617e0, flags=...) at kernel/qeventloop.cpp:204
#41 0x00007f4313814708 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#42 0x000000000043f711 in main (argc=1, argv=0x7fff13761f88) at /tmp/kphotoalbum/main.cpp:84
Comment 11 Johannes Zarl-Zierl 2012-12-03 16:07:30 UTC
I just realised that I forgot to call KIPI::PluginLoader::init(). That has been fixed in https://github.com/jzarl/kphotoalbum/tree/kipi

If that's not the reason for the crash, Bug 307775 also looks like a reasonable cause. Could you please check which exact versions of libkipi and kipi-plugins you are using?

# ldd /path/to/kphotoalbum |grep kipi
debian-based:
# dpkg -l kipi-plugins libkipi\*
rpm-based:
# rpm -qa |grep kipi
kipi from source:
# locate libkipi |grep .so
Comment 12 Jonathan Thomas 2012-12-03 17:56:00 UTC
Ah, it was building against libkipi9 instead of libkipi10, so there's that...

Actually, when compiling with the latest libkipi I get a compiler errror:

In file included from /tmp/kphotoalbum/Plugins/Interface.cpp:25:0:
/tmp/kphotoalbum/Plugins/ImageInfo.h:53:35: error: ‘KIPI::TimeSpec’ has not been declared
/tmp/kphotoalbum/Plugins/ImageInfo.h:54:56: error: ‘KIPI::TimeSpec’ has not been declared

Output of locate:
/usr/lib/libkipi.so
/usr/lib/libkipi.so.10
/usr/lib/libkipi.so.10.0.0
/usr/lib/libkipiplugins.so
/usr/lib/libkipiplugins.so.3
/usr/lib/libkipiplugins.so.3.0.0
/usr/lib/debug/usr/lib/libkipi.so.10.0.0
Comment 13 Johannes Zarl-Zierl 2012-12-03 19:06:48 UTC
I believe you are are trying this on branch master:
https://github.com/jzarl/kphotoalbum/blob/master/Plugins/ImageInfo.h#L53

On branch "kipi", the KIPI::TimeSpec should be on line 58:
https://github.com/jzarl/kphotoalbum/blob/kipi/Plugins/ImageInfo.h#L58
Comment 14 Jonathan Thomas 2012-12-03 23:08:17 UTC
Ah, I forgot to "git branch kipi" after I did the clone... oops.

I'm (really) building on the kipi branch this time, but it looks like it'll need to be ported to the newest libkdcraw in addition to the kipi porting: (I have libkdcraw 2.2.0, as distributed with KDE 4.9.80)

[ 53%] Building CXX object CMakeFiles/kphotoalbum.dir/ImageManager/RawImageDecoder.o
/tmp/kphotoalbum/ImageManager/RawImageDecoder.cpp: In member function ‘virtual bool ImageManager::RAWImageDecoder::_decode(QImage*, const DB::FileName&, QSize*, int)’:
/tmp/kphotoalbum/ImageManager/RawImageDecoder.cpp:40:11: error: ‘loadDcrawPreview’ is not a member of ‘KDcrawIface::KDcraw’
Comment 15 Rex Dieter 2012-12-04 02:21:43 UTC
Created attachment 75622 [details]
quick-n-dirty patch for new libkdcraw api

Seems newer libkdcraw simply renamed the method used here, this patch let's it build at least (wasn't able to test runtime functionality yet)
Comment 16 Johannes Zarl-Zierl 2012-12-04 23:23:29 UTC
Yes, this was a simple rename. The patch seems good; using the version number to distinguish should work.

So with this patch applied I guess we can push this to master?
Comment 17 Rex Dieter 2012-12-05 00:08:52 UTC
+1 to commit, to get more eyes and broader testing.
Comment 18 Rex Dieter 2012-12-05 00:09:43 UTC
(i can commit the libkdcraw part if there's no objection)
Comment 19 Rex Dieter 2012-12-05 05:22:17 UTC
Git commit ee9e93ba5be584c52d404a9c3b534cecaf11febd by Rex Dieter.
Committed on 05/12/2012 at 06:21.
Pushed by rdieter into branch 'master'.

fix build for newer libkdcraw api

M  +5    -0    ImageManager/RawImageDecoder.cpp

http://commits.kde.org/kphotoalbum/ee9e93ba5be584c52d404a9c3b534cecaf11febd
Comment 20 Johannes Zarl-Zierl 2012-12-09 23:47:55 UTC
Git commit c47ce5ad1a34917d611c4b1faa0e3da8d2f45237 by Johannes Zarl.
Committed on 25/11/2012 at 18:35.
Pushed by johanneszarl into branch 'master'.

Basic libkipi-2.0.0 support.

M  +10   -1    MainWindow/Window.cpp
M  +1    -0    MainWindow/Window.h
M  +237  -89   Plugins/ImageInfo.cpp
M  +33   -16   Plugins/ImageInfo.h
M  +4    -0    Settings/PluginsPage.cpp

http://commits.kde.org/kphotoalbum/c47ce5ad1a34917d611c4b1faa0e3da8d2f45237
Comment 21 Jesper Pedersen 2012-12-11 06:48:22 UTC
Awesome, great work!
Comment 22 Miika Turkia 2013-01-12 14:09:48 UTC
*** Bug 313130 has been marked as a duplicate of this bug. ***
Comment 23 Miika Turkia 2013-01-13 06:41:14 UTC
*** Bug 313160 has been marked as a duplicate of this bug. ***