Compiling digikam

Date: 01 Jan, 2022
Posted by: admin
In: linux, open source & software

Bookmark and Share

Installing digikam from source. It seems harder than it should be. Perhaps my old skills need polishing. This is a stub post just to put the info I have so far out there and to provide documentation for myself for what I’ve done so far.

Dependency hell heck

Briefly, have some deps installed

sudo apt install extra-cmake-modules libqt5xmlpatterns5-dev libkf5filemetadata-dev libkf5threadweaver-dev libkf5notifyconfig-dev libkf5akonadicontact-dev libkf5contacts-dev libkf5sane-dev libkf5calendarcore-dev libpostproc-dev libexiv2-dev libtiff-dev libtiffxx5 libgraphicsmagick++1-dev libmagickwand-6.q16-dev libmagick++-6-headers libmagickcore-6.q16-dev libxslt1-dev bison libx265-dev libxslt1-dev libavcodec-dev libavutil-dev libswscale-dev liblensfun-dev libgphoto2-dev doxygen libqtav-dev ccache liblcms2-dev qtav libopencv-dev libopencv-core-dev libopencv-apps-dev flex

Finding this list was much harder than it should have been.

If there was a digikam source file in the apt repos then `sudo apt build-dep digikam` would get the necessary files, but sadly that just returns “E: Unable to find a source package for digikam”.

So, I was left taking the reports from the bootstrap.log file and interpreting lines like “Could NOT find FFmpeg (missing: AVCODEC_LIBRARIES AVCODEC_INCLUDE_DIRS AVDEVICE_LIBRARIES AVDEVICE_INCLUDE_DIRS AVFILTER_LIBRARIES AVFILTER_INCLUDE_DIRS AVFORMAT_LIBRARIES AVFORMAT_INCLUDE_DIRS SWSCALE_LIBRARIES SWSCALE_INCLUDE_DIRS)” to work out which packages needed installing. Then using apt-file search and apt searchto find package names to add to my sudo apt install line.

Errors and issues

These all gave problems or were notable:

extra-cmake-modules # this is called ECM by the install scripts
libmarble-dev # libmarble-dev causes libastro-dev to be installed
liblqr-1-0-dev # wasn't found by digikam's script
jasper # couldn't find a package, see my other blog post

I made a whole other post about compiling jasper.

Then you can download from digikam in order to get the latest release. For me that was 7.4.0, and I went to the mirrorlist and chose a new download that came from a https server, amazed that any of their mirrors were from http.

The liblqr issue appears to be because digikam is looking for liblqr-0, so I may have to install that manually too. Checking on I see that going back to Bionic (18.04) Ubuntu has been using liblqr-1.

Check signature files to verify download

In order to check the signature file I had to download that too, then do this with gpg:

gpg –keyid-format long –verify digiKam-7.4.0.tar.xz.sig digiKam-7.4.0.tar.xz

That tells you that there’s no key to verify, or somesuch, and so you take the key it gives, after the 0x in the next command, and download:

gpg –keyid-format long –keyserver hkp:// –recv-keys 0xD1CF2444A7858C5F2FB095B74A77747
BC2386E50 # import key for digikam

Repeating the above gpg then will tell you the signature is “GOOD” but also makes a big warning, which I understand means that you haven’t co-signed the file, so I ignored that and pressed on.

Check checksums

Check shasum, sha256sum as given on the mirrorlist download page, eg with shasum ./*.xvin the download directory:

SHA1 a9069322b7e32151597acde47bd2207234145527
SHA256 d08ab66da732bb449bc10106ec11dd9defa5b3562ded3741b041dbbaa715504a

Be the first to comment

Comment Form

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.


Flapjacktastic is just a random collection of musings, hints&tips, notes, information ... a collection of stuff really that's overflowed from the brain of this husband, father, potter, business-man, geek ...

past posts