Hello,
First of all, sorry if that has been answered somewhere else. I read other threads about compiling digikam in this mailing list, but I couldn't manage to do it myself. I am trying to compile digikam from source in an Ubuntu 18.04 installation, in order to create up to date .deb packages (and also be able to try myself the changes introduced by the GSoC2019). However, I seem to be experiencing some problems, especially regarding the exiv2 package. I start from a fresh ubuntu 10.04.2 LTS amd64 install in a virtual machine. I try to follow the instructions at https://www.digikam.org/download/git/, but the problem comes when ./bootstrap.linux can't find the exiv2 package installed. In theory, it needs exiv2 0.26 or newer (the lastest version in their repository seems to be 0.27). I first tried using the already compiled version of exiv2 and libexiv2-26 for debian (version 0.26-1), but Digikam's compilation script does not seem to detect them. Then I tried to do the right thing and compile exiv2 myself. It seems to compile just right using their instructions (https://dev.exiv2.org/projects/exiv2/wiki/Building_on_Ubuntu_using_Cmake) but using their github (https://github.com/Exiv2/exiv2.git) instead of the svn repository. Same result, when I run ./bootstrap.linux, the script does not seem to detect exiv2 in the system. I also read somewhere in this mailing list that a custom CMakeLists.txt file (https://cgit.kde.org/digikam.git/tree/project/bundles/3rdparty/ext_exiv2/CMakeLists.txt) should be used to build exiv2, but I don't know how exactly how to use it. Can someone lend me a hand? Thanks in advance. PS: I won't mind sharing the whole virtual machine as a pre-configured build environment for Ubuntu once everything works just fine. -- Sent from: http://digikam.1695700.n4.nabble.com/digikam-users-f1735189.html |
Le mar. 25 juin 2019 à 14:48, woenx <[hidden email]> a écrit : Hello, 0.27 is highly recommended. The detection of library is in this cmake script : Under Linux, the PKGConfig files are parsed to detect the library installation. Sound like under Ubuntu this standard is not well respected (another one, but you must know that i dislike this Linux box, and i wont said i 'hate' ubuntu...). To compile the Exiv2 library, look my script given here : This one is optimized to only compile the minimum for digiKam and disable the unstable code from the library. I compile current code from Exiv2, where API have been broken for next 0.28. digiKam core have been fixed to support this API (there is no API transition stage in Exiv2 (:=)))). As Exiv2 API are strictly used in limited area in digiKam core, this limit the maintenance to the minimum. I see that another projects using Exiv2 are really perturbed by these recent changes. Best Gilles Caulier |
Thank you Gilles,
I've been so far unable to compile it so digikam's bootstrap.linux script detects it. The steps I followed were: 1) Download the last release of exiv2 (0.27.1) from github. https://github.com/Exiv2/exiv2/releases/tag/0.27.1 2) Uncompress the tar.gz file, and copy the bootstrap-exiv2.linux.sh script to the main exiv folder (where CMakeLists.txt is). 3) Run './bootstrap-exiv2.linux.sh' 4) Enter the build directory, and run 'cmake --build .' 5) 'sudo make install' 6) I update the PATH (as instructed in their github page): 'export PATH="/usr/local/bin:$PATH" && export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"' Exiv's 2 seems to compile without errors, and I can run the exiv2 command in the terminal. digikam@digikam-VirtualBox:~/digikam$ exiv2 --version exiv2 0.27.99.0 However, when I try to compile digikam (the lastest version from github), libexiv2 cannot be found: https://pastebin.com/xQsfWwHb Is libexiv2 a separate package from exiv2? I am a bit lost at the moment, and I am not sure how to check if the PKGConfig files are correctly created after compiling exiv2. These are the files related to exiv2 I find using the locate command: https://pastebin.com/TXTkAa3q Any advise or guidance would be greatly appreciated! Gilles Caulier-4 wrote > Le mar. 25 juin 2019 à 14:48, woenx < > marcpalaus@ > > a écrit : > >> Hello, >> >> First of all, sorry if that has been answered somewhere else. I read >> other >> threads about compiling digikam in this mailing list, but I couldn't >> manage >> to do it myself. >> >> I am trying to compile digikam from source in an Ubuntu 18.04 >> installation, >> in order to create up to date .deb packages (and also be able to try >> myself >> the changes introduced by the GSoC2019). However, I seem to be >> experiencing >> some problems, especially regarding the exiv2 package. >> >> I start from a fresh ubuntu 10.04.2 LTS amd64 install in a virtual >> machine. >> I try to follow the instructions at >> https://www.digikam.org/download/git/, >> but the problem comes when ./bootstrap.linux can't find the exiv2 package >> installed. >> >> In theory, it needs exiv2 0.26 or newer (the lastest version in their >> repository seems to be 0.27). I first tried using the already compiled >> version of exiv2 and libexiv2-26 for debian (version 0.26-1), but >> Digikam's >> compilation script does not seem to detect them. >> > > 0.27 is highly recommended. > > The detection of library is in this cmake script : > > https://cgit.kde.org/digikam.git/tree/core/cmake/modules/FindExiv2.cmake > > Under Linux, the PKGConfig files are parsed to detect the library > installation. Sound like under Ubuntu this standard is not well respected > (another one, but you must know that i dislike this Linux box, and i wont > said i 'hate' ubuntu...). > > To compile the Exiv2 library, look my script given here : > > https://cgit.kde.org/digikam.git/log/project/scripts/bootstrap-exiv2.linux.sh > > This one is optimized to only compile the minimum for digiKam and disable > the unstable code from the library. I compile current code from Exiv2, > where API have been broken for next 0.28. digiKam core have been fixed to > support this API (there is no API transition stage in Exiv2 (:=)))). As > Exiv2 API are strictly used in limited area in digiKam core, this limit > the > maintenance to the minimum. > I see that another projects using Exiv2 are really perturbed by these > recent changes. > > Best > > Gilles Caulier -- Sent from: http://digikam.1695700.n4.nabble.com/digikam-users-f1735189.html |
From your paste:
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)You probably have the system exiv2 package still installed. On 26/06/2019 15:41, woenx wrote:
Thank you Gilles, I've been so far unable to compile it so digikam's bootstrap.linux script detects it. The steps I followed were: 1) Download the last release of exiv2 (0.27.1) from github. https://github.com/Exiv2/exiv2/releases/tag/0.27.1 2) Uncompress the tar.gz file, and copy the bootstrap-exiv2.linux.sh script to the main exiv folder (where CMakeLists.txt is). 3) Run './bootstrap-exiv2.linux.sh' 4) Enter the build directory, and run 'cmake --build .' 5) 'sudo make install' 6) I update the PATH (as instructed in their github page): 'export PATH="/usr/local/bin:$PATH" && export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"' Exiv's 2 seems to compile without errors, and I can run the exiv2 command in the terminal. digikam@digikam-VirtualBox:~/digikam$ exiv2 --version exiv2 0.27.99.0 However, when I try to compile digikam (the lastest version from github), libexiv2 cannot be found: https://pastebin.com/xQsfWwHb Is libexiv2 a separate package from exiv2? I am a bit lost at the moment, and I am not sure how to check if the PKGConfig files are correctly created after compiling exiv2. These are the files related to exiv2 I find using the locate command: https://pastebin.com/TXTkAa3q Any advise or guidance would be greatly appreciated! Gilles Caulier-4 wroteLe mar. 25 juin 2019 à 14:48, woenx <marcpalaus@> a écrit :Hello, First of all, sorry if that has been answered somewhere else. I read other threads about compiling digikam in this mailing list, but I couldn't manage to do it myself. I am trying to compile digikam from source in an Ubuntu 18.04 installation, in order to create up to date .deb packages (and also be able to try myself the changes introduced by the GSoC2019). However, I seem to be experiencing some problems, especially regarding the exiv2 package. I start from a fresh ubuntu 10.04.2 LTS amd64 install in a virtual machine. I try to follow the instructions at https://www.digikam.org/download/git/, but the problem comes when ./bootstrap.linux can't find the exiv2 package installed. In theory, it needs exiv2 0.26 or newer (the lastest version in their repository seems to be 0.27). I first tried using the already compiled version of exiv2 and libexiv2-26 for debian (version 0.26-1), but Digikam's compilation script does not seem to detect them.0.27 is highly recommended. The detection of library is in this cmake script : https://cgit.kde.org/digikam.git/tree/core/cmake/modules/FindExiv2.cmake Under Linux, the PKGConfig files are parsed to detect the library installation. Sound like under Ubuntu this standard is not well respected (another one, but you must know that i dislike this Linux box, and i wont said i 'hate' ubuntu...). To compile the Exiv2 library, look my script given here : https://cgit.kde.org/digikam.git/log/project/scripts/bootstrap-exiv2.linux.sh This one is optimized to only compile the minimum for digiKam and disable the unstable code from the library. I compile current code from Exiv2, where API have been broken for next 0.28. digiKam core have been fixed to support this API (there is no API transition stage in Exiv2 (:=)))). As Exiv2 API are strictly used in limited area in digiKam core, this limit the maintenance to the minimum. I see that another projects using Exiv2 are really perturbed by these recent changes. Best Gilles Caulier-- Sent from: http://digikam.1695700.n4.nabble.com/digikam-users-f1735189.html |
Yes, Simon is right. Uninstall the system libexiv2-devel before to configure, compile and install a new Exiv2 version on your system... Exiv2 tarball include all devel files and install devel + binaries. Gilles Caulier Le mer. 26 juin 2019 à 15:49, Simon Frei <[hidden email]> a écrit :
|
Oh, now I see why. I started again from a clean install, and I noticed that
when I ran 'sudo apt-get build-dep digikam' before compiling digikam, it also tried to install libexiv2-dev. I'll try again and I'll report my results later. -- Sent from: http://digikam.1695700.n4.nabble.com/digikam-users-f1735189.html |
> I am trying to compile digikam from source in an Ubuntu 18.04 installation,
> I start from a fresh ubuntu 10.04.2 LTS amd64 install in a virtual machine. You write of 2 different Ubuntu versions. If it is actually 10.04.02, please do not make any further attempts with an 8 years old Linux distribution. If it is 18.04.02 and this Exiv2-0.25 delivers, you also looking for another Linux distribution. Maik |
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 |
Free forum by Nabble | Edit this page |