Version: 0.9.0 (using KDE ) OS: Linux This Tiff file, that I generated with photoshop and appears normal to gThumb, Krita, etc, is ignored (not listed) by digikam's image browser (just throw it in one of your photo sub-folders and ask digikam to refresh) URL: http://www.arielpablo.com.ar/unprotected-files/dsc_0006-rgb-krita-digikam-reso-fix-ps.tiff Deleting database and reloading digikam, causes digikam to die during database regeneration. Backtrace attached in the next comment. Trying to import the image produces a dialog box saying: "the process for the digikamalbums:// protocol died unexpectedly"
Created attachment 19118 [details] backtrace for the database regeneration crash
Ari, The crash appear in Exiv2 library. Witch Exiv2 release you use ? 0.12 or current implementation from svn ? Gilles Caulier
Yes, this is an exiv2 bug, I can reproduce it. http://dev.robotbattle.com/bugs/view.php?id=503 Thanks for reporting the issue. -ahu.
Thanks Andreas, I close this file now. It's a duplicate on Exiv2 bugzilla file #503 Gilles
Fixed with rev. 1027 in the exiv2 SVN repository. The image appears to have an invalid IPTC dataset - a bug in the software which wrote the IPTC data? This is what exiv2 finds now: ahuggel@mowgli> exiv2 -pi pic/dsc_0006-rgb-krita-digikam-reso-fix-ps.tiff Warning: IPTC dataset Iptc.Application2.Preview has invalid size 943868237; skipped. Iptc.Application2.RecordVersion Short 1 2 -ahu.
Ari, Test check if all is right with digiKam, please following these notice : - use the current Exiv2 source code from svn repository (not the Exiv2 0.12) - recompile and install Exiv2 - recompile and install digiKam and kipi-plugins from svn - restart digikam and try again. Gilles
Just did a quick test with exiv2 svn without recompiling digikam or kipiplugins yet, no change in this setup. I can't recompile digikam right now as I am about to finish preparing my lab prints. I'll rebuild & test digikam & kipiplugins during the week and post back the results. Thanks for you support on this one!
Hi, Still having exactly the same problem with the SVN version, my PS image is a digikam crasher. I'll attach the new backtrace. Leaving the bug as "fixed"... Just to be sure, this is what I did: From here: http://www.exiv2.org/download.html I did: svn checkout svn://dev.robotbattle.com/exiv2/trunk . Then: make configure ./configure --prefix=/usr make sudo make install (curiously, exiv2 -V still shows version 0.12, is this right?) (I checked the creation time of /usr/bin/exiv2 and confirmed that it is the one I just built) Then I downloaded digikam & kipiplugins from SVN following this instructions: http://www.digikam.org/?q=download/svn I followed the "UNSTABLE" instructions. Now when I load Digikam, I see version 9.1 so I'm sure I'm using the new code. ------------------------
Created attachment 19204 [details] new backtrace, using exiv2 svn, digikam 9.1 svn, kipiplugins svn.
Yes, the SVN version claims to be v0.12, that's right. Maybe I should make it a habit to change that immediately after a release. The installation process you followed (for exiv2) seems ok, but the new backtrace looks exactly like the old one. Can you please triple-check that digikam is using the newly compiled version? (e.g., remove all traces of any exiv2 installation, then only re-install it...) Also, what happens if you just run the new exiv2 -pi <killer-image>? -ahu.
ariel@polaris:/media/hda6/Fotos/Prints$ /usr/bin/exiv2 -pi dsc_0006-rgb-krita-digikam-reso-fix-ps.tiff Warning: IPTC dataset Iptc.Application2.Preview has invalid size 943868237; skipped. Iptc.Application2.RecordVersion Short 1 2 ariel@polaris:/media/hda6/Fotos/Prints$ which exiv2 /usr/bin/exiv2 How can I make sure which exiv2 digikam is using? Or in other words, how can I remove all traces of exiv2? is it only the /usr/bin/exiv2 executable or is there something else? Sorry to ask but I'm a newbie in the build-your-own-software business :)
Please disregard the previous request. I found the old exiv2 libs in /usr/local/lib and deleted them all. Reinstalled exiv2 and now everything is working fine. No crashes in digikam anymore. Cool. Thanks!! Ari
Thanks for following through. > How can I make sure which exiv2 digikam is using? Try ldd digikam to see which libraries are used (that shows where the library is, but still in general not necessarily which version it is). Gilles, There have been a few similar misunderstandings as it can be difficult for non-developer users to trace library dependencies. I suggest to add a global function std::string Exiv2::version() to exiv2 and digikam could use it in the about screen (or similar) and/or dump the info when invoked with a certain command line flag (e.g., add such output to --version). Another alternative might be a script which uses ldd and co. to list the dependencies and extract soname info from the libraries. What do you think? -ahu.
>There have been a few similar misunderstandings as it can be difficult for non-developer >users to trace library dependencies. I suggest to add a global function std::string >Exiv2::version() to exiv2 and digikam could use it in the about screen (or similar) Yes, i thinking the same issue since a long time. I'm doing the same way to display the libkipi version in About dialog. I will do it with Exiv2. >Another alternative might be a script which uses ldd and co. to list the dependencies and >extract soname info from the libraries. What do you think? This can be a simple command line to use to debug. This command can be given in web project page and HACKING file from svn. Fabien, what do you think about ? Gilles
SVN commit 621602 by cgilles: digikam from trunk : show more informations in About pannel about shared library version used : Exiv2 and Gphoto2. CCBUGS: 139658 M +95 -96 Makefile.am M +25 -3 main.cpp --- trunk/extragear/graphics/digikam/digikam/Makefile.am #621601:621602 @@ -1,26 +1,25 @@ METASOURCES = AUTO INCLUDES = -I$(top_srcdir)/digikam/sqlite \ - -I$(top_srcdir)/digikam/libs/histogram \ - -I$(top_srcdir)/digikam/libs/levels \ - -I$(top_srcdir)/digikam/libs/curves \ - -I$(top_srcdir)/digikam/libs/themeengine \ - -I$(top_srcdir)/digikam/libs/widgets/common \ - -I$(top_srcdir)/digikam/libs/thumbbar \ - -I$(top_srcdir)/digikam/libs/jpegutils \ - -I$(top_srcdir)/digikam/libs/dcraw \ - -I$(top_srcdir)/digikam/libs/dimg \ - -I$(top_srcdir)/digikam/libs/dmetadata \ - -I$(top_srcdir)/digikam/libs/imageproperties \ - -I$(top_srcdir)/digikam/libs/threadimageio \ - -I$(top_srcdir)/digikam/libs/dialogs \ - -I$(top_builddir)/digikam/libs/dialogs \ - -I$(top_srcdir)/digikam/utilities/cameragui \ - -I$(top_srcdir)/digikam/utilities/imageeditor/editor \ - -I$(top_srcdir)/digikam/utilities/imageeditor/canvas \ - -I$(top_srcdir)/digikam/utilities/splashscreen \ - -I$(top_srcdir)/digikam/utilities/setup \ - $(LIBKIPI_CFLAGS) $(all_includes) + -I$(top_srcdir)/digikam/libs/histogram \ + -I$(top_srcdir)/digikam/libs/levels \ + -I$(top_srcdir)/digikam/libs/curves \ + -I$(top_srcdir)/digikam/libs/themeengine \ + -I$(top_srcdir)/digikam/libs/widgets/common \ + -I$(top_srcdir)/digikam/libs/thumbbar \ + -I$(top_srcdir)/digikam/libs/jpegutils \ + -I$(top_srcdir)/digikam/libs/dcraw \ + -I$(top_srcdir)/digikam/libs/dimg \ + -I$(top_srcdir)/digikam/libs/dmetadata \ + -I$(top_srcdir)/digikam/libs/imageproperties \ + -I$(top_srcdir)/digikam/libs/threadimageio \ + -I$(top_srcdir)/digikam/libs/dialogs \ + -I$(top_srcdir)/digikam/utilities/cameragui \ + -I$(top_srcdir)/digikam/utilities/imageeditor/editor \ + -I$(top_srcdir)/digikam/utilities/imageeditor/canvas \ + -I$(top_srcdir)/digikam/utilities/splashscreen \ + -I$(top_srcdir)/digikam/utilities/setup \ + $(LIBKIPI_CFLAGS) $(GPHOTO_CFLAGS) $(all_includes) # -- shared digiKam library rules ----------------------------------------------- @@ -31,81 +30,81 @@ # to unbreak compilation with './configure -enable-final' option. I suspect a problem with # X11 header included into albumfolderview.cpp. libdigikam_la_SOURCES = kdateedit.cpp \ - album.cpp \ - albumdb.cpp \ - albumdb_sqlite2.cpp \ - albumiconview.cpp \ - albumicongroupitem.cpp \ - albumiconitem.cpp \ - albumitemhandler.cpp \ - albumfiletip.cpp \ - albumfolderview.cpp \ - albumhistory.cpp \ - albumlister.cpp \ - albummanager.cpp \ - albumpropsedit.cpp \ - albumsettings.cpp \ - albumthumbnailloader.cpp \ - albumwidgetstack.cpp \ - batchthumbsgenerator.cpp \ - cameradragobject.cpp \ - cameralist.cpp \ - cameratype.cpp \ - datefolderview.cpp \ - dcopiface.cpp \ - dcopiface.skel \ - digikamapp.cpp \ - digikamfirstrun.cpp \ - digikamview.cpp \ - dio.cpp \ - dragobjects.cpp \ - firstrun.cpp \ - folderitem.cpp \ - folderview.cpp \ - iconview.cpp \ - icongroupitem.cpp \ - iconitem.cpp \ - imageattributeswatch.cpp \ - imageinfo.cpp \ - imagepreviewwidget.cpp \ - imagepreviewview.cpp \ - kdatetimeedit.cpp \ - kdatepickerpopup.cpp \ - kipiinterface.cpp \ - mediaplayerview.cpp \ - monthwidget.cpp \ - pixmapmanager.cpp \ - ratingwidget.cpp \ - scanlib.cpp \ - searchadvanceddialog.cpp \ - searchfolderview.cpp \ - searchquickdialog.cpp \ - searchresultsview.cpp \ - searchresultsitem.cpp \ - searchwidgets.cpp \ - syncjob.cpp \ - tagcreatedlg.cpp \ - tagfilterview.cpp \ - tagfolderview.cpp \ - tagspopupmenu.cpp \ - upgradedb_sqlite2tosqlite3.cpp \ - welcomepageview.cpp + album.cpp \ + albumdb.cpp \ + albumdb_sqlite2.cpp \ + albumiconview.cpp \ + albumicongroupitem.cpp \ + albumiconitem.cpp \ + albumitemhandler.cpp \ + albumfiletip.cpp \ + albumfolderview.cpp \ + albumhistory.cpp \ + albumlister.cpp \ + albummanager.cpp \ + albumpropsedit.cpp \ + albumsettings.cpp \ + albumthumbnailloader.cpp \ + albumwidgetstack.cpp \ + batchthumbsgenerator.cpp \ + cameradragobject.cpp \ + cameralist.cpp \ + cameratype.cpp \ + datefolderview.cpp \ + dcopiface.cpp \ + dcopiface.skel \ + digikamapp.cpp \ + digikamfirstrun.cpp \ + digikamview.cpp \ + dio.cpp \ + dragobjects.cpp \ + firstrun.cpp \ + folderitem.cpp \ + folderview.cpp \ + iconview.cpp \ + icongroupitem.cpp \ + iconitem.cpp \ + imageattributeswatch.cpp \ + imageinfo.cpp \ + imagepreviewwidget.cpp \ + imagepreviewview.cpp \ + kdatetimeedit.cpp \ + kdatepickerpopup.cpp \ + kipiinterface.cpp \ + mediaplayerview.cpp \ + monthwidget.cpp \ + pixmapmanager.cpp \ + ratingwidget.cpp \ + scanlib.cpp \ + searchadvanceddialog.cpp \ + searchfolderview.cpp \ + searchquickdialog.cpp \ + searchresultsview.cpp \ + searchresultsitem.cpp \ + searchwidgets.cpp \ + syncjob.cpp \ + tagcreatedlg.cpp \ + tagfilterview.cpp \ + tagfolderview.cpp \ + tagspopupmenu.cpp \ + upgradedb_sqlite2tosqlite3.cpp \ + welcomepageview.cpp libdigikam_la_LIBADD = $(LIB_KIO) $(LIB_SQLITE3) $(LIB_KABC) $(LIB_KHTML) \ - $(LIBKIPI_LIBS) $(LIB_KUTILS) $(EXIV2_LIBS) \ - $(top_builddir)/digikam/sqlite/libsqlite.la \ - $(top_builddir)/digikam/libs/thumbbar/libthumbbar.la \ - $(top_builddir)/digikam/libs/themeengine/libthemeengine.la \ - $(top_builddir)/digikam/libs/widgets/libwidgets.la \ - $(top_builddir)/digikam/libs/dialogs/libdialog.la \ - $(top_builddir)/digikam/libs/jpegutils/libjpegutils.la \ - $(top_builddir)/digikam/libs/imageproperties/libimagepropertiesdigikam.la \ - $(top_builddir)/digikam/libs/threadimageio/libthreadimageio.la \ - $(top_builddir)/digikam/utilities/cameragui/libcameragui.la \ - $(top_builddir)/digikam/utilities/imageeditor/canvas/libdimgcanvas.la \ - $(top_builddir)/digikam/utilities/imageeditor/editor/libdimgeditor.la \ - $(top_builddir)/digikam/utilities/splashscreen/libsplashscreen.la \ - $(top_builddir)/digikam/utilities/setup/libsetup.la + $(LIBKIPI_LIBS) $(LIB_KUTILS) $(EXIV2_LIBS) \ + $(top_builddir)/digikam/sqlite/libsqlite.la \ + $(top_builddir)/digikam/libs/thumbbar/libthumbbar.la \ + $(top_builddir)/digikam/libs/themeengine/libthemeengine.la \ + $(top_builddir)/digikam/libs/widgets/libwidgets.la \ + $(top_builddir)/digikam/libs/dialogs/libdialog.la \ + $(top_builddir)/digikam/libs/jpegutils/libjpegutils.la \ + $(top_builddir)/digikam/libs/imageproperties/libimagepropertiesdigikam.la \ + $(top_builddir)/digikam/libs/threadimageio/libthreadimageio.la \ + $(top_builddir)/digikam/utilities/cameragui/libcameragui.la \ + $(top_builddir)/digikam/utilities/imageeditor/canvas/libdimgcanvas.la \ + $(top_builddir)/digikam/utilities/imageeditor/editor/libdimgeditor.la \ + $(top_builddir)/digikam/utilities/splashscreen/libsplashscreen.la \ + $(top_builddir)/digikam/utilities/setup/libsetup.la libdigikam_la_LDFLAGS = $(all_libraries) $(KDE_RPATH) -no-undefined @@ -115,10 +114,10 @@ digikam_SOURCES = main.cpp digikam_LDADD = $(LIB_QT) $(LIB_KDECORE) $(LIB_KDEUI) \ - $(LIBSOCKET) $(LIB_KFILE) $(LIB_KPARTS) $(LIB_KUTILS) \ - libdigikam.la + $(LIBSOCKET) $(LIB_KFILE) $(LIB_KPARTS) $(LIB_KUTILS) \ + libdigikam.la -digikam_LDFLAGS = $(KDE_RPATH) $(all_libraries) $(LIB_KUTILS) +digikam_LDFLAGS = $(KDE_RPATH) $(all_libraries) $(LIB_KUTILS) rcdir = $(kde_datadir)/digikam rc_DATA = digikamui.rc --- trunk/extragear/graphics/digikam/digikam/main.cpp #621601:621602 @@ -47,6 +47,17 @@ #include <libkipi/version.h> +// Exiv2 includes. + +#include <exiv2/exiv2_version.h> + +// Gphoto2 includes. + +extern "C" +{ +#include <gphoto2-version.h> +} + // Local includes. #include "version.h" @@ -64,10 +75,19 @@ int main(int argc, char *argv[]) { - QString description = QString(I18N_NOOP("A Photo-Management Application for KDE")) + + QString Exiv2Ver = QString("%1.%2.%3").arg(EXIV2_MAJOR_VERSION) + .arg(EXIV2_MINOR_VERSION) + .arg(EXIV2_PATCH_VERSION); + + QString Gphoto2Ver = QString(gp_library_version(GP_VERSION_SHORT)[0]); + + QString libInfo = QString(I18N_NOOP("Using Kipi library version %1")).arg(kipi_version) + QString("\n") + - QString(I18N_NOOP("Using Kipi library version %1")) - .arg(kipi_version); + QString(I18N_NOOP("Using Exiv2 library version %1")).arg(Exiv2Ver) + + QString("\n") + + QString(I18N_NOOP("Using Gphoto2 library version %1")).arg(Gphoto2Ver); + + QString description = QString(I18N_NOOP("A Photo-Management Application for KDE")); KAboutData aboutData( "digikam", I18N_NOOP("digiKam"), @@ -78,6 +98,8 @@ 0, "http://www.digikam.org"); + aboutData.setOtherText(libInfo.latin1()); + aboutData.addAuthor ( "Caulier Gilles", I18N_NOOP("Main developer and coordinator"), "caulier dot gilles at kdemail dot net",