Saturday, July 30, 2011

Digikam 2.0.0 SlackBuild Update


I love photos and i love Digikam that can manage my photos very well. I like it even more since it's open source and very customizable. It also has SlackBuild script for creating a native Slackware package, thanks to the SlackBuilds project and also to Frank Caraballo who maintained the script.

The SlackBuild was submitted when Digikam was still in 1.9.0 and now 2.0.0 has come up. What happened if i used it to compile 2.0.0? Does it work? The answer is YES!!! It does work, but there's some modifications that you need to do to make it even better. The new Digikam 2.0.0 come up with less documentation, so you can delete them in the SlackBuild or you will see several errors saying that it cannot stats the file.

Basically, you only need to change the VERSION line and also change
cp -a \
AUTHORS ChangeLog COPYING* DESIGN HACKING INSTALL NEWS README tips TODO \
$PKG/usr/doc/$PRGNAM-$VERSION
into
cp -a \
NEWS README \
$PKG/usr/doc/$PRGNAM-$VERSION

After that, you could start compiling by running the updated SlackBuild to compile Digikam 2.0.0.

Lots of new features has been integrated in Digikam 2.0.0 and most of the dependencies are already contained within the Digikam source, so no more third party libraries, except for OpenCV in which you need to install it by yourself (SlackBuild script is available though). It's all included in extra/ directory inside the source. This includes libkdcraw, libkface, libkipi, libmediawiki, kipi-plugins, libkexiv2, libkgeomap, and libksane. If you don't have those libraries on your system, it will use it's internal version, so just a single source of Digikam will be sufficient to build.

FYI, i used FFMPEG-0.6.3 from AlienBOB's repository and OpenCV-2.3.0, the latest version available nowadays to build this package. Suppose you want to have a successful build, try the same combination i used.

10 comments:

  1. Hi,

    I'd like to mention that the Digikam cmake script fails in case OpenVc is not installed. This happens when simply using the 1.9.0 build script and changing it according to your suggestions. Tested with Slackware64-13.37.

    ReplyDelete
  2. Ah.. yes.. Thanks for the info....
    I have installed opencv on my workstation

    ReplyDelete
  3. Hi willy, thanks for this note.
    Compiling slackbuild's openvc, ffmpeg goes into errors, even thought it's claimed to be optional:

    /tmp/SBo/OpenCV-2.1.0/src/highgui/cvcap_ffmpeg.cpp:1233:31: warning: ‘AVFormatContext* av_alloc_format_context()’ is deprecated (declared at /usr/include/libavformat/avformat.h:947)
    make[2]: *** [src/highgui/CMakeFiles/highgui.dir/cvcap_ffmpeg.o] Error 1
    make[2]: Leaving directory `/tmp/SBo/OpenCV-2.1.0/build'
    make[1]: *** [src/highgui/CMakeFiles/highgui.dir/all] Error 2
    make[1]: Leaving directory `/tmp/SBo/OpenCV-2.1.0/build'
    make: *** [all] Error 2

    unfortunately it's an error that says not so much to me, and I would be glad if you could suggest an hint

    thanks in advance
    Roberto

    ReplyDelete
  4. I used ffmpeg 0.6.3 from Eric (AlienBOB) and i used OpenCV 2.3.0 (the latest version) and it worked here :)

    ReplyDelete
  5. Thanks for your quick reply. I successfully compiled opencv pkg, but unfortunately digikam SBo breaks when linking to libkface,. Did you build it over KDE 4.6.5?

    ReplyDelete
  6. Did you disable the patches in the OpenCV SlackBuild to get it to compile 2.3 as well?

    ReplyDelete
  7. Yes, the libpng patch is no longer needed and so does the patch from Ponce

    ReplyDelete
  8. OpenCV dont build with Alien ffmpeg-0.8.2 but do build with 0.6.X. If u upgrade ffmpeg after the building process Digikam wont open saying libavcodec.so is missing.

    So, using version 0.6 is the best option...Maybe Alien can fix this when he builds the new 0.8.4 version.
    Pass him the message Willy

    Great blog btw, i check it everyday.

    ReplyDelete
  9. I know. I experienced the same thing. That's why i'm still using ffmpeg-0.6.2 for now because i need digikam rather than ffmpeg :)

    ReplyDelete