Raspberry Pi: Heimautomatisierung mit Z-Wave und Domoticz – Abbruch beim Kompiliervorgang

Auf dem Raspberry Pi kommt beim Compile Versuch von Domoticz nach einiger Zeit eine Fehlermeldung, der Prozess bricht ab.
Ist von z.B. remote mit dem RPi verbunden, bricht die Verbindung komplett ab. Nicht einmal die ICMP Antworten von ping werden beantwortet. Der RPi ist eine gewisse Zeit „quasi tot“.

Die letzten Meldungen vom make Aufruf:


    .....
    [ 20%] Building C object MQTT/CMakeFiles/mqtt.dir/tls_mosq.c.o
    [ 20%] Building C object MQTT/CMakeFiles/mqtt.dir/util_mosq.c.o
    [ 20%] Building C object MQTT/CMakeFiles/mqtt.dir/will_mosq.c.o
    [ 21%] Linking CXX static library libmqtt.a
    [ 21%] Built target mqtt
    [ 21%] Building CXX object CMakeFiles/domoticz.dir/main/stdafx.cpp.o
    [ 21%] Building CXX object CMakeFiles/domoticz.dir/main/CmdLine.cpp.o
    [ 22%] Building CXX object CMakeFiles/domoticz.dir/main/Camera.cpp.o
    [ 22%] Building CXX object CMakeFiles/domoticz.dir/main/domoticz.cpp.o
    [ 22%] Building CXX object CMakeFiles/domoticz.dir/main/EventSystem.cpp.o
    c++: internal compiler error: Killed (program cc1plus)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See for instructions.
    CMakeFiles/domoticz.dir/build.make:158: recipe for target 'CMakeFiles/domoticz.dir/main/EventSystem.cpp.o' failed
    make[2]: *** [CMakeFiles/domoticz.dir/main/EventSystem.cpp.o] Error 4
    CMakeFiles/Makefile2:108: recipe for target 'CMakeFiles/domoticz.dir/all' failed
    make[1]: *** [CMakeFiles/domoticz.dir/all] Error 2
    Makefile:149: recipe for target 'all' failed
    make: *** [all] Error 2

Ursache: Der Prozess fährt quasi gegen die Wand. Es fehlt einfach Speicher. Dem Prozess stehen einfach zu wenig MB RAM zur Verfügung.

Lösung:
Ein Swapfile (im Beispiel 1GB) dem RAM als „Auslagerungsdatei“ zuordnen.


    sudo dd if=/dev/zero of=/pfad/zum/swapfile bs=1M count=1024
    sudo mkswap /pfad/zum/swapfile
    sudo swapon /pfad/zum/swapfile

Damit steht dem System nun etwas Swap zur Verfügung, wird mit free aufgelistet:


    total used free shared buffers cached
    Mem: 444532 408576 35956 14928 16984 301028
    -/+ buffers/cache: 90564 353968
    Swap: 1150968 98504 1052464

Nun sollte der RPi den Compile Prozess erfolgreich bis zum Ende durchlaufen lassen können und nicht mehr abbrechen.

Und Swap wieder ausschalten


    sudo swapoff -a

Und das Swapfile dauerhaft auf dem System nutzen (Sicherung der fstab anlegen!). Hierzu eine Zeile ans Ende der /etc/fstab eintragen:


    /pfad/zum/swapfile none swap sw 0 0

Dieser Beitrag wurde unter Allgemein, Linux/ UNIX, RaspberryPI, Technikspielkram abgelegt und mit , , , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*