Building KPhotoAlbum: Difference between revisions

    From KDE UserBase Wiki
    (→‎Preparations before building: add kdoctools requirement)
    m (add redirection instructions)
     
    (8 intermediate revisions by 2 users not shown)
    Line 1: Line 1:
    This howto will tell you the steps required to pull, build and install the GIT version of [[KPhotoAlbum]] in Ubuntu/Debian.
    This page was moved to the community wiki: click this [https://community.kde.org/KPhotoAlbum/build_instructions link] to be redirected.
     
    This will allow you to test all the latest features that have not been published in the official releases or have not reached your distribution yet. Alternatively, you may want to check out the nightly built [https://neon.kde.org Neon] packages for kphotoalbum.
     
    ==Summary==
     
    ===Preparations before building===
    First, backup all your precious files!!  See section "Backup" below.
     
    Install all required packages (Ubuntu / Debian):
    {{Input|1=<nowiki>
    sudo apt-get install build-essential git
    sudo apt-get install cmake extra-cmake-modules kio-dev pkg-config pkg-kde-tools
    sudo apt-get install libexiv2-dev libjpeg-dev libkf5archive-dev libkf5config-dev libkf5coreaddons-dev libkf5i18n-dev libkf5iconthemes-dev libkf5jobwidgets-dev libkf5kdcraw-dev libkf5kgeomap-dev libkf5kipi-dev libkf5parts-dev libkf5widgetsaddons-dev libmarble-dev libphonon4qt5-dev libphonon4qt5experimental-dev libqt5webkit5-dev qtbase5-dev x11proto-core-dev
    sudo apt-get install kipi-plugins ffmpeg</nowiki>}}
     
    You will also need KF5-doctools. On Ubuntu 16.04 LTS, this is provided by kdoctools:
    {{Input|1=<nowiki>
    sudo apt-get install kdoctools-dev</nowiki>}}
    on newer systems, it is provided by libkf5doctools:
    {{Input|1=<nowiki>
    sudo apt-get install libkf5doctools-dev</nowiki>}}
     
    Preparations for other systems (openSUSE) - see at the bottom.
     
    ===First build===
    {{Input|1=<nowiki>
    git clone git://anongit.kde.org/kphotoalbum
    cd kphotoalbum
    mkdir build ; cd build
    cmake -DCMAKE_INSTALL_PREFIX=~/.local -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
    make
    make install</nowiki>}}
     
    ===Updating===
    {{Input|1=<nowiki>cd ~/kphotoalbum
    git pull
    make install</nowiki>}}
     
    ===Running===
    {{Input|1=<nowiki>~/.local/bin/kpa-backup.sh --backup
    ~/.local/bin/kphotoalbum</nowiki>}}
     
     
     
     
     
     
     
    ==Full instructions==
    ===Build dependencies===
    If you've had KPhotoAlbum installed earlier from repositories, the Git KPhotoAlbum will use the same setting files as the earlier version.
    If you want to be able to use the previous version after installing this, please do install to custom directory, not the default one.
     
    Install required build tools:
    {{Input|1=<nowiki>sudo apt-get install git build-essential cmake extra-cmake-modules kio-dev pkg-config pkg-kde-tools</nowiki>}}
     
    Install required packages to build:
    {{Input|1=<nowiki>sudo apt-get install libexiv2-dev libjpeg-dev libkf5archive-dev libkf5config-dev libkf5coreaddons-dev libkf5i18n-dev libkf5iconthemes-dev libkf5jobwidgets-dev libkf5kdcraw-dev libkf5kgeomap-dev libkf5kipi-dev libkf5parts-dev libkf5widgetsaddons-dev libmarble-dev libphonon4qt5-dev libphonon4qt5experimental-dev libqt5webkit5-dev qtbase5-dev x11proto-core-dev</nowiki>}}
     
    OPTIONAL BUT RECOMMENDED: Install other dependencies:
    {{Input|1=<nowiki>sudo apt-get install kipi-plugins ffmpeg</nowiki>}}
     
    OPTIONAL and for curious minds: dependencies for experimental features:
    {{Input|1=<nowiki>sudo apt-get install libkf5kface-dev</nowiki>}}
    You only need this if you want to compile with "ENABLE_PLAYGROUND".
     
    ===Download the source code===
    Clone the Git repository:
    {{Input|1=<nowiki>git clone git://anongit.kde.org/kphotoalbum.git</nowiki>}}
     
    ===Building===
    Move to the created directory
    {{Input|1=<nowiki>cd kphotoalbum</nowiki>}}
     
    Create a build-directory (so you don't mess up you source directory)
    {{Input|1=<nowiki>mkdir build ; cd build</nowiki>}}
     
    Run cmake  to configure the build system
    {{Input|1=<nowiki>cmake .. </nowiki>}}[to install to the default directory]
     
    You can adopt the configuration to your needs by adding additional arguments to cmake:
    * <nowiki>-DCMAKE_INSTALL_PREFIX=/YOUR_INSTALL_PREFIX</nowiki>: to install to a custom directory
    * <nowiki>-DCMAKE_BUILD_TYPE=RelWithDebugInfo</nowiki>: Make a debug build that will output plenty of debug messages to help track crashes etc.
    * <nowiki>-DENABLE_PLAYGROUND=ON</nowiki>: Enable experimental features (face detection and recognition)
     
    These options can just be added to the regular cmake command:
    {{Input|1=<nowiki>cmake -DCMAKE_INSTALL_PREFIX=/YOUR_INSTALL_PREFIX -DCMAKE_BUILD_TYPE=RelWithDebInfo ..</nowiki>}}
     
    See the messages. In this stage you'll be told if you have missing dependencies. Do fix them (try to find the missing packages from the package repositories) before continuing.
     
    Run make:
    {{Input|1=<nowiki>make -j=4</nowiki>}}
    This uses up to 4 processes to build kphotoalbum. On a modern system you may want to increase the number. If you want  to use a single process only, simply omit the <nowiki>-j=4</nowiki> entirely.
     
    ====Choosing the installation directory====
     
    While you can install kphotoalbum to ''any'' directory of your choice, some directories make life easier for you.
    Here are some suggestions for your install prefix:
    * <nowiki>/usr/local</nowiki>(''default'')<br/>Usually included in search path, but requires root privileges for installation.
    * <nowiki>~/.local</nowiki><br/>Does not require root privileges for installation. You might need to add <nowiki>~/.local/bin</nowiki> to your search path, though.
     
    Both of the above suggestions are also searched by default when Qt searches for application resources. Using one of them makes sure that kphotoalbum can find its own resource files (e.g. the demo database).
     
    '''Do not use <nowiki>/usr</nowiki>''' as prefix directory! This prefix is reserved for files managed by your distribution's package manager.
     
    ===Installing===
    Run installation:
    {{Input|1=<nowiki>make install</nowiki>}}
    or if the installation path is not writable by your user:
    {{Input|1=<nowiki>sudo make install</nowiki>}}
     
    If you have already installed a different version of kphotoalbum, and you only want to check out some specific feature, you may skip the installation step and directly run the kphotoalbum executable file in your build directory.
    Be aware, though, that in this case kphotoalbum uses the already installed resource files of your kphotoalbum installation. If there is not existing installation of kphotoalbum, certain features will not work correctly (demo database, HTML export, …)
     
    ====Verify installation====
    If the install directory that you chose is not in your search path, your system won't find kphotoalbum on its own, or it may find a packaged version of kphotoalbum instead. To verify your installation, run:
    {{Input|1=<nowiki>which kphotoalbum</nowiki>}}
    The output should start with the install prefix that you chose earlier.
    If it does not match, you have to add the installation directory (/YOUR_INSTALL_PREFIX/bin) to your search path, or type the full path of the executable file.
     
    Under most shells, you can add a directory to your search path using this command:
    {{Input|1=<nowiki>export PATH="/YOUR_INSTALL_PREFIX/bin:$PATH"</nowiki>}}
     
    ===Back up your files===
    By using the latest GIT versions of KPhotoAlbum you risk losing your precious files. It shouldn't happen but you never know. This would now be an excellent time to run the backups - you've just downloaded a script to backup the KPhotoAlbum config files for you so keep reading! Your photos you already have backed up, right...?
     
    To backup your database and configuration files, run:
    {{Input|1=<nowiki>kpa-backup --backup</nowiki>}}
     
    Complete backup instructions can be found under [[#Backup]]
     
    ===Running===
     
    A handy feature of the cmake build-system is that it builds binaries in such a way that you can start them from within the build system. This certainly handy for quickly testing a new version of KPhotoalbum without touching anything else on your system.
    However, be aware that some features depend on hard-coded paths (e.g. menu-entries, Handbook, HTML Exports, Demo) and may not work as expected. These features will still use the files installed by the distributions version of KPhotoAlbum.
    You can just try out KPhotoalbum without installation first, and install later on (see 2.4), if you decide so.
     
    If you installed to a non-standard directory, you have two options:
    1a) Start KPhotoAlbum from the directory where it was installed:
    {{Input|1=<nowiki>/path/for/my/kphotoalbum/installation/kphotoalbum</nowiki>}}
    OR
    1b) add the following line to /home/username/.bashrc so you can start KPhotoAlbum from anywhere:
    {{Input|1=<nowiki>export KDEDIRS=/path/for/my/kphotoalbum/installation</nowiki>}}
    Restart your terminal (so that .bashrc gets executed)
     
    2)Start KPhotoAlbum:
    {{Input|1=<nowiki>kphotoalbum</nowiki>}}
     
    It's always a good idea to first try out things with the demo-database. Just add "--demo" when starting KPhotoalbum:
    {{Input|1=<nowiki>kphotoalbum --demo</nowiki>}}
     
     
    ===Rebuild / Update===
    In the kphotoalbum git directory, execute:
    {{Input|1=<nowiki>git pull
    cd build
    make -j4
    make install
    </nowiki>}}
     
    If you want to see what has changed  try git log or qgit for graphical user interface.
     
    If you upgraded your system and the build fails afterwards, it can often help to delete the build directory (no need to delete the source directory) and run the instructions under [[#Building]] again.
     
    ===Hints & Tips===
    See http://kphotoalbum.org/index.php?page=compile for some more info on KIPI plugins, EXIF and video thumbnail support as well as Dutch/French handbook issues and KHelpCenter tips.
     
    ==Backup==
    This text assumes that you already back up your image files (disk failures happen).
    When playing with an experimental version of kphotoalbum, you may also want to backup your image database and other files that are needed by kphotoalbum.
     
    ===Backup script===
    KPhotoalbum source code has a backup script included.
    {{Input|1=<nowiki>kpa-backup.sh --backup
    kpa-backup.sh --restore</nowiki>}}
     
     
    If the backup script is not included in an old installation of kphotoalbum, you can run the backup script directly from the source directory:
    {{Input|1=<nowiki>script/kpa-backup.sh --backup
    script/kpa-backup.sh --restore</nowiki>}}
     
     
    ===Manual backup===
    Create backup directory
    {{Input|1=<nowiki>mkdir kpa-backup</nowiki>}}
     
    Backup your settings:
    {{Input|1=<nowiki>cp -a ~/.local/share/kphotoalbum/kphotoalbumui.rc kpa-backup/
    cp -a ~/.config/kphotoalbumrc kpa-backup/</nowiki>}}
     
    And if you want to try KPhotoalbum with your real database (not the demo):
    Backup your database:
    {{Input|1=<nowiki>cp -a /path/to/your/image/folder/index.html kpa-backup/
    cp -a /path/to/your/image/folder/exif-info.db kpa-backup/</nowiki>}}
     
    Backup the layout of your Annotation dialog:
    {{Input|1=<nowiki>cp -a /path/to/your/image/folder/layout.dat kpa-backup/</nowiki>}}
     
    ==Preparations for other systems==
    ===openSUSE===
    These instructions were prepared with an out of the box installation of openSUSE Leap 42.2.  Leap 42.1, SLES12 and Tumbleweed should work along the same lines.  In older versions of openSUSE, success depends on the completeness of the transition to QT5 in the distribution. It is assumed that installation takes place from remote repositories (not from DVD).
     
    Use settings->yast (command line: yast2) to install packages and patterns. You need root access to enter yast.
     
    The easiest way to get all the necessary build tools is installing the pattern "KDE development": 
    * In yast software management select View-> Patterns. 
    * scroll down and select "KDE Development" for installation.  This should pull in cmake, git, gcc and most of the libraries needed.
     
     
    Change to View->Search and search/select the libs AND the corresponding  the *-devel packages:
    * libkipi
    * libkdcraw
    * libkgeomap
    * libkexiv2
    * libkface - only if you want to play with face recognition.
     
     
    Check the remaining toolkit (these packages should already be checked for installation or present anyhow). Search and check for installation:
    * cmake - the "extra-cmake-modules" package is needed
    * git
    * ffmpeg (needed for video thumbnails). This package contains ffmpeg and ffprobe.
     
    Klick accept.  Several more dependencies will be selected for installation.  This is OK.
     
    After installation it is advisable (not strictly necessary) to reboot.
     
    Mplayer(1 or 2) is no longer necessary for video thumbnails if ffmpeg is available.  In openSUSE only mplayer (1) is available as the Mplayer2 project lost support.
     
    To get a complete set of supported codecs, it might be advisable to add the packman repository and install ffmpeg and vlc from there.  The install of vlc will pull in a lot of codec libs: 
    * In yast software management select from the menu: Configuration -> Repositories. 
    * Add the packman repository from the list of community repositories or as URL:
    {{Input|1=<nowiki>http://packman.inode.at/suse/openSUSE_Leap_42.2/</nowiki>}}
    Search and install vlc and ffmpeg:
    * select a package and click on the tab "Versions"
    * select the version from the packman repository

    Latest revision as of 16:01, 8 February 2019

    This page was moved to the community wiki: click this link to be redirected.