Mir scheint, es gibt derzeit zwei Möglichkeiten:
Ich entschied mich für die mongo-nonx86
Gabel. Ich habe die Abhängigkeiten wie unter Install Mongodb in Raspberry Pi beschrieben installiert und versucht, MongoDB mit zu erstellen scons
. Aber ich bekomme folgenden Fehler:
generate_buildinfo(["build/buildinfo.cpp"], ['\n#include <string>\n#include <boost/version.hpp>\n\n#include "mongo/util/version.h"\n\nnamespace mongo {\n const char * gitVersion() { return "%(git_version)s"; }\n std::string sysInfo() { return "%(sys_info)s BOOST_LIB_VERSION=" BOOST_LIB_VERSION ; }\n} // namespace mongo\n'])
gcc -o build/linux2/normal/third_party/pcre-8.30/pcre_exec.o -c -fPIC -fno-strict-aliasing -Wstrict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Wcast-align -Winvalid-pch -O3 -DBOOST_ALL_NO_LIB -D_SCONS -DMONGO_EXPOSE_MACROS -DSUPPORT_UTF8 -D_FILE_OFFSET_BITS=64 -DJS_C_STRINGS_ARE_UTF8 -DMONGO_HAVE_HEADER_UNISTD_H -DMONGO_HAVE_EXECINFO_BACKTRACE -DHAVE_SYNC_FETCH_AND_ADD -DALIGNMENT_IMPORTANT -DHAVE_BSWAP32 -DHAVE_BSWAP64 -DHAVE_CONFIG_H -Ibuild/linux2/normal/third_party/boost -Isrc/third_party/boost -Ibuild/linux2/normal/third_party/pcre-8.30 -Isrc/third_party/pcre-8.30 -Ibuild/linux2/normal -Isrc -Ibuild/linux2/normal/mongo -Isrc/mongo src/third_party/pcre-8.30/pcre_exec.c
gcc: internal compiler error: Killed (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.
scons: *** [build/linux2/normal/third_party/pcre-8.30/pcre_exec.o] Error 4
scons: building terminated because of errors.
Das Kompilieren mongopi
wird bei genau derselben Datei mit derselben Fehlermeldung beendet.
In der Zwischenzeit stellte ich fest, dass mein System dramatisch veraltet war. Aber selbst ein Upgrade auf die neuesten Versionen hat das Problem nicht gelöst. An dieser Stelle gehe ich davon aus, dass es sich tatsächlich um ein Problem mit dem freien Speicher handelt. Da ich nur ein frühes 256 MB Modell habe.
software-compilation
mongodb
Der Hochstapler
quelle
quelle
mongopi
abgeschlossen ist; D Während ich gerade diese Straße erkundefree -m
zeigt 177 frei.community
Repository der Arch ARM Distribution.Antworten:
Beim Lesen über Situationen mit wenig Arbeitsspeicher im Allgemeinen fand ich Vorschläge, den Swap-Bereich einfach zu vergrößern, um die Situation zu beheben.
Nachdem ich die Antwort von Bearbin gelesen hatte , war ich überzeugt, dass dies eine gültige Option sein könnte. Ich habe mich jedoch dafür entschieden, Swap Space ohne Verwendung von zRAM hinzuzufügen .
Da ich mich für nichts an den vollständigen Prozess erinnern kann , habe ich die Anleitung Linux Add a Swap File - Howto von Nixcraft befolgt.
Auslagerungsdatei / Speicherplatz erstellen:
Platz als Tauschbereich einrichten:
Lassen Sie root nur lesen / schreiben:
Swap-Bereich aktivieren:
Danach
scons
erfolgreich abgeschlossen und ich konnte MongoDB installieren. Ich habemongopi
am Ende die Gabel benutzt.quelle
Ich habe eine Option, die funktionieren könnte . Dies wird Ihren Kompilierungsprozess jedoch wahrscheinlich dramatisch verlangsamen.
Sie müssen ZRAM auf Ihrem Pi einrichten. Grundsätzlich wird der verwendete RAM komprimiert, damit Sie mehr verwenden können, jedoch auf Kosten einer höheren CPU-Auslastung.
Wir werden den Anweisungen hier folgen , aber ich werde sie zur leichteren Anzeige in den Beitrag einfügen.
Zunächst müssen Sie root sein, da für viele dieser Befehle root erforderlich ist:
Erstellen Sie dann eine aufgerufene Datei
/etc/init.d/zram
mit folgendem Inhalt:Wenn Sie einen einfachen Weg suchen, um es auf den Pi zu bekommen :
sudo wget http://vps1.berboe.co.uk/zram.sh -O /etc/init.d/zram
.Fügen Sie dann Ihr Skript zur Start-beim-Start-Liste hinzu, indem Sie Folgendes tun:
Dann neu starten und alles sollte funktionieren.
Führen Sie nach dem Neustart den folgenden Befehl aus :
swapon -s
. Die Ausgabe sollte ungefähr so aussehen:Jetzt ist ZRAM installiert und wenn Sie versuchen, wie zuvor zu kompilieren, funktioniert es möglicherweise.
quelle