Building KPhotoAlbum

    From KDE UserBase Wiki
    Revision as of 17:38, 11 December 2016 by Johanneszarl (talk | contribs) (update build dependencies section)

    This howto will tell you the steps required to pull, build and install the GIT version of KPhotoAlbum in Ubuntu/Debian.

    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 Neon packages for kphotoalbum.

    Summary

    First build

    Do first backup all your precious files!!

    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
    
    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 #use sudo in front if needed 

    Updating

    cd ~/kphotoalbum
    git pull
    make install #use sudo in front if needed

    Running

    ~/kphotoalbum/script/kpa-backup.sh --backup
    ~/kphotoalbum/bin/kphotoalbum




    Build

    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:

    sudo apt-get install git build-essential cmake extra-cmake-modules kio-dev pkg-config pkg-kde-tools

    Install required packages to build:

    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

    OPTIONAL BUT RECOMMENDED: Install other dependencies:

    sudo apt-get install kipi-plugins ffmpeg

    Fetching source code

    Clone the Git repository:

    git clone git://anongit.kde.org/kphotoalbum.git

    Backup

    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...?

    Backup script

    KPhotoalbum source code has a backup script included. You can just simply run it after the sources have been fetched (script/kpa-backup.sh):

    (script/kpa-backup.sh --backup
    script/kpa-backup.sh --restore

    Manual backup

    Create backup directory

    mkdir kpa-backup

    Backup your settings:

    cp -a ~/.local/share/kphotoalbum/kphotoalbumui.rc kpa-backup/
    cp -a ~/.config/kphotoalbumrc kpa-backup/

    And if you want to try KPhotoalbum with your real database (not the demo): Backup your database:

    cp -a /path/to/your/image/folder/index.html kpa-backup/
    cp -a /path/to/your/image/folder/exif-info.db kpa-backup/

    Backup the layout of your Annotation dialog:

    cp -a /path/to/your/image/folder/layout.dat kpa-backup/


    Building

    Move to the created directory

    cd kphotoalbum

    Create a build-directory (so you don't mess up you source directory)

    mkdir build ; cd build

    Run cmake to configure the build system

    cmake .. 

    [to install to the default directory]

    OR

    cmake -DCMAKE_INSTALL_PREFIX=/path/for/my/kphotoalbum/installation .. 

    [to install to a custom directory]

    OR

    cmake -DCMAKE_BUILD_TYPE=RelWithDebugInfo .. 

    [to make the debug build that will output plenty of debug messages to help track crashes etc]

    OR combine the options:

    cmake -DCMAKE_INSTALL_PREFIX=~/kphotoalbum -DCMAKE_BUILD_TYPE=RelWithDebInfo ..

    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:

    make

    OR on a reasonably modern system, parallel builds can speed up compilation quite a lot. E.g. to build using 4 processors, you can write:

    make -j=4

    Installing

    Run installation(optional):

    make install

    or if the installation path is not writable by your user:

    sudo make install

    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:

    /path/for/my/kphotoalbum/installation/kphotoalbum

    OR 1b) add the following line to /home/username/.bashrc so you can start KPhotoAlbum from anywhere:

    export KDEDIRS=/path/for/my/kphotoalbum/installation

    Restart your terminal (so that .bashrc gets executed)

    2)Start KPhotoAlbum:

    kphotoalbum

    It's always a good idea to first try out things with the demo-database. Just add "--demo" when starting KPhotoalbum:

    kphotoalbum --demo

    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.


    Rebuild

    Updating the source

    In the kphotoalbum Git folder, pull the changes:

    git pull

    If you want to see what has changed try git log or qgit for graphical user interface

    Rebuilding

    You normally don't have to run cmake again -- it will be invoked by the makefiles, if neccessary. Otherwise follow #Building

    Reinstalling

    Follow the instructions at #Installing

    RUNNING

    Follow instruction at #Running