我在运行Arch Linux的Raspberry Pi上安装MongoDB遇到麻烦。
我没有考虑它就进行了更新,显然我需要通知Mongo我也希望升级数据库文件。但是我没有这样做,否则我不会来过这里。
因此,我检查了this并进行了一次谷歌搜索,发现我需要降级至3.6,输入正确的设置并进行升级。
唯一的问题是Arch是一个滚动发行版,这意味着它正在不断升级,并且可能会降级。幸运的是,我找到了this website,可以在这里得到我想要的所有软件包。
使用此命令我降级了MongoDB,然后又不得不降级了boost-libs,wiredtiger和yaml-cpp。这导致ldd / usr / bin / mongod看起来像这样:
linux-vdso.so.1 (0x0000ffff988f3000)
libwiredtiger-3.0.0.so => /usr/lib/libwiredtiger-3.0.0.so
(0x0000ffff95ddc000)
libsasl2.so.3 => /usr/lib/libsasl2.so.3 (0x0000ffff95dae000)
libstemmer.so.0 => /usr/lib/libstemmer.so.0 (0x0000ffff95d3e000)
libz.so.1 => /usr/lib/libz.so.1 (0x0000ffff95d17000)
libsnappy.so.1 => /usr/lib/libsnappy.so.1 (0x0000ffff95cfe000)
libyaml-cpp.so.0.5 => /usr/lib/libyaml-cpp.so.0.5 (0x0000ffff95c76000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0x0000ffff95c04000)
libpcrecpp.so.0 => /usr/lib/libpcrecpp.so.0 (0x0000ffff95bea000)
libboost_program_options.so.1.65.1 => /usr/lib/libboost_program_options.so.1.65.1 (0x0000ffff95b4d000)
libboost_filesystem.so.1.65.1 => /usr/lib/libboost_filesystem.so.1.65.1 (0x0000ffff95b1f000)
libboost_system.so.1.65.1 => /usr/lib/libboost_system.so.1.65.1 (0x0000ffff95b0a000)
libboost_iostreams.so.1.65.1 => /usr/lib/libboost_iostreams.so.1.65.1 (0x0000ffff95ad9000)
libresolv.so.2 => /usr/lib/libresolv.so.2 (0x0000ffff95ab2000)
libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x0000ffff95a0e000)
libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x0000ffff95747000)
librt.so.1 => /usr/lib/librt.so.1 (0x0000ffff9572f000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x0000ffff9571a000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0000ffff9556e000)
libm.so.6 => /usr/lib/libm.so.6 (0x0000ffff954ab000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x0000ffff95486000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x0000ffff95457000)
libc.so.6 => /usr/lib/libc.so.6 (0x0000ffff952e1000)
/lib/ld-linux-aarch64.so.1 => /usr/lib/ld-linux-aarch64.so.1 (0x0000ffff988c5000)
libtcmalloc.so.4 => /usr/lib/libtcmalloc.so.4 (0x0000ffff950d7000)
liblz4.so.1 => /usr/lib/liblz4.so.1 (0x0000ffff950ac000)
libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x0000ffff9508b000)
liblzma.so.5 => /usr/lib/liblzma.so.5 (0x0000ffff95057000)
libunwind.so.8 => /usr/lib/libunwind.so.8 (0x0000ffff95005000)
但是现在当我运行mongod时,它会说
mongod: symbol lookup error: mongod: undefined symbol: _ZN4YAML6detail9node_data12empty_scalarB5cxx11E
我已经尝试使用谷歌搜索节点数据的空标量,但是我没有得到任何结果,或者我真的不知道这意味着什么,所以任何帮助将不胜感激!
此外,我的问题已经在serverfault上,但是在那里被搁置了。所以我希望这是问问的正确地方。
答案 0 :(得分:0)
可以通过将archlinux上的yaml-cpp
软件包降级到编译mongodb时安装的版本来解决此问题