How to compile Digikam on Ubuntu 18.04 with libexifv2 0.26

Andrey Goreev aegoreev at gmail.com
Wed Sep 5 13:45:34 BST 2018


Also I think you want to disable video support when compiling exiv2.
Handling of video files metadata has been passed on ffmpeg starting from
version 6git.

On Wed, Sep 5, 2018 at 6:41 AM Andrey Goreev <aegoreev at gmail.com> wrote:

> Looks like you are also missing ffmpeg. Years ago Ubuntu had a different
> ffmpeg in their repositories. I am not sure if that is still the case but
> you might want to compile it by yourself from ffmpeg.org. They have a
> manual in their wiki, it is pretty straight forward and takes 15 minutes
> tops.
>
> There is also a note in your log about libjasper, libksane and
> libvkontakte packages missing. I am not sure what libjasper is. Libksane is
> probably required if you import images from a scanner, libvkontakte must be
> an export plugin for the vk.com social network.
>
> In addition to that I think you might want to recompile opencv yourself
> with a bunch of options turned off. Gilles would know more about this.
> Thanks,
> Andrey
>
> On Tue, Sep 4, 2018 at 9:09 PM Gilles Caulier <caulier.gilles at gmail.com>
> wrote:
>
>>
>>
>> 2018-09-05 0:19 GMT+02:00 Matthieu <ermelir at gmail.com>:
>>
>>> Hi there,
>>>
>>> I'm trying to recompile Digikam  to enable the RAW metadata writing. My
>>> first step in Digikam development. If this is a success, why not contribute?
>>> Unfortunately, I'm not able to do it.
>>>
>>> My laptop is an Ubuntu 18.04.
>>>
>>>
>>> *uname -aLinux laptop 4.15.0-33-generic #36-Ubuntu SMP Wed Aug 15
>>> 16:00:05 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux*
>>>
>>> Here's the output command of the bootstrap.linux:
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *Qt5     Install Path : /usrdigiKam Install Path : /usrCMake
>>> binary         : cmakeBuild Directory      : /opt/digikam/git/build--
>>> ------------------------------------------------------------------------------------
>>> Starting CMake configuration for: digikam-software-collection--
>>> Documentation translations directory is missing.-- You can use
>>> DIGIKAMSC_CHECKOUT_DOC option to extract doc i18n files from git
>>> repositories.--
>>> ------------------------------------------------------------------------------------
>>> Compilation configuration for: digikam-software-collection-- digiKam core
>>> will be compiled.................. YES-- Extract application translations
>>> files......... NO-- Extract documentation translations files....... NO--
>>> Translations will be compiled.................. NO-- Handbooks will be
>>> compiled..................... YES-- Tests code will be
>>> compiled.................... YES--
>>> ------------------------------------------------------------------------------------
>>> Starting CMake configuration for: digikam-- Could not set up the appstream
>>> test. appstreamcli is missing.-- Could NOT find KF5Sane: found neither
>>> KF5SaneConfig.cmake nor kf5sane-config.cmake -- Could NOT find
>>> KF5Vkontakte: found neither KF5VkontakteConfig.cmake nor
>>> kf5vkontakte-config.cmake -- KF5::KIOWidgets include dirs:
>>> /usr/include/KF5/KIOWidgets;/usr/include/KF5-- Libjpeg version: 84-- Using
>>> libjpeg sub-directory: libjpeg/84-- Boost version: 1.65.1-- Found lcms
>>> version 2.09, /usr/lib/x86_64-linux-gnu/liblcms2.so-- Could NOT find Exiv2:
>>> Found unsuitable version "0.25.0", but required is at least "0.26" (found
>>> /usr/lib/x86_64-linux-gnu/libexiv2.so)-- Could NOT find FFmpeg (missing:
>>> AVFILTER_LIBRARIES AVFILTER_INCLUDE_DIRS) -- FFMPEG_FOUND        = FALSE--
>>> FFMPEG_INCLUDE_DIRS = /usr/include/x86_64-linux-gnu-- FFMPEG_LIBRARIES    =
>>> /usr/lib/x86_64-linux-gnu/libavcodec.so;/usr/lib/x86_64-linux-gnu/libavformat.so;/usr/lib/x86_64-linux-gnu/libavutil.so;/usr/lib/x86_64-linux-gnu/libswscale.so--
>>> FFMPEG_DEFINITIONS  = -- QtAV search path:
>>> /usr/lib/x86_64-linux-gnu/cmake-- Found QtAV version 1.12.0--
>>> QtAV_FOUND       = TRUE-- QtAV_INCLUDE_DIR =
>>> /usr/include/x86_64-linux-gnu/qt5/QtAV
>>> /usr/include/x86_64-linux-gnu/qt5/QtAVWidgets-- QtAV_LIBRARIES   =
>>> /usr/lib/x86_64-linux-gnu/libQtAV.so;/usr/lib/x86_64-linux-gnu/libQtAVWidgets.so--
>>> QtAV_VERSION     = 1.12.0-- ENABLE_MEDIAPLAYER option is enabled but FFMpeg
>>> cannot be found. Media player support is disabled.-- First try at finding
>>> OpenCV...-- OpenCV Root directory is: /usr/share/OpenCV-- OpenCV: Found
>>> version 3.2.0 (required: 3.1.0)-- OpenCV headers:
>>> /usr/include;/usr/include/opencv-- OpenCV libs   :
>>> opencv_core;opencv_objdetect;opencv_imgproc;opencv_imgcodecs--
>>> Marble_FOUND       = TRUE-- MARBLE_INCLUDE_DIR = /usr/include--
>>> MARBLE_LIBRARIES   = /usr/lib/x86_64-linux-gnu/libmarblewidget-qt5.so--
>>> ASTRO_LIBRARIES    = /usr/lib/x86_64-linux-gnu/libastro.so-- Could NOT find
>>> Jasper (missing: JASPER_LIBRARIES JASPER_INCLUDE_DIR) -- libgphoto2
>>> found    : TRUE-- libgphoto2 version  : 2.5.16-- libgphoto2 includes :
>>> /usr/include/gphoto2-- libgphoto2 libraries:
>>> /usr/lib/x86_64-linux-gnu/libgphoto2.so;/usr/lib/x86_64-linux-gnu/libgphoto2_port.so--
>>> libgphoto2 API version >= 2.5-- liblensfun: Found version 0.3.2.0
>>> (required: 0.2.6.0)-- --
>>> ---------------------------------------------------- digiKam RawEngine
>>> dependencies checks:-- -- RawEngine will not be compiled with RedCine
>>> codec-- Looking for LibJpeg-- RawEngine will be compiled with DNG lossy
>>> codec-- Looking for PThreads--
>>> ---------------------------------------------------- -- --
>>> ------------------------------------------------------------------------------------
>>> digiKam 6.0.0-beta1 dependencies results   <http://www.digikam.org
>>> <http://www.digikam.org>>-- --  MySQL Database Support will be compiled..
>>> YES (optional)--  MySQL Internal Support will be compiled.. YES
>>> (optional)--  DBUS Support will be compiled............ YES (optional)--
>>> App. Style Support will be compiled...... YES (optional)--  QWebEngine
>>> Support will be compiled...... NO  (optional)--  libboostgraph
>>> found...................... YES--  libexiv2
>>> found........................... NOCMake Error at
>>> core/cmake/modules/MacroUtils.cmake:44 (message):   libexiv2 is needed. You
>>> need to install the libexiv2 (version >= 0.26 development package.Call
>>> Stack (most recent call first):  core/CMakeLists.txt:559
>>> (PRINT_LIBRARY_STATUS)--  libexiv2 website is at http://www.exiv2.org
>>> <http://www.exiv2.org>-- --  libexpat found...........................
>>> YES--  libjpeg found............................ YES--  libkde
>>> found............................. YES--  liblcms
>>> found............................ YES--  libopencv
>>> found.......................... YES--  libpng
>>> found............................. YES--  libpthread
>>> found......................... YES--  libqt
>>> found.............................. YES--  libtiff
>>> found............................ YES--  bison
>>> found.............................. YES (optional)--  doxygen
>>> found............................ YES (optional)--  flex
>>> found............................... YES (optional)--  libakonadicontact
>>> found.................. YES (optional)--  libeigen3
>>> found.......................... YES (optional)--  libgphoto2
>>> found......................... YES (optional)--  libjasper
>>> found.......................... NO  (optional)--  digiKam will be compiled
>>> without JPEG2000 support.--  Please install the libjasper (version >=
>>> 1.7.0) development package.-- --  libkcalcore found........................
>>> YES (optional)--  libkvkontakte found...................... NO
>>> (optional)--  digiKam will be compiled without libkvkontakte support.--
>>> Please install the libkvkontakte (version >= 4.70.0) development package.--
>>> --  libkfilemetadata found................... YES (optional)--
>>> libkiconthemes found..................... YES (optional)--  libkio
>>> found............................. YES (optional)--  libknotifications
>>> found.................. YES (optional)--  libknotifyconfig
>>> found................... YES (optional)--  libksane
>>> found........................... NO  (optional)--  digiKam will be compiled
>>> without flat scanners support.--  Please install the libksane (version >=
>>> 5.0.0) development package.-- --  liblensfun found.........................
>>> YES (optional)--  liblqr-1 found........................... YES
>>> (optional)--  libmarble found.......................... YES (optional)--
>>> libqtav found............................ YES (optional)--  libthreadweaver
>>> found.................... YES (optional)--  libxml2
>>> found............................ YES (optional)--  libxslt
>>> found............................ YES (optional)--  OpenGL
>>> found............................. YES (optional)CMake Error at
>>> core/CMakeLists.txt:616 (message):   digiKam will be
>>> compiled.................. NO  (See the README file for more details about
>>> dependencies)-- Configuring incomplete, errors occurred!See also
>>> "/opt/digikam/git/CMakeFiles/CMakeOutput.log".See also
>>> "/opt/digikam/git/CMakeFiles/CMakeError.log".*
>>>
>>> I don't want to install Digikam in /usr, but this is another problem.
>>> The problem is related to libexiv2.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *git statusOn branch masterYour branch is up-to-date with
>>> 'origin/master'.Files not followed:  (utilisez "git add <fichier>..." pour
>>> inclure dans ce qui sera validé)    CMakeCache.txt    CMakeDoxyfile.in
>>> CMakeDoxygenDefaults.cmake    CMakeFiles/    CMakeTmp/
>>> DartConfiguration.tcl    app/    build/
>>> core/app/utils/digikam_config.h    core/app/utils/digikam_opencv.h
>>> core/libs/rawengine/libraw/libraw_config.h    core/prefix.sh    doc/
>>> ecm_uninstall.cmake    extra/    libs/    prefix.sh
>>> project/bundles/3rdparty/ext_exiv2/CMakeCache.txt
>>> project/bundles/3rdparty/ext_exiv2/CMakeFiles/*
>>>
>>> libexiv2 as been installed from the latest available sources files with
>>> the following command:
>>>
>>>
>>>
>>> *./configure --prefix=/usr/local --enable-video --without-ssh
>>> --disable-staticmakesudo make install*
>>>
>>> A locate show me that libexiv2 is available.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *sudo updatedb && locate libexiv2.so
>>> /usr/lib/x86_64-linux-gnu/libexiv2.so/usr/lib/x86_64-linux-gnu/libexiv2.so.14/usr/lib/x86_64-linux-gnu/libexiv2.so.14.0.0/usr/local/lib/libexiv2.so/usr/local/lib/libexiv2.so.26/usr/local/lib/libexiv2.so.26.0.0*
>>>
>>>
>>>
>>>
>>>
>>>
>>> *ls -la /usr/local/lib/libexiv2.*-rw-r--r-- 1 root root 6869170 Sep  3
>>> 11:16 /usr/local/lib/libexiv2.a-rw-r--r-- 1 root root    1038 Sep  4 09:21
>>> /usr/local/lib/libexiv2.la <http://libexiv2.la>lrwxrwxrwx 1 root root
>>> 18 Sep  4 09:21 /usr/local/lib/libexiv2.so -> libexiv2.so.26.0.0lrwxrwxrwx
>>> 1 root root      18 Sep  4 09:21 /usr/local/lib/libexiv2.so.26 ->
>>> libexiv2.so.26.0.0-rw-r--r-- 1 root root 3577744 Sep  4 09:21
>>> /usr/local/lib/libexiv2.so.26.0.0*
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *ldd /usr/local/lib/libexiv2.so    linux-vdso.so.1
>>> (0x00007ffdcb699000)    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1
>>> (0x00007f1b9825a000)    libexpat.so.1 =>
>>> /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f1b98028000)    libdl.so.2 =>
>>> /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1b97e24000)    libpthread.so.0 =>
>>> /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1b97c05000)
>>> libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
>>> (0x00007f1b97877000)    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
>>> (0x00007f1b974d9000)    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
>>> (0x00007f1b970e8000)    libgcc_s.so.1 =>
>>> /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1b96ed0000)
>>> /lib64/ld-linux-x86-64.so.2 (0x00007f1b98980000)*
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *cat /etc/ld.so.conf.d/*/usr/lib/x86_64-linux-gnu/libfakeroot# libc
>>> default configuration/usr/local/lib# Multiarch
>>> support/usr/local/lib/x86_64-linux-gnu/lib/x86_64-linux-gnu/usr/lib/x86_64-linux-gnu#
>>> Legacy biarch compatibility support/lib32/usr/lib32*
>>>
>>> I'm not a power user of Linux, nor c++ / cmake /bootstrap process.
>>>
>>> My questions are:
>>> - is there something to clean before running bootstrap.linux to ensure
>>> that we start off?
>>>
>>
>> Remove the "build" sub directory as well. This will clean the cmake cache.
>>
>>
>>> - is there a specific location to specify to load the local libs?
>>>
>>
>> Why you want to install libexiv2 to /usr/local/ ? This is a source of
>> problems
>>
>> I suspect that you don't want to remove the official and older one Exiv2
>> version from the system installed in /usr.
>>
>> Using both version of the library, even if in theory it's possible will
>> introduce dysfunction at run-time (crashes). This is a know problem from
>> Exiv2.
>>
>>
>>> - did I miss something when building libexiv2?
>>>
>>
>> Install and replace the official Exiv2 from /usr as well. uninstall the
>> previous one before. This is how the AppImage bundle are done under CentOS
>> 6.
>>
>> Best
>>
>> Gilles Caulier
>>
>>>
>>> Thanks for your help
>>>
>>> Mat
>>>
>>>
>>>
>>>
>> --
> Best regards,
>
-- 
Best regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20180905/d67b360c/attachment.html>


More information about the Digikam-devel mailing list