Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:controller:vzlogger:installation_cpp-version

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
software:controller:vzlogger:installation_cpp-version [2019/04/24 18:12]
jau Abhängigkeit MQTT
software:controller:vzlogger:installation_cpp-version [2019/05/28 22:40]
jau Bezug Debian Jessie korrigiert.
Zeile 6: Zeile 6:
 Unser Repository: https://​github.com/​volkszaehler/​vzlogger\\ Unser Repository: https://​github.com/​volkszaehler/​vzlogger\\
  
-Derzeit ​sind vzlogger und ein paar der Bibliotheken (Libraries) nur als Quellcode verfügbar. Diese müssen vor gebrauch kompiliert (übersetzt) werden. +Derzeit ​ist vzlogger und (auf manchen Plattformen) ​ein paar der Bibliotheken (Libraries) nur als Quellcode verfügbar. Diese müssen vor gebrauch kompiliert (übersetzt) werden. 
-Wechsle ​in ein Verzeichnis in dem dein Nutzer Schreibrechte hat. Zum Beispiel dein Home-Verzeichnis:​+ 
 +Dies macht man praktischerweise ​in einem Verzeichnisin dem dein "​normaler" ​Nutzer Schreibrechte hat. Zum Beispiel dein Home-Verzeichnis:​
  
 <​code>​ <​code>​
 cd ~ cd ~
 </​code>​ </​code>​
 +
 +Die meisten Erfahrungen mit dem Bau des vzloggers bestehen mit Debian und verwandten Distributionen (Ubuntu, Raspbian). Die folgenden Anleitungen wurden im Mai 2019 mit Debian 10 "​buster"​ verifiziert;​ Informationen für Versionen älter als Debian 9 "​stretch"​ finden sich in der Historie dieser Seite.
  
 ===== Systemvoraussetzungen zur Kompilierung des vzlogger ===== ===== Systemvoraussetzungen zur Kompilierung des vzlogger =====
  
-Für eine erfolgreiche Kompilierung des vzlogger werden, neben gcc (4.7 oder neuer) ​und glibc, auch diese Libraries benötigt:+Für eine erfolgreiche Kompilierung des vzlogger werden, neben gcc und glibc, auch diese Libraries benötigt:
  
 === Tools === === Tools ===
-  * git (package: git-core)+  * git
   * cmake   * cmake
   * pkg-config   * pkg-config
Zeile 24: Zeile 27:
    
 === Erforderliche Libraries === === Erforderliche Libraries ===
