linux – 在ARM上构建mongo shell 3.2.x(armv7l / arm64 / aarch
发布时间:2020-12-13 19:51:21 所属栏目:Linux 来源:网络整理
导读:在过去的几天里,我尝试了在Linaro集群上运行Ubuntu 16.04 for ARM64(aarch64)的mongo shell.我目前正在为ARM体系结构上的meteorjs开发下一个版本的fork. TL; DR 虽然mongod(DB)在构建之后运行良好而没有看到问题,但是在构建之后不可能获得正在运行的mongo sh
在过去的几天里,我尝试了在Linaro集群上运行Ubuntu 16.04 for ARM64(aarch64)的mongo
shell.我目前正在为ARM体系结构上的meteorjs开发下一个版本的fork.
TL; DR 虽然mongod(DB)在构建之后运行良好而没有看到问题,但是在构建之后不可能获得正在运行的mongo shell [甚至没有javascript(mozjs)支持]. 最简单的构建: mkdir -p /tmp/mongo-build cd /tmp/mongo-build git clone --branch "r3.2.6" --depth 1 https://github.com/mongodb/mongo.git cd mongo scons --disable-warnings-as-errors --prefix=/tmp/mongo-build/mongo --js-engine=mozjs mongo mongod 即使这个版本将在所有经过测试的平台和架构(Linux on armv7l,aarch64,amd64)上运行,在编译期间没有问题,运行程序时的结果也不同. 在amd64上构建后运行mongo命令: 只需运行mongo shell并尝试连接到非现有实例 ./mongo mongodb://localhost:5002/sample 这将给出这个输出: MongoDB shell version: 3.2.6 connecting to: mongodb://localhost:5002/sample 2016-07-05T14:10:23.772+0200 W NETWORK [thread1] Failed to connect to 127.0.0.1:5002,reason: errno:111 Connection refused 2016-07-05T14:10:23.772+0200 E QUERY [thread1] Error: couldn't connect to server localhost:5002,connection attempt failed : connect@src/mongo/shell/mongo.js:223:14 @(connect):1:6 exception: connect failed 在aarch64 / armv7l上构建后运行mongo命令: 而不是这个,ARM上的输出只是: MongoDB shell version: 3.2.6 Segmentation fault (core dumped) 在我看来,TCP连接部分可能会提出“SEGMENTATION FAULT”但我无法调试它. 我很高兴有任何帮助来实现这一目标. 提前致谢 解决方法
在运行了更多的尝试和编译之后,我更改了mongodb发布的分支并使用r3.3.9.
使用相同的scons参数时,它似乎运行没有任何问题.我还没有深入研究版本中的细节和变化,但对我来说运行正常 mkdir -p /tmp/mongo-build cd /tmp/mongo-build git clone --branch "r3.3.9" --depth 1 https://github.com/mongodb/mongo.git cd mongo scons --disable-warnings-as-errors --prefix=/tmp/mongo-build/mongo --js-engine=mozjs mongo mongod (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |