Linux 15.037 Themen, 107.111 Beiträge

DigiKam unter Wheezy compilieren

gelöscht_254676 / 3 Antworten / Baumansicht Nickles

Leider liegt DigiKam in den Wheezypaketen nur in der Version 2.6.x vor. Ich möchte mir nun die aktuelle Version selbst compilieren!

Was mich erstmal stutzig macht, ist die folgende Aussage:

"Compiling digiKam requires 4-8 hours depending on your
hardware as well as a fair amount of persistence. However,
if goes smoothly the entire process might be completed
within an hour."

Was passiert denn da, dass der Prozess solange dauern soll? Hat jemand von euch Erfahrung mit aktueller Hardware?

Muss ich vorher die Version 2.6.x deinstallieren? Was ist mit der angebundenen Mysql Datenbank..., kann ich die mit der neuen Version weiter nutzen?

Hab mir das aktuelle Tarball 3.2.x geladen...

und würde jetzt wie folgt vorgehen...

Tarball entpacken, Abhängigkeiten für DigiKam installieren und folgendes Ausführen

# mkdir build
# cd build
# cmake -DCMAKE_BUILD_TYPE=debugfull -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=on ..
# make
# su
# make install


Gibts da noch Ergänzungen, hab ich was übersehen?

bei Antwort benachrichtigen
the_mic gelöscht_254676 „DigiKam unter Wheezy compilieren“
Optionen

Ich würd ein .deb erstellen und dieses installieren, d.h. quasi einen Backport selbst erstellen. Es sei denn, du benötigst zwingend Features aus 3.2, da Debian derzeit erst 3.1 als neuste Version in den Paketquellen hat.

Mein Vorgehen für das backporting ist wie folgt: Installiere als erstes (als root) die nötigen Abhängigkeiten für die aktuelle Version:
aptitude build-dep digikam

Lade nun (als user) die aktuellsten source-Pakete von Debian Experimental herunter:
wget http://ftp.de.debian.org/debian/pool/main/d/digikam/digikam_3.1.0.orig.tar.bz2
wget http://ftp.de.debian.org/debian/pool/main/d/digikam/digikam_3.1.0-3.debian.tar.gz

danach entpacken:
tar -jxf digikam_3.1.0.orig.tar.bz2
cd digikam_3.1.0
tar -zxf ../digikam_3.1.0-3.debian.tar.gz

nun kompilieren und das *.deb erstellen:
dpkg-buildpackage -rfakeroot -uc -b

und (als root) installieren:
cd ..
dpkg -i digikam*.deb

Falls es wegen fehlender Abhängigkeiten fehlschlägt, musst du die Datei debian/control (im Verzeichnis digikam_3.1.0) in einem Editor öffnen. Dort sind die Abhängigkeiten aufgelistet. Einige musst du nachinstallieren, manchmal musst du die Liste modifizieren (z.B. Versionsabhängigkeiten abmildern). In Ausnahmefällen kann es vorkommen, dass auch eine Abhängigkeit effektiv auch mal in neuerer Version installiert werden muss.

Dieses Vorgehen mag zwar etwas aufwändiger erscheinen, erhält aber die Konsistenz des Debian-Systems weitestgehend. Eine Deinstallation der Software ist problemlos über die Paketverwaltung möglich, ebenso das saubere Upgrade, wenn wieder eine neue Version veröffentlicht wird.

cat /dev/brain > /dev/null
bei Antwort benachrichtigen
gelöscht_254676 the_mic „Ich würd ein .deb erstellen und dieses installieren, d.h. ...“
Optionen

Danke für diesen hilfreichen Hinweis...!
und wo liegt der unterschied zu dieser Vorgehensweise?

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

sudo checkinstall --pkgname=digiKam3.1 --install=no make install

sudo dpkg -i --force-overwrite <deb-name>

So wirklich erschließen sich mir die Feinheiten der Paketerstellung noch nicht.
bei Antwort benachrichtigen
the_mic gelöscht_254676 „Danke für diesen hilfreichen Hinweis... und wo liegt der ...“
Optionen

Checkinstall kenne ich nur aus alten rpm-Zeiten mit Mandrake Linux. Das hat damals eher hässliche Pakete erstellt und man hatte gerne mal einen Dateikonflikt. Evtl ist das heute besser.
Das Hauptproblem an Checkinstall ist, dass das Paket keine Abhängigkeiten gespeichert hat (woher sollte es diese auch kennen? Es erstellt daher nur ein generisches Paket aus den Informationen des Aufrufs "make install"). Das wird v.a. dann ein Thema, wenn du das Paket auch noch auf weiteren Rechnern installieren willst.

cat /dev/brain > /dev/null
bei Antwort benachrichtigen