-  * libjson ​>= 0.11 (>= 0.9 before [[https://​github.com/​volkszaehler/​vzlogger/​pull/​106]]) +  * libjson-c-dev 
-  * libcurl3 >= 7.19 +  * libcurl4-openssl-dev 
-  * libgnutls-dev+  * libgnutls28-dev
   * libgcrypt   * libgcrypt
   * libsasl2-dev   * libsasl2-dev
Zeile 39: Zeile 42:
  
 === Debian Pakete === === Debian Pakete ===
-Für Distributionen die auf Debian "​Jessie"​ oder "​Stretch"​ basieren können die meisten dieser Abhängigkeiten folgendermaßen installiert werden: 
-(eventuell erstmal "​apt-get update"​ als root ausführen) 
-<​code>​sudo apt-get install build-essential git-core cmake pkg-config subversion libcurl4-openssl-dev libgnutls28-dev libsasl2-dev uuid-dev libtool libssl-dev libgcrypt20-dev libmicrohttpd-dev libltdl-dev libjson-c-dev libleptonica-dev libmosquitto-dev libunistring-dev dh-autoreconf</​code>​ 
  
-Für Debian "Wheezy": +Für auf Debian ​"stretch" ​basierende Distributionen können die meisten dieser Abhängigkeiten mit: 
-<​code>​sudo apt-get install build-essential git-core cmake pkg-config subversion ​libcurl3-dev libgnutls-dev libsasl2-dev uuid-dev libtool ​libmicrohttpd-dev libcurl4-openssl-dev libssl-dev libltdl-dev libleptonica-dev libunistring-dev dh-autoreconf</​code>​+ 
 +<​code>​sudo apt-get install build-essential git-core cmake pkg-config subversion ​libcurl4-openssl-dev libgnutls28-dev libsasl2-dev uuid-dev libtool ​libssl-dev libgcrypt20-dev libmicrohttpd-dev libltdl-dev libjson-c-dev libleptonica-dev libmosquitto-dev libunistring-dev dh-autoreconf</​code>​ 
 +installiert werden. Eventuell erstmal <​code>​sudo apt-get update</​code>​ ausführen.
  
 ===== Build per Script ===== ===== Build per Script =====
Zeile 54: Zeile 56:
 </​code>​ </​code>​
  
-Das Script bietet auch die Möglichkeit nur einzelne Module zu übersetzen. Details dazu findet man als Kommentar im Script.+Das Script bietet auch die Möglichkeitnur einzelne Module zu übersetzen. Details dazu findet man als Kommentar im Script.
  
 === Hintergrunddienst === === Hintergrunddienst ===
Zeile 60: Zeile 62:
  
 === Aktualisierung === === Aktualisierung ===
-Falls der vzlogger ​aktualisiert werden soll ist wie folgt vorzugehen:+ 
 +Zum Aktualisieren des vzlogger ​dient diese Prozedur:
 <​code>​ <​code>​
 sudo systemctl stop vzlogger sudo systemctl stop vzlogger
Zeile 69: Zeile 72:
 </​code>​ </​code>​
  
-Die zugrundeliegenden ​SML Bibliothek kann (vorher) aktualisiert werden indem:+Die zugrundeliegende ​SML Bibliothek kann (vorher) aktualisiert werdenindem:
 <​code>​ <​code>​
 cd vzlogger/​libs/​libsml cd vzlogger/​libs/​libsml
Zeile 78: Zeile 81:
  
 ===== Build von Hand ===== ===== Build von Hand =====
 +
 Falls das Script nicht zu den Gegenheiten passt nachfolgend die einzelnen Schritte. Falls das Script nicht zu den Gegenheiten passt nachfolgend die einzelnen Schritte.
 <note warning>​Nur für geübte User! Wer wenig Erfahrung hat sollte den [[software:​controller:​vzlogger:​installation_cpp-version#​build_per_script|Build per Script]] machen.</​note>​ <note warning>​Nur für geübte User! Wer wenig Erfahrung hat sollte den [[software:​controller:​vzlogger:​installation_cpp-version#​build_per_script|Build per Script]] machen.</​note>​
- 
-=== Building libjson === 
-Libjson sollte direkt aus den Quellen übersetzt werden. 
-<​code>​ 
-git clone -b json-c-0.12 https://​github.com/​json-c/​json-c 
-cd json-c 
-sh autogen.sh 
-./configure 
-make 
-sudo make install 
-</​code>​ 
- 
-Zurück zum Ausgangsverzeichnis:​ <​code>​cd ..</​code>​ 
- 
-=== Building libsml === 
-<​code>​ 
-git clone https://​github.com/​volkszaehler/​libsml.git 
-cd libsml 
-sudo make 
-</​code>​ 
-Libsml bietet kein 'make install'​ Vorgabe. 
- 
-Man macht das manuell in dem man die folgenden Dateien und Verzeichnisse kopiert: 
-<​code>​ 
-sudo cp sml/​lib/​libsml.* /usr/lib/ 
-sudo cp -R sml/​include/​* /​usr/​include/​ 
-sudo cp sml.pc /​usr/​lib/​pkgconfig/​ 
-</​code>​ 
- 
-Zurück zum Ausgangsverzeichnis:​ <​code>​cd ..</​code>​ 
  
 === Building vzlogger === === Building vzlogger ===
Zeile 123: Zeile 97:
 </​code>​ </​code>​
  
-Falls es Probleme mit libsml gibt statt nur "​cmake ​.." ​versuchen:+Zurück zum Ausgangsverzeichnis:​ <​code>​cd ​../​..</​code>​ 
 + 
 +== Bau als Debian-Paket == 
 + 
 +Das vzlogger Repository enthält ebenfalls Code, um ein "sauber"​ installier- und deinstallierbares Debian-Paket zu bauen.  
 <​code>​ <​code>​
-cmake .. -DSML_HOME=/path/to/libsml+git clone https://​github.com/volkszaehler/vzlogger.git 
 +cd vzlogger 
 +apt build-dep ./ 
 +apt install devscripts 
 +debuild
 </​code>​ </​code>​
  
-Zurück zum Ausgangsverzeichnis:​ <​code>​cd ../​..</​code>​ 
  
 === Building OMS === === Building OMS ===
Zeile 162: Zeile 144:
 Systemd dient dazu Hintergrunddienste einzurichten und zu verwalten. Systemd dient dazu Hintergrunddienste einzurichten und zu verwalten.
  
-Das Installationsscript fragt ob es ein "​systemd unit file" für dich installieren soll. Falls dein System systemd nutzt (Debian "​Jessie"​) solltest du mit yes (ja) bestätigen.+Das Installationsscript fragt ob es ein "​systemd unit file" für dich installieren soll. Falls dein System systemd nutzt (ab Debian "​Jessie"​) solltest du mit yes (ja) bestätigen.
  
 Falls du es selbst kopieren oder editieren willst findest du ein Beispiel unter: Falls du es selbst kopieren oder editieren willst findest du ein Beispiel unter:
software/controller/vzlogger/installation_cpp-version.txt · Zuletzt geändert: 2019/09/16 19:19 von joekokker