Doc /

Compiling DigiKam on openSUSE 11.4

Why?

The digiKam version found on openSUSE 11.4 is digiKam 1.8, but the last stable version is 2.0, with many changes. It's possible to find the 2.0 on the OBS, but last time I tried it it needed many changes on kde that I didn't want.

Be warned to do a backup of your digikam.db4 files before any install, because it's never sure a new version will be compatible with lod database, it can destroy it or simply forgive the possibility of going back to the old version is anything go wild.

The risk of a destruction of your photo collection is very low, but not null.

the stable source

The stable source for digiKam is Sourceforge, pick the upper version, at the moment it's 2.0.

This will direct you to a tgz file, download it where you like better (for example ~/Download).

Compiling

Preparing the source

Use Dolphin or your prefered explorer to pick the folder in the archive (digikam-2.0.0 here) and copy it to /usr/src/packages/SOURCES/. If you have a stabdard install, this folder should be user writable, no need to be root at any moment. You end up with a /usr/src/packages/SOURCES/digikam-2.0.0/ folder.

In Dolphin, hit F4 to open the terminal pannel in Dolphin. It opens right on the desired folder.

Install the basic compilation stuff

The compilation is prepared by cmake. The best way is first to install the kde compilation pattern. Then when cmake complain, add the lacking part.

It's difficult to list what is needed, because a large part may be already present (specially on my own computer).

The cmake command line

I found the command line on the digiKam mailing, list, thanks to "sleepless"

 cmake -DCMAKE_BUILD_TYPE=debugfull -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` .

The debug instruction may be optional, but probably allow to have error messages making it more easy to find errors (as expected :-). Do not forget the ending "blank dot", that gives the working folder (current one for us).

cmake gives you errors when a library is missing. To be able to compile, you have to install the "-devel" packages (the usual package is the runtime one).

The missing libraries

This is the only part, with the install step, that have to be run as root. It's usuallly safer not to be root for all the other compilation parts.

When compiling digiKam for the first time, I had to add some libraries. I sometime added some that could be not mandatory, I will edit this section if I have more infos.

right now I had to add:

 marble-devel (the less obvious one)
 opencv-devel
 sanebackend-devel
 libksane-devel
 libkdcraw-devel
 libexiv2-devel

You can install them right now with YaST, then run the cmake command line. Hopefully you are done and ready for compilation (no it's not yet done!).

make

Type the command "make" and go drink a coffee :-).

Installing digiKam

It's much better to first uninstall any previous dgiKam version - use YaST for the standard openSUSE digiKam 1.8 version .

digiKam, like post kde applications can't run standalone. It have to be installed, that is not only copied to the kde folder, but linked to the kde libraries used in your system.

the command is to be run as root: make install

Using the new digikam

Any previous link should work. You can also search in the openSUSE menu typing digikam in the search box. You should see a nice bird (http://en.wikipedia.org/wiki/Hummingbird) and the 2.0 tag on the launch logo.

Debugging

In case you did some error, it's always possible to do all this again. You have no need to call the digiKam source folder digikam.2.0, any name works as long as you type the cmake and make commands inside this folder.

From git, the very last digiKam version!

See the Marie-Noelle page for Fedora summary below for openSUSE.

git

git is the software for dealing with archived sources. When correctly used, it copies on your computer the whole original folder with all versions... Install git is you don't have it already.

digiKam git folder

Create your first digiKam git copy:

 git clone git://anongit.kde.org/digikam-software-compilation digikam-software-compilation

The last name is the target folder, use any name you like. This is like the tgz downloading described before and can be done whereever you want (Document or Download or anywhere - but better not do it in /usr/src).

Enter this folder. It only have now the basic folders. Populate it with the source with:

 perl download-repos

(of course you need to have perl installed) Next time you can update the git folder on your computer with:

 perl gits pull

This will only get the new files.

prepare compilation

Copy this new folder with Dolphin in /usr.src, in a folder of it's own (not the digiKam 2.0 is you did it before). I use digikam-git.

Compiling

Use the same steps than described upper in this page. In my case, I had the same dependencies as for digiKam 2.0, so all was already done and the cmake and make commands worked without adding anything.