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. Required fields are marked *

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