[digiKam-users] Compiling digikam and exiv2

woenx marcpalaus at hotmail.com
Wed Jun 26 18:59:58 BST 2019


I made it :) Thanks for you help.

Of course, I meant Ubuntu 18.04.2 LTS, the current Long term support version
until Ubuntu 20.04 LTS is released.

I have written the steps I followed, in the case someone is interested:


Instructions for compiling digikam from source in Ubuntu 18.04.2 LTS:

- Uncomment (#) from lines containing 'deb-src' in /etc/apt/sources.list and
save.
- sudo apt update && sudo apt upgrade && sudo apt autoremove
- sudo apt-get install -y subversion make cmake autoconf pkg-config g++
exifprobe libcurl4-openssl-dev libssh-dev clang checkinstall # Needed to
compile exiv2.
- sudo apt-get build-dep -y exiv2 # dependencies for exiv2.


Download last version of digikam from git: 
- sudo apt install git
- git clone https://invent.kde.org/kde/digikam.git digikam


Compile exiv2 from source:

- Get exiv2 0.27.1 (latest) release from
https://github.com/Exiv2/exiv2/releases/tag/0.27.1
- Extract to folder.
- Copy script ~/digikam/digikam/project/scripts/bootstrap-exiv2.linux.sh to
main exiv2 folder (where CMakeLists.txt is located).
- Run the script: ./bootstrap-exiv2.linux.sh
- sudo make install


Compile digikam:

- Install build dependencies for digikam. Make sure libexiv2 is not
installed from Ubuntu's repository: 

sudo apt get install bison docbook-xml docbook-xsl extra-cmake-modules flex
gdal-data gir1.2-harfbuzz-0.0 gphoto2 help2man icu-devtools kdoctools5 kinit
kio kpackagetool5 kwayland-data libaec0 libaribb24-0 libarmadillo8
libarpack2 libastro-dev libastro1 libavcodec-dev libavdevice57
libavformat-dev libavresample-dev libavutil-dev libbasicusageenvironment1
libbison-dev libblas3 libboost-graph-dev libboost-graph1.65-dev
libboost-graph1.65.1 libboost-regex1.65.1 libboost-serialization1.65-dev
libboost-serialization1.65.1 libboost-test1.65-dev libboost-test1.65.1
libboost1.65-dev libcddb2 libcdk5 libcharls1 libdap25 libdapclient6v5
libdbusmenu-qt5-2 libdc1394-22 libdc1394-22-dev libdca0
libdouble-conversion1 libdrm-dev libdvbpsi10 libebml4v5 libegl1-mesa-dev
libeigen3-dev libepsilon1 libexif-dev libfaad2 libfabric1 libfam0 libfreexl1
libfyba0 libgdal20 libgdcm2-dev libgdcm2.8 libgeos-3.6.2 libgeos-c1v5
libgeotiff2 libgfortran4 libgif7 libgl1-mesa-dev libgl2ps1.4 libgles1
libgles2-mesa-dev libglib2.0-dev libglib2.0-dev-bin libglu1-mesa-dev
libglvnd-core-dev libglvnd-dev libgphoto2-dev libgraphite2-dev libgroupsock8
libharfbuzz-dev libharfbuzz-gobject0 libhdf4-0-alt libhdf5-100
libhdf5-openmpi-100 libhwloc-plugins libhwloc5 libibverbs1 libicu-dev
libicu-le-hb-dev libicu-le-hb0 libiculx60 libilmbase-dev libjbig-dev
libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libkate1 libkf5activities5
libkf5archive-dev libkf5archive5 libkf5attica-dev libkf5attica5
libkf5auth-bin-dev libkf5auth-data libkf5auth-dev libkf5auth5
libkf5bookmarks-data libkf5bookmarks-dev libkf5bookmarks5
libkf5calendarevents5 libkf5codecs-data libkf5codecs-dev libkf5codecs5
libkf5completion-data libkf5completion-dev libkf5completion5
libkf5config-bin libkf5config-bin-dev libkf5config-data libkf5config-dev
libkf5configcore5 libkf5configgui5 libkf5configwidgets-data
libkf5configwidgets-dev libkf5configwidgets5 libkf5coreaddons-data
libkf5coreaddons-dev libkf5coreaddons-dev-bin libkf5coreaddons5 libkf5crash5
libkf5dbusaddons-data libkf5dbusaddons-dev libkf5dbusaddons5
libkf5declarative-data libkf5declarative5 libkf5doctools-dev libkf5doctools5
libkf5filemetadata-data libkf5filemetadata-dev libkf5filemetadata3
libkf5globalaccel-data libkf5globalaccel-dev libkf5globalaccel5
libkf5globalaccelprivate5 libkf5guiaddons-dev libkf5guiaddons5
libkf5i18n-data libkf5i18n-dev libkf5i18n5 libkf5iconthemes-data
libkf5iconthemes-dev libkf5iconthemes5 libkf5itemviews-data
libkf5itemviews-dev libkf5itemviews5 libkf5jobwidgets-data
libkf5jobwidgets-dev libkf5jobwidgets5 libkf5kio-dev libkf5kiocore5
libkf5kiofilewidgets5 libkf5kiogui5 libkf5kiontlm5 libkf5kiowidgets5
libkf5kipi-data libkf5kipi-dev libkf5kipi32.0.0 libkf5kirigami2-5
libkf5notifications-data libkf5notifications-dev libkf5notifications5
libkf5notifyconfig-data libkf5notifyconfig-dev libkf5notifyconfig5
libkf5package-data libkf5package5 libkf5plasma5 libkf5plasmaquick5
libkf5quickaddons5 libkf5sane-data libkf5sane-dev libkf5sane5
libkf5service-bin libkf5service-data libkf5service-dev libkf5service5
libkf5solid-dev libkf5solid5 libkf5solid5-data libkf5sonnet-dev
libkf5sonnet-dev-bin libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5
libkf5textwidgets-data libkf5textwidgets-dev libkf5textwidgets5
libkf5threadweaver-dev libkf5threadweaver5 libkf5wallet-bin
libkf5wallet-data libkf5wallet5 libkf5waylandclient5
libkf5widgetsaddons-data libkf5widgetsaddons-dev libkf5widgetsaddons5
libkf5windowsystem-data libkf5windowsystem-dev libkf5windowsystem5
libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui-dev libkf5xmlgui5
libkmlbase1 libkmldom1 libkmlengine1 libkwalletbackend5-5 liblapack3
liblcms2-dev liblensfun-data-v1 liblensfun-dev liblensfun1 liblept5
liblivemedia62 liblqr-1-0-dev liblua5.2-0 liblzma-dev libmad0 libmarble-dev
libmarblewidget-qt5-28 libmatroska6v5 libmicrodns0 libminizip1 libmpcdec6
libmysqlclient20 libnetcdf-c++4 libnetcdf13 libnfs11 libnl-route-3-200
libodbc1 libogdi3.2 libopenal-data libopenal1 libopencv-calib3d-dev
libopencv-calib3d3.2 libopencv-contrib-dev libopencv-contrib3.2
libopencv-core-dev libopencv-core3.2 libopencv-dev libopencv-features2d-dev
libopencv-features2d3.2 libopencv-flann-dev libopencv-flann3.2
libopencv-highgui-dev libopencv-highgui3.2 libopencv-imgcodecs-dev
libopencv-imgcodecs3.2 libopencv-imgproc-dev libopencv-imgproc3.2
libopencv-ml-dev libopencv-ml3.2 libopencv-objdetect-dev
libopencv-objdetect3.2 libopencv-photo-dev libopencv-photo3.2
libopencv-shape-dev libopencv-shape3.2 libopencv-stitching-dev
libopencv-stitching3.2 libopencv-superres-dev libopencv-superres3.2
libopencv-ts-dev libopencv-video-dev libopencv-video3.2
libopencv-videoio-dev libopencv-videoio3.2 libopencv-videostab-dev
libopencv-videostab3.2 libopencv-viz-dev libopencv-viz3.2 libopencv3.2-java
libopencv3.2-jni libopenexr-dev libopengl0 libopenmpi2 libopenmpt-modplug1
libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libphonon4qt5-4
libplacebo4 libpng-dev libpolkit-qt5-1-1 libpq5 libproj12 libprotobuf-lite10
libpsm-infinipath1 libpthread-stubs0-dev libpulse-dev libqgsttools-p1
libqhull7 libqt5concurrent5 libqt5core5a libqt5dbus5 libqt5gui5
libqt5multimedia5 libqt5multimediaquick-p5 libqt5multimediawidgets5
libqt5network5 libqt5opengl5 libqt5opengl5-dev libqt5positioning5
libqt5printsupport5 libqt5qml5 libqt5quick5 libqt5quickcontrols2-5
libqt5quickparticles5 libqt5quicktemplates2-5 libqt5quicktest5
libqt5quickwidgets5 libqt5script5 libqt5scripttools5 libqt5sensors5
libqt5sql5 libqt5svg5 libqt5svg5-dev libqt5test5 libqt5texttospeech5
libqt5webchannel5 libqt5webkit5 libqt5webkit5-dev libqt5widgets5
libqt5x11extras5 libqt5x11extras5-dev libqt5xml5 libqt5xmlpatterns5
libqt5xmlpatterns5-dev libqtav-dev libqtav1 libqtavwidgets1 libraw1394-dev
librdmacm1 libresid-builder0c2a libsdl-image1.2 libsdl1.2debian
libsdl2-2.0-0 libsidplay2 libsndio6.1 libsocket++1 libspatialite7 libssh2-1
libsuperlu5 libswresample-dev libswscale-dev libsz2 libtbb-dev libtbb2
libtcl8.6 libtesseract4 libtiff-dev libtiff5-dev libtiffxx5 libtk8.6
libuchardet0 libupnp6 liburiparser1 libusageenvironment3 libusb-1.0-0-dev
libvlc5 libvlccore9 libvtk6.3 libvulkan1 libwayland-bin libwayland-dev
libx11-dev libx11-xcb-dev libxau-dev libxcb-composite0 libxcb-damage0
libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev
libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev
libxcb-xfixes0-dev libxcb-xinerama0 libxcb1-dev libxdamage-dev libxdmcp-dev
libxerces-c3.2 libxext-dev libxfixes-dev libxml2-dev libxml2-utils
libxshmfence-dev libxslt1-dev libxxf86vm-dev marble-data mesa-common-dev
mysql-common ocl-icd-libopencl1 odbcinst odbcinst1debian2 phonon4qt5
phonon4qt5-backend-vlc plasma-framework proj-data python3-distutils
python3-lib2to3 qml-module-org-kde-kconfig qml-module-org-kde-kirigami2
qml-module-org-kde-kquickcontrols qml-module-org-kde-kquickcontrolsaddons
qml-module-qtgraphicaleffects qml-module-qtqml-models2
qml-module-qtquick-controls qml-module-qtquick-controls2
qml-module-qtquick-dialogs qml-module-qtquick-layouts
qml-module-qtquick-privatewidgets qml-module-qtquick-templates2
qml-module-qtquick-window2 qml-module-qtquick2 qt5-qmake qt5-qmake-bin
qt5-qmltooling-plugins qtbase5-dev qtbase5-dev-tools qtchooser
qtdeclarative5-dev qtmultimedia5-dev qtscript5-dev sgml-base sgml-data
vlc-data vlc-plugin-base vlc-plugin-video-output x11proto-core-dev
x11proto-damage-dev x11proto-dev x11proto-fixes-dev x11proto-xext-dev
x11proto-xf86vidmode-dev xml-core xorg-sgml-doctools xtrans-dev
qttools5-dev-tools 
# (this is basically 'sudo apt-get build-dep digikam' but without libexiv2
and including qttools5-dev-tools)

- make
- sudo make install # or 'sudo checkinstall' if you want to save a deb
package. 

And that's it. If there are some icons missing, it is likely that you also
need to install the package 'breeze-icon-theme', but you can choose
'Humanity' in the settings instead. apparently, you don't need to compile
opencv from source, but I have not tested it extensively yet.



--
Sent from: http://digikam.1695700.n4.nabble.com/digikam-users-f1735189.html



More information about the Digikam-users mailing list