KPhotoAlbum/build instructions: Difference between revisions

From KDE Community Wiki
No edit summary
 
(4 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 howto will tell you the steps required to pull, build and install the GIT version of [[KPhotoAlbum]] in Ubuntu/Debian and openSuse (scroll down)


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


BUILD INSTRUCTIONS CHECKED AGAINST:
'''Before you start - backup all your precious KPhotoAlbum files!! See [[#Backup]].'''
- Kubuntu 19.10
  - Ubuntu 18.04


==Summary==
==Debian/Ubuntu==
Tested 10/2023 on Kubuntu 22.04.03.


===Preparations before building===
===Preparations===
First, backup all your precious files!!  See section "Backup" below.
If you've had KPhotoAlbum installed earlier from Ubuntu / Debian apt 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.


Enable the deb-src rows in /etc/apt/sources.list & run sudo apt-get update
Uncomment / Remove # from all deb-src rows in /etc/apt/sources.list to be able to download required source files
 
Install all required packages (Ubuntu / Debian):
{{Input|1=<nowiki>
sudo apt install build-essential git
sudo apt install cmake extra-cmake-modules libkf5kio-dev pkg-config pkg-kde-tools
sudo apt build-dep kphotoalbum
#this install following packages on Kubuntu 19.10: autoconf automake autopoint autotools-dev debhelper dh-autoreconf dh-strip-nondeterminism dwz libastro-dev libastro1 libdebhelper-perl libexiv2-dev libfile-stripnondeterminism-perl libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjs-openlayers libkf5archive-dev libkf5doctools-dev libkf5kdcraw-dev libkf5purpose-dev libmarble-dev libmarblewidget-qt5-28 libphonon4qt5-dev libqt5quickparticles5 libqt5quickshapes5 libqt5quicktest5 libqt5webkit5-dev libsigsegv2 libsub-override-perl libtool m4 marble-data marble-qt-data po-debconf qt5-qmltooling-plugins qtdeclarative5-dev qtdeclarative5-dev-tools
 
sudo apt-get install libkf5testwidgets-dev
# this adds a missing packet with Ubuntu 22.04
 
sudo apt install ffmpeg</nowiki>}}
 
Preparations for other systems (openSUSE) - see at the bottom.
 
===First build===
{{Input|1=<nowiki>
{{Input|1=<nowiki>
git clone https://invent.kde.org/graphics/kphotoalbum.git
sudo nano /etc/apt/sources.list</nowiki>}}
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
cd build
make && make install</nowiki>}}
 
===Running===
{{Input|1=<nowiki>~/.local/bin/kpa-backup.sh --backup
~/.local/bin/kphotoalbum</nowiki>}}


 
Update package lists & upgrade your system to most recent available packages:
 
{{Input|1=<nowiki>sudo apt update
 
sudo apt upgrade</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:
Install required build tools:
{{Input|1=<nowiki>sudo apt install git build-essential cmake extra-cmake-modules pkg-config pkg-kde-tools</nowiki>}}
{{Input|1=<nowiki>sudo apt install build-essential git cmake extra-cmake-modules libkf5kio-dev pkg-config pkg-kde-tools</nowiki>}}


Install required packages to build:
Install required packages to build:
{{Input|1=<nowiki>sudo apt build-dep kphotoalbum
{{Input|1=<nowiki>sudo apt build-dep kphotoalbum</nowiki>}}
#on Kubuntu 19.10 following packages are installed: autoconf automake autopoint autotools-dev debhelper dh-autoreconf dh-strip-nondeterminism dwz libastro-dev libastro1 libdebhelper-perl libexiv2-dev libfile-stripnondeterminism-perl libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjs-openlayers libkf5archive-dev libkf5doctools-dev libkf5kdcraw-dev libkf5purpose-dev libmarble-dev libmarblewidget-qt5-28 libphonon4qt5-dev libqt5quickparticles5 libqt5quickshapes5 libqt5quicktest5 libqt5webkit5-dev libsigsegv2 libsub-override-perl libtool m4 marble-data marble-qt-data po-debconf qt5-qmltooling-plugins qtdeclarative5-dev qtdeclarative5-dev-tools</nowiki>}}
 
If you don't have source packages configured and build-dep doesn't work for you, you can install the following packages directly instead:
{{Input|1=<nowiki>sudo apt install libexiv2-dev libjpeg8-dev libkf5archive-dev libkf5completion-dev libkf5configwidgets-dev libkf5coreaddons-dev libkf5doctools-dev libkf5i18n-dev libkf5iconthemes-dev libkf5jobwidgets-dev libkf5kdcraw-dev libmarble-dev libkf5kio-dev libkf5purpose-dev libkf5service-dev libkf5textwidgets-dev libkf5widgetsaddons-dev libkf5xmlgui-dev libphonon4qt5-dev marble</nowiki>}}


OPTIONAL BUT RECOMMENDED: Install other dependencies:
OPTIONAL BUT RECOMMENDED: Install other dependencies:
Line 82: Line 39:
{{Input|1=<nowiki>mkdir build ; cd build</nowiki>}}
{{Input|1=<nowiki>mkdir build ; cd build</nowiki>}}


Run cmake  to configure the build system
Run cmake  to configure the build system You can adopt the configuration to your needs by adding additional arguments to cmake:
{{Input|1=<nowiki>cmake .. </nowiki>}}[to install to the default directory]
* <nowiki>cmake -DCMAKE_INSTALL_PREFIX=~/.local</nowiki>: to install to a /home/username/.local directory (or any other directory you wish. See next chapter about choosing the installation directory.
 
* <nowiki>cmake -DCMAKE_BUILD_TYPE=RelWithDebugInfo</nowiki>: Make a debug build that will output plenty of debug messages to help track crashes etc.
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.


These options can just be added to the regular cmake command:
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>}}
{{Input|1=<nowiki>cmake -DCMAKE_INSTALL_PREFIX=~/.local -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.
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.
Line 96: Line 50:
Run make:
Run make:
{{Input|1=<nowiki>make -j=4</nowiki>}}
{{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.
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====
====Choosing the installation directory====
Line 131: Line 85:


To backup your database and configuration files, run:
To backup your database and configuration files, run:
{{Input|1=<nowiki>kpa-backup --backup</nowiki>}}
{{Input|1=<nowiki>~/.local/bin/kpa-backup.sh --backup</nowiki>}}
If you installed to any other directory, you may need to point to that directory. If you added that dir to the path, it's enough to run kpa-backup.sh --backup


Complete backup instructions can be found under [[#Backup]]
Complete backup instructions can be found under [[#Backup]]
Line 140: Line 95:
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.
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.
You can just try out KPhotoalbum without installation first, and install later on (see 2.4), if you decide so.
Run from directory pointed by the instruction above:
{{Input|1=<nowiki>~/.local/bin/kphotoalbum</nowiki>}}


If you installed to a non-standard directory, you have two options:
If you installed to a non-standard directory, you have two options:
1a) Start KPhotoAlbum from the directory where it was installed:
# Start KPhotoAlbum from the directory where it was installed: /path/for/my/kphotoalbum/installation/kphotoalbum
{{Input|1=<nowiki>/path/for/my/kphotoalbum/installation/kphotoalbum</nowiki>}}
# Add the following line to /home/username/.bashrc so you can start KPhotoAlbum from anywhere:export KDEDIRS=/path/for/my/kphotoalbum/installation
OR
Restart your terminal (so that .bashrc gets executed) and run {{Input|1=<nowiki>kphotoalbum</nowiki>}}
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:
It's always a good idea to first try out things with the demo-database. Just add "--demo" when starting KPhotoalbum:
Line 164: Line 116:
</nowiki>}}
</nowiki>}}


If you want to see what has changed try git log or qgit for graphical user interface.
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.
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===
==Backup==
==Backup==
This text assumes that you already back up your image files (disk failures happen).
This text assumes that you already back up your image files (disk failures happen).
Line 179: Line 130:




If the backup script is not included in an old installation of kphotoalbum, you can run the backup script directly from the source directory:
If the backup script is not included in an old installation of kphotoalbum, you can run the backup script directly from the GIT source directory:
{{Input|1=<nowiki>script/kpa-backup.sh --backup
{{Input|1=<nowiki>script/kpa-backup.sh --backup
script/kpa-backup.sh --restore</nowiki>}}
script/kpa-backup.sh --restore</nowiki>}}
Line 194: Line 145:
And if you want to try KPhotoalbum with your real database (not the demo):
And if you want to try KPhotoalbum with your real database (not the demo):
Backup your database:
Backup your database:
{{Input|1=<nowiki>cp -a /path/to/your/image/folder/index.html kpa-backup/
{{Input|1=<nowiki>cp -a /path/to/your/image/folder/index.xml kpa-backup/
cp -a /path/to/your/image/folder/exif-info.db kpa-backup/</nowiki>}}
cp -a /path/to/your/image/folder/exif-info.db kpa-backup/</nowiki>}}


Line 200: Line 151:
{{Input|1=<nowiki>cp -a /path/to/your/image/folder/layout.dat kpa-backup/</nowiki>}}
{{Input|1=<nowiki>cp -a /path/to/your/image/folder/layout.dat kpa-backup/</nowiki>}}


==Preparations for other systems==
==openSUSE==
===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).
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).


Line 236: Line 186:
* select a package and click on the tab "Versions"
* select a package and click on the tab "Versions"
* select the version from the packman repository
* select the version from the packman repository
===openSUSE Tumbleweed using the command line===
These instructions are accurate for an openSUSE Tumbleweed installation as of 09 September 2023.
====Install Build dependencies====
Here are two alternative ways of installing the build dependencies of KPhotoAlbum via the command line (using zypper). Both ways should give the same results.
=====Alternative 1: Installing only build dependencies using zypper source-install=====
If the openSUSE Tumbleweed package is up to date then you can directly install just the dependencies openSUSE uses to build the KPhotoAlbum package. Note that here only the build dependencies are installed and not the KPhotoAlbum package from openSUSE Tumbleweed source repository. Instead after the build dependencies are installed, the KPhotoAlbum is built as per the instructions above.
{{Input|1=<nowiki>
# Enable the default openSUSE Tumbleweed Source repository (if not already enabled)
sudo zypper mr -e openSUSE-Tumbleweed-Source
# Use zypper source-install to install only the build dependencies
sudo zypper source-install --build-deps-only kphotoalbum
# Disable the default openSUSE Tumbleweed Source repository since we are not installing KPhotoAlbum from OpenSUSE sources.
sudo zypper mr -d openSUSE-Tumbleweed-Source</nowiki>}}
=====Alternative 2: Install build dependencies directly=====
{{Input|1=<nowiki>
sudo zypper install cmake extra-cmake-modules 'cmake(Qt5Core)' 'cmake(Qt5Sql)' 'cmake(Qt5Xml)' 'cmake(Qt5Widgets)' 'cmake(Qt5Test)' 'cmake(KF5Archive)' 'cmake(KF5Completion)' 'cmake(KF5Config)' 'cmake(KF5CoreAddons)' 'cmake(KF5I18n)' 'cmake(KF5IconThemes)' 'cmake(KF5JobWidgets)' 'cmake(KF5KIO)' 'cmake(KF5TextWidgets)' 'cmake(KF5XmlGui)' 'cmake(KF5WidgetsAddons)' 'cmake(KF5Purpose)' 'cmake(Marble)' 'cmake(exiv2)' 'cmake(KF5DocTools)'  'cmake(KF5KDcraw)' 'cmake(Phonon4Qt5)' QtAV-devel vlc-devel libjpeg-devel</nowiki>}}
====Install git====
{{Input|1=<nowiki>
sudo zypper install git</nowiki>}}
====Install optional dependencies (ffmpeg)====
To learn more about installing VLC (and ffmpeg) on openSUSE refer to: [https://en.opensuse.org/VLC openSUSE's VLC page]
{{Input|1=<nowiki>
sudo zypper install  ffmpeg</nowiki>}}
==Fedora==
These instructions are accurate for a Fedora 40 KDE spin as of 15 October 2024.
Follow steps outlined above for Debian/Ubuntu but install the required build tools using the commands below.
===Install Build dependencies===
{{Input|1=<nowiki>
sudo dnf install cmake extra-cmake-modules 'cmake(Qt5Core)' 'cmake(Phonon4Qt5)' qtav-devel  'cmake(KF5Archive)' 'cmake(KF5Completion)' 'cmake(KF5Config)' 'cmake(KF5CoreAddons)' 'cmake(KF5I18n)' 'cmake(KF5IconThemes)' 'cmake(KF5JobWidgets)' 'cmake(KF5KIO)' 'cmake(KF5TextWidgets)' 'cmake(KF5XmlGui)' 'cmake(KF5WidgetsAddons)'  libjpeg-devel 'cmake(KF5Purpose)' 'cmake(KF5KDcraw)' 'cmake(Marble)' 'cmake(exiv2)' 'cmake(KF5DocTools)' vlc-devel</nowiki>}}
===Install git===
{{Input|1=<nowiki>
sudo dnf install git</nowiki>}}
===Install optional dependencies (ffmpeg)===
To learn more about installing VLC (and ffmpeg) on Fedora refer to: [https://docs.fedoraproject.org/en-US/quick-docs/rpmfusion-setup/ Fedora's RPM Fusion Page]

Latest revision as of 20:33, 15 October 2024

This howto will tell you the steps required to pull, build and install the GIT version of KPhotoAlbum in Ubuntu/Debian and openSuse (scroll down)

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.

Before you start - backup all your precious KPhotoAlbum files!! See #Backup.

Debian/Ubuntu

Tested 10/2023 on Kubuntu 22.04.03.

Preparations

If you've had KPhotoAlbum installed earlier from Ubuntu / Debian apt 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.

Uncomment / Remove # from all deb-src rows in /etc/apt/sources.list to be able to download required source files

sudo nano /etc/apt/sources.list

Update package lists & upgrade your system to most recent available packages:

sudo apt update
sudo apt upgrade

Install required build tools:

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

Install required packages to build:

sudo apt build-dep kphotoalbum

OPTIONAL BUT RECOMMENDED: Install other dependencies:

sudo apt install ffmpeg

Download the source code

Clone the Git repository:

git clone https://invent.kde.org/graphics/kphotoalbum.git

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 You can adopt the configuration to your needs by adding additional arguments to cmake:

  • cmake -DCMAKE_INSTALL_PREFIX=~/.local: to install to a /home/username/.local directory (or any other directory you wish. See next chapter about choosing the installation directory.
  • cmake -DCMAKE_BUILD_TYPE=RelWithDebugInfo: Make a debug build that will output plenty of debug messages to help track crashes etc.

These options can just be added to the regular cmake command:

cmake -DCMAKE_INSTALL_PREFIX=~/.local -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 -j=4

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 -j=4 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:

  • /usr/local(default)
    Usually included in search path, but requires root privileges for installation.
  • ~/.local
    Does not require root privileges for installation. You might need to add ~/.local/bin 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 /usr as prefix directory! This prefix is reserved for files managed by your distribution's package manager.

Installing

Run installation:

make install

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

sudo make install

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:

which kphotoalbum

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:

export PATH="/YOUR_INSTALL_PREFIX/bin:$PATH"

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:

~/.local/bin/kpa-backup.sh --backup

If you installed to any other directory, you may need to point to that directory. If you added that dir to the path, it's enough to run kpa-backup.sh --backup

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.

Run from directory pointed by the instruction above:

~/.local/bin/kphotoalbum

If you installed to a non-standard directory, you have two options:

  1. Start KPhotoAlbum from the directory where it was installed: /path/for/my/kphotoalbum/installation/kphotoalbum
  2. 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) and run

kphotoalbum

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

kphotoalbum --demo


Rebuild / Update

In the kphotoalbum git directory, execute:

git pull
cd build
make -j4
make install

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.

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.

kpa-backup.sh --backup
kpa-backup.sh --restore


If the backup script is not included in an old installation of kphotoalbum, you can run the backup script directly from the GIT source directory:

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.xml 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/

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:

  • libkf5purpose
  • libkdcraw
  • libmarble
  • libkexiv2


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:
http://packman.inode.at/suse/openSUSE_Leap_42.2/

Search and install vlc and ffmpeg:

  • select a package and click on the tab "Versions"
  • select the version from the packman repository


openSUSE Tumbleweed using the command line

These instructions are accurate for an openSUSE Tumbleweed installation as of 09 September 2023.

Install Build dependencies

Here are two alternative ways of installing the build dependencies of KPhotoAlbum via the command line (using zypper). Both ways should give the same results.

Alternative 1: Installing only build dependencies using zypper source-install

If the openSUSE Tumbleweed package is up to date then you can directly install just the dependencies openSUSE uses to build the KPhotoAlbum package. Note that here only the build dependencies are installed and not the KPhotoAlbum package from openSUSE Tumbleweed source repository. Instead after the build dependencies are installed, the KPhotoAlbum is built as per the instructions above.

# Enable the default openSUSE Tumbleweed Source repository (if not already enabled)
sudo zypper mr -e openSUSE-Tumbleweed-Source

# Use zypper source-install to install only the build dependencies
sudo zypper source-install --build-deps-only kphotoalbum

# Disable the default openSUSE Tumbleweed Source repository since we are not installing KPhotoAlbum from OpenSUSE sources.
sudo zypper mr -d openSUSE-Tumbleweed-Source
Alternative 2: Install build dependencies directly
sudo zypper install cmake extra-cmake-modules 'cmake(Qt5Core)' 'cmake(Qt5Sql)' 'cmake(Qt5Xml)' 'cmake(Qt5Widgets)' 'cmake(Qt5Test)' 'cmake(KF5Archive)' 'cmake(KF5Completion)' 'cmake(KF5Config)' 'cmake(KF5CoreAddons)' 'cmake(KF5I18n)' 'cmake(KF5IconThemes)' 'cmake(KF5JobWidgets)' 'cmake(KF5KIO)' 'cmake(KF5TextWidgets)' 'cmake(KF5XmlGui)' 'cmake(KF5WidgetsAddons)' 'cmake(KF5Purpose)' 'cmake(Marble)' 'cmake(exiv2)' 'cmake(KF5DocTools)'  'cmake(KF5KDcraw)' 'cmake(Phonon4Qt5)' QtAV-devel vlc-devel libjpeg-devel


Install git

sudo zypper install git


Install optional dependencies (ffmpeg)

To learn more about installing VLC (and ffmpeg) on openSUSE refer to: openSUSE's VLC page

sudo zypper install  ffmpeg


Fedora

These instructions are accurate for a Fedora 40 KDE spin as of 15 October 2024.

Follow steps outlined above for Debian/Ubuntu but install the required build tools using the commands below.

Install Build dependencies

sudo dnf install cmake extra-cmake-modules 'cmake(Qt5Core)' 'cmake(Phonon4Qt5)' qtav-devel  'cmake(KF5Archive)' 'cmake(KF5Completion)' 'cmake(KF5Config)' 'cmake(KF5CoreAddons)' 'cmake(KF5I18n)' 'cmake(KF5IconThemes)' 'cmake(KF5JobWidgets)' 'cmake(KF5KIO)' 'cmake(KF5TextWidgets)' 'cmake(KF5XmlGui)' 'cmake(KF5WidgetsAddons)'  libjpeg-devel 'cmake(KF5Purpose)' 'cmake(KF5KDcraw)' 'cmake(Marble)' 'cmake(exiv2)' 'cmake(KF5DocTools)' vlc-devel

Install git

sudo dnf install git

Install optional dependencies (ffmpeg)

To learn more about installing VLC (and ffmpeg) on Fedora refer to: Fedora's RPM Fusion Page