Il me semble qu'il y a actuellement deux façons de procéder:
Je me suis contenté de la mongo-nonx86
fourchette. J'ai installé les dépendances comme décrit dans Installer Mongodb dans Raspberry Pi et j'ai essayé de construire MongoDB en utilisant scons
. Mais j'obtiens l'erreur suivante:
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.
La compilation mongopi
s'arrêtera exactement dans le même fichier avec le même message d'erreur.
En attendant, j'ai réalisé que mon système était dramatiquement dépassé. Mais même la mise à niveau vers les dernières versions n'a pas résolu le problème. À ce stade, je suppose que c'est effectivement un problème de mémoire libre. Étant donné que je n'ai qu'un premier modèle de 256 Mo.
software-compilation
mongodb
Der Hochstapler
la source
la source
mongopi
sera terminée; D Comme j'explore cette avenue en ce momentfree -m
montre 177 gratuit.community
référentiel de la distribution Arch ARM.Réponses:
En lisant sur les situations de faible mémoire en général, j'ai trouvé des suggestions pour simplement augmenter l'espace de swap pour remédier à la situation.
Donc, après avoir lu la réponse de Bearbin , j'étais convaincu que cela pouvait être une option valable. Cependant, j'ai choisi d'ajouter de l'espace de swap sans utiliser zRAM .
Parce que je ne me souviens jamais du processus complet pour rien , j'ai suivi le guide Linux Add a Swap File - Howto de Nixcraft.
Créer un fichier d'échange / espace de stockage:
Configurer l'espace comme zone d'échange:
Autoriser uniquement root à lire / écrire:
Activer la zone d'échange:
Après,
scons
terminé avec succès et j'ai pu installer MongoDB. J'aimongopi
finalement utilisé la fourche.la source
J'ai une option qui pourrait fonctionner. Cependant, cela ralentira probablement considérablement votre processus de compilation.
Vous devez configurer ZRAM sur votre Pi. Fondamentalement, il compresse la RAM utilisée pour vous permettre d'en utiliser plus, mais au prix d'une utilisation plus importante du processeur.
Nous suivrons les instructions ici mais je les mettrai dans le message pour une visualisation facile.
Donc, tout d'abord, vous devez être root car beaucoup de ces commandes nécessitent root:
Ensuite, créez un fichier appelé
/etc/init.d/zram
avec le contenu suivant:Si vous voulez un moyen facile d'obtenir sur le Pi:
sudo wget http://vps1.berboe.co.uk/zram.sh -O /etc/init.d/zram
.Ensuite, ajoutez votre script à la liste de démarrage au démarrage en faisant:
Redémarrez ensuite et tout devrait fonctionner.
Après le redémarrage, exécutez la commande suivante :
swapon -s
. La sortie devrait ressembler à ceci:Maintenant, ZRAM est installé et si vous essayez de compiler comme vous l'avez fait avant, cela pourrait fonctionner.
la source