GnuCash 2.6 kompilieren (Debian): Unterschied zwischen den Versionen

Aus MattWiki
 
(33 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Anleitung, um GnuCash aus dem Quelltext selbst unter Debian zu kompilieren.
Anleitung, um eine Stable-Version von Gnucash unter Debian GNU/Linux aus dem Quellcode zu kompilieren. Diese Anleitung bezieht sich auf:
 
* Gnucash 2.6 Stable (Erfolgreich getestet mit 2.6.5, 2.6.14, 2.6.17, 2.6.19)
Letzte getestete Version: GnuCash 2.6.3 Stable auf Debian Wheezy 7.5
* Debian (Erfolgreich ausgeführt auf 7.8, 8.x, 9.x)


Quellen für diese Anleitung:
Quellen für diese Anleitung:
* http://wiki.gnucash.org/wiki/Building
* http://wiki.gnucash.org/wiki/Building
* http://verahill.blogspot.de/2014/01/542-gnucash-26-on-debian-wheezy-by.html
* http://wiki.gnucash.org/wiki/Dependencies
== Installation Kompilierumgebung ==


Unter Debian reicht es mit etwas Glück, folgendes Paket zu installieren, um alles, was zum Kompilieren von GnuCash benötigt wird, zu haben:
# aptitude build-dep gnucash
Im Detail kann man es auch probieren, folgende Pakete zu installieren:


== Voraussetzungen ==
Kompiler und Hilfsprogramme installieren:
Benötigte Softwarepakete für Kompiliervorgang installieren


  # apt-get install build-essential
  # apt-get install gcc intltool pkg-config


Diese Zeile nochmal überdenken, da hier viel Schrott installiert wird. Evtl. die Dependencies von GnuCash manuell installieren? → vgl. GnuCash-Wiki zum Thema "Dependencies"
Notwendige Entwicklungspakete installieren (Dabei werden auch Pakete für den Betrieb von Gnucash installiert):


  # aptitude build-dep gnucash
  # apt-get install libglib2.0-dev libgtk2.0-dev guile-2.0-dev libxslt1-dev xsltproc libgnomecanvas2-dev libgoffice-0.8-dev libwebkit-dev libwebkitgtk-dev libdbi0-dev


Auf jeden Fall benötigt (Weil vom Configure-Skript geprüft):
Unklar, welche Webkit-Version benötigt wird, daher ggf. auch noch die neueste installieren:
# apt-get install libwebkit2gtk-4.0-dev
Einer der drei SQL-Backends wird benötigt:


  # apt-get install libsxlt-dev libdbd-mysql xsltproc checkinstall swig guile-2.0-libs
  # apt-get install libdbd-mysql      # oder
# apt-get install libdbd-pgsql      # oder
# apt-get install libdbd-sqlite3 


Sonstige benötigte Pakete:


Noch zu überarbeiten → Wird das noch benötigt, oder reichen die beiden o. g. Zeilen aus?:  
# apt-get install libfinance-quote-perl      # Onlineabfrage der Kurse:
== Quellcode beschaffen ==


Benötigte Softwarepakete für Betrieb von GnuCash
Mögliche Quellen:
# apt-get install guile-2.0-dev swig
# Stable Quellcode von Sourceforge → Enthalten Configure Skript ('''Empfohlener Weg''')
autoconf automake intltool xsltproc checkinstall
# Quellcode von Git &rarr; Configure Skript mit <code>./autogen.sh</code> aufbauen
libglib2.0-dev libgtk2.0-dev guile-2.0-libs libgnomecanvas2-dev libgoffice-0.8-dev  libxml2-dev libxslt-dev libwebkit-dev  libdbd-mysql libdbi-dev libofx-dev python-dev
# Tarballs von Github nicht verwenden
# apt-get install build-essential libglib2.0-dev libgtk2.0-dev guile-2.0-libs libgnomecanvas2-dev libgoffice-0.8-dev guile-2.0-dev libxml2-dev libxslt-dev swig libwebkit-dev libdbd-mysql libdbi-dev libofx-dev python-dev
<code>gnucash-2.x.x.tar.bz2</code> herunterladen nach <code>/opt</code>
# apt-get install autoconf automake intltool xsltproc checkinstall


== Kompilieren ==
Archiv entpacken:
$ cd /opt
$ tar xvf gnucash-2.x.x.tar.bz2
$ cd gnucash-2.x.x
Konfigurieren:


== Quellen herunterladen und einrichten ==
$ ./configure
'''Wichtig:''' Quellen von Sourceforge verwenden, nicht die Tarballs von GitHub. Warum? Kein Plan.


  mkdir ~/tmp/gnucash -p
Normalerweise werden in Debian lokal kompilierte Programme mit <code>make install</code> in die Unterverzeichnisse von <code>/usr/local</code> installiert (Auszug):
  cd ~/tmp/gnucash
  /usr/local/bin
  wget http://downloads.sourceforge.net/sourceforge/gnucash/gnucash-2.6.0.tar.bz2
  /usr/local/include
tar xvf gnucash-2.6.0.tar.bz2
  /usr/local/share
cd gnucash-2.6.0/
Dies kann durch den Parameter --prefix geändert werden, wenn man das installierte Programm vom Rest des Systems trennen möchte:
$ ./configure --prefix=/opt/gnucash-2.x.x
Dies ist z. B. dann sinnvoll, wenn man ein Programm selbst kompilieren möchte, jedoch auch noch das gleiche Programm aus den Paketquellen installieren möchte.


Falls man Source- und Build-Daten im gleichen Verzeichnis speichern will:
Auch ist es sinnvoll, wenn man von einem Programm mehrere Versionen gleichzeitig installiert haben möchte.


./configure
In beiden Fällen dann selbst entweder direkt die Executables aus den Verzeichnissen direkt starten oder eine Verknüpfung in <code>/usr/local/bin</code> erstellen.
 
Falls Source- und Build-Daten in unterschiedlichen Verzeichnissen gespeichert werden sollen: So wird das Build-Verzeichnis angegeben:
 
./configure --prefix=/opt/gnucash-build


Die Ausgabe von <code>./configure</code> sieht etwa so aus:
Die Ausgabe von <code>./configure</code> sieht etwa so aus:
   Options detected/selected
   Options detected/selected
   -------------------------
   -------------------------
   gnucash version ...... : 2.6.3
   gnucash version ...... : 2.x.x
   Build for host ....... : x86_64-unknown-linux-gnu
   Build for host ....... : x86_64-unknown-linux-gnu
   Optional components... :  dbi ofx
   Optional components... :  dbi ofx
Zeile 60: Zeile 70:
   CFLAGS ............... :  -Wdeclaration-after-statement -g -O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations  -Wno-unused
   CFLAGS ............... :  -Wdeclaration-after-statement -g -O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations  -Wno-unused
   LDFLAGS .............. :  
   LDFLAGS .............. :  
   prefix................ : /opt/gnucash-2.6.3
   prefix................ : /opt/gnucash-2.x.x
 
== Kompilieren ==
 
make
make install
checkinstall --install=no
dpkg -i gnucash_2.6.0-1_amd64.deb


Kompilieren:
$ make
# make install    # Rootrechte notwendig
== Ausführen ==
$ /opt/gnucash-2.x.x/bin/gnucash
== Verknüpfung im Anwendungsmenü erstellen ==
# ln -s /opt/gnucash-2.x.x/bin/gnucash /usr/local/bin/gnucash
# cp -r /opt/gnucash-2.x.x/share/icons/hicolor/* /usr/share/icons/<aktive Symbolzusammenstellung>
# ln -s /opt/gnucash-2.x.x/share/applications/gnucash.desktop /usr/local/share/applications/gnucash.desktop
== Fehlerbehandlung ==
== Fehlerbehandlung ==
=== libgnc-gnome.so.0 ===
=== libgnc-gnome.so.0===
'''Fehlerursache:''' GnuCash startet mit der erstellten Verknüpfung nicht
'''Fehlerursache:''' GnuCash startet mit der erstellten Verknüpfung nicht


'''Diagnose:''' GnuCash direkt aus dem Terminal starten und Meldungen überprüfen. Falls eine Meldung erscheint, dass libgnc-gnome.so.0 fehlt folgendes tun:
'''Diagnose:''' GnuCash direkt aus dem Terminal starten und Meldungen überprüfen. Falls eine Meldung erscheint, dass libgnc-gnome.so.0 fehlt folgendes tun:


'''Lösung'''
'''Lösung:'''


  # nano /etc/ld.so.conf  
  # nano /etc/ld.so.conf  
Zeile 87: Zeile 99:
  # ldconfig
  # ldconfig


=== Kursabfrage / Finance::Quote ===
.
'''Fehlerursache:''' Kurse lassen sich nicht abrufen unter Werkzeuge &rarr; Kurs-Datenbank &rarr; Button "Kurse abrufen"
 
'''Diagnose:''' Im Wertpapiereditor unter Wekkzeuge &rarr; Wertpapier-Editor &rarr; Bearbeiten erscheint die Warnung "Modul Finance::Quote ist nicht korrekt installiert."
 
'''Lösung'''
Einrichtungsskript für Finance-Quote ausführen:
 
# /usr/local/bin/gnc-fq-update
 


[[Category:Debian]]
[[Category:Linux]]
[[Category:Kompilieren]]
[[Category:Kompilieren]]
[[Kategorie:GnuCash]]

Aktuelle Version vom 5. Januar 2018, 21:59 Uhr

Anleitung, um eine Stable-Version von Gnucash unter Debian GNU/Linux aus dem Quellcode zu kompilieren. Diese Anleitung bezieht sich auf:

  • Gnucash 2.6 Stable (Erfolgreich getestet mit 2.6.5, 2.6.14, 2.6.17, 2.6.19)
  • Debian (Erfolgreich ausgeführt auf 7.8, 8.x, 9.x)

Quellen für diese Anleitung:

Installation Kompilierumgebung

Unter Debian reicht es mit etwas Glück, folgendes Paket zu installieren, um alles, was zum Kompilieren von GnuCash benötigt wird, zu haben:

# aptitude build-dep gnucash

Im Detail kann man es auch probieren, folgende Pakete zu installieren:

Kompiler und Hilfsprogramme installieren:

# apt-get install gcc intltool pkg-config

Notwendige Entwicklungspakete installieren (Dabei werden auch Pakete für den Betrieb von Gnucash installiert):

# apt-get install libglib2.0-dev libgtk2.0-dev guile-2.0-dev libxslt1-dev xsltproc libgnomecanvas2-dev libgoffice-0.8-dev libwebkit-dev libwebkitgtk-dev libdbi0-dev

Unklar, welche Webkit-Version benötigt wird, daher ggf. auch noch die neueste installieren:

# apt-get install libwebkit2gtk-4.0-dev

Einer der drei SQL-Backends wird benötigt:

# apt-get install libdbd-mysql       # oder
# apt-get install libdbd-pgsql       # oder
# apt-get install libdbd-sqlite3  

Sonstige benötigte Pakete:

# apt-get install libfinance-quote-perl      # Onlineabfrage der Kurse:

Quellcode beschaffen

Mögliche Quellen:

  1. Stable Quellcode von Sourceforge → Enthalten Configure Skript (Empfohlener Weg)
  2. Quellcode von Git → Configure Skript mit ./autogen.sh aufbauen
  3. Tarballs von Github nicht verwenden

gnucash-2.x.x.tar.bz2 herunterladen nach /opt

Kompilieren

Archiv entpacken:

$ cd /opt
$ tar xvf gnucash-2.x.x.tar.bz2
$ cd gnucash-2.x.x

Konfigurieren:

$ ./configure

Normalerweise werden in Debian lokal kompilierte Programme mit make install in die Unterverzeichnisse von /usr/local installiert (Auszug):

/usr/local/bin
/usr/local/include
/usr/local/share

Dies kann durch den Parameter --prefix geändert werden, wenn man das installierte Programm vom Rest des Systems trennen möchte:

$ ./configure --prefix=/opt/gnucash-2.x.x

Dies ist z. B. dann sinnvoll, wenn man ein Programm selbst kompilieren möchte, jedoch auch noch das gleiche Programm aus den Paketquellen installieren möchte.

Auch ist es sinnvoll, wenn man von einem Programm mehrere Versionen gleichzeitig installiert haben möchte.

In beiden Fällen dann selbst entweder direkt die Executables aus den Verzeichnissen direkt starten oder eine Verknüpfung in /usr/local/bin erstellen.

Die Ausgabe von ./configure sieht etwa so aus:

 Options detected/selected
 -------------------------
 gnucash version ...... : 2.x.x
 Build for host ....... : x86_64-unknown-linux-gnu
 Optional components... :  dbi ofx
 Extra Warnings ....... :  -Wdeclaration-after-statement
 CPPFLAGS ............. : 
 CFLAGS ............... :  -Wdeclaration-after-statement -g -O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations  -Wno-unused
 LDFLAGS .............. : 
 prefix................ : /opt/gnucash-2.x.x

Kompilieren:

$ make
# make install     # Rootrechte notwendig

Ausführen

$ /opt/gnucash-2.x.x/bin/gnucash

Verknüpfung im Anwendungsmenü erstellen

# ln -s /opt/gnucash-2.x.x/bin/gnucash /usr/local/bin/gnucash
# cp -r /opt/gnucash-2.x.x/share/icons/hicolor/* /usr/share/icons/<aktive Symbolzusammenstellung>
# ln -s /opt/gnucash-2.x.x/share/applications/gnucash.desktop /usr/local/share/applications/gnucash.desktop

Fehlerbehandlung

libgnc-gnome.so.0

Fehlerursache: GnuCash startet mit der erstellten Verknüpfung nicht

Diagnose: GnuCash direkt aus dem Terminal starten und Meldungen überprüfen. Falls eine Meldung erscheint, dass libgnc-gnome.so.0 fehlt folgendes tun:

Lösung:

# nano /etc/ld.so.conf 

Zeile einfügen:

include /usr/local/lib

Anschließend ausführen:

# ldconfig

.