Sepertinya saya saat ini ada dua cara untuk melakukan ini:
Saya memilih mongo-nonx86
garpu. Saya menginstal dependensi seperti yang dijelaskan dalam Instal Mongodb di Raspberry Pi dan mencoba membangun MongoDB menggunakan scons
. Tapi saya mendapatkan kesalahan berikut:
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.
Kompilasi mongopi
akan berhenti pada file yang sama persis dengan pesan kesalahan yang sama.
Sementara itu, saya menyadari bahwa sistem saya sudah usang secara dramatis. Tetapi bahkan meningkatkan ke versi terbaru tidak menyelesaikan masalah. Pada titik ini, saya berasumsi bahwa ini memang masalah dengan memori bebas. Mengingat bahwa saya hanya memiliki model 256 MB awal.
software-compilation
mongodb
Der Hochstapler
sumber
sumber
mongopi
selesai; D Saat saya menjelajahi jalan itu sekarangfree -m
menunjukkan 177 gratis.community
repositori pada distro Arch ARM.Jawaban:
Saat membaca tentang situasi dengan memori rendah secara umum, saya menemukan saran untuk hanya menambah ruang swap untuk memperbaiki situasi.
Jadi, setelah membaca jawaban bearbin , saya yakin bahwa ini bisa menjadi pilihan yang valid. Namun, saya memilih untuk menambah ruang swap tanpa menggunakan zRAM .
Karena saya tidak pernah dapat mengingat proses penuh untuk apa pun , saya mengikuti panduan Linux Menambahkan File Swap - Howto oleh Nixcraft.
Buat file swap / ruang penyimpanan:
Tetapkan ruang sebagai area swap:
Hanya izinkan root untuk membaca / menulis:
Aktifkan area swap:
Setelah itu,
scons
selesai dengan sukses dan saya bisa menginstal MongoDB. Saya menggunakanmongopi
garpu pada akhirnya.sumber
Saya memiliki opsi yang mungkin berfungsi. Namun, itu mungkin akan secara dramatis memperlambat proses kompilasi Anda.
Anda perlu mengatur ZRAM pada Pi Anda. Pada dasarnya kompres RAM yang digunakan untuk memungkinkan Anda menggunakan lebih banyak, tetapi dengan biaya penggunaan CPU yang lebih banyak.
Kami akan mengikuti instruksi di sini tetapi saya akan menempatkannya di pos agar mudah dilihat.
Jadi pertama-tama, Anda harus root karena banyak dari perintah ini membutuhkan root:
Kemudian, buat file bernama
/etc/init.d/zram
dengan konten berikut:Jika Anda ingin cara mudah untuk mendapatkannya di Pi:
sudo wget http://vps1.berboe.co.uk/zram.sh -O /etc/init.d/zram
.Kemudian, tambahkan skrip Anda ke daftar mulai saat boot dengan melakukan:
Kemudian reboot dan semuanya akan berfungsi.
Setelah reboot, jalankan perintah ini:
swapon -s
. Outputnya harus agak seperti ini:Sekarang, ZRAM terinstal dan jika Anda mencoba untuk mengkompilasi seperti yang Anda lakukan sebelumnya mungkin berhasil.
sumber