在raspberry pi上编译mongo时错误
我试过好几个版本的,包括官方的2.1还有nonx86.都提出出错, template argument 1 is invalid。何解?
错误信息如下:
g++ -o build/linux2/normal/mongo/db/db.o -c -Wnon-virtual-dtor -Woverloaded-virtual -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 -DXP_UNIX -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 -Ibuild/linux2/normal/third_party/snappy -Isrc/third_party/snappy -Ibuild/linux2/normal/third_party/js-1.7 -Isrc/third_party/js-1.7 src/mongo/db/db.cpp In file included from src/third_party/boost/boost/config/no_tr1/complex.hpp:21:0, from src/third_party/boost/boost/math/special_functions/math_fwd.hpp:30, from src/third_party/boost/boost/math/special_functions/sign.hpp:17, from src/third_party/boost/boost/lexical_cast.hpp:70, from src/third_party/boost/boost/date_time/string_parse_tree.hpp:13, from src/third_party/boost/boost/date_time/period_parser.hpp:14, from src/third_party/boost/boost/date_time/date_facet.hpp:23, from src/third_party/boost/boost/date_time/gregorian/gregorian_io.hpp:16, from src/third_party/boost/boost/date_time/gregorian/gregorian.hpp:31, from src/third_party/boost/boost/date_time/posix_time/time_formatters.hpp:12, from src/third_party/boost/boost/date_time/posix_time/posix_time.hpp:24, from src/mongo/db/../util/net/../../db/../bson/../util/time_support.h:28, from src/mongo/db/../util/net/../../db/../bson/bson_db.h:29, from src/mongo/db/../util/net/../../db/jsobj.h:44, from src/mongo/db/../util/net/../../db/cmdline.h:20, from src/mongo/db/../util/net/hostandport.h:21, from src/mongo/db/../util/net/message.h:21, from src/mongo/db/db.h:20, from src/mongo/db/db.cpp:20: /usr/include/c++/4.6/complex:103:62: error: template argument 1 is invalid src/third_party/boost/boost/system/error_code.hpp:214:36: warning: 'boost::system::posix_category' defined but not used [-Wunused-variable] src/third_party/boost/boost/system/error_code.hpp:215:36: warning: 'boost::system::errno_ecat' defined but not used [-Wunused-variable] src/third_party/boost/boost/system/error_code.hpp:216:36: warning: 'boost::system::native_ecat' defined but not used [-Wunused-variable] scons: *** [build/linux2/normal/mongo/db/db.o] Error 1 scons: building terminated because of errors.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
知道为什么了。。。
/usr/include/c++/4.6/complex这个文件里103行把“~”改成“>”
不要浪费时间在arm上面编译mongodb了,它的源码里还有一堆x86/x86_64的汇编,需要打专门的patch才可以编译,而且貌似只有很老的版本才有patch。源里头有个编译好的,但是是2.0版本(不支持aggregate框架),而且还比较容易崩溃(遇到好多次,update或者find的时候都可能会出现),不靠谱。
你如果只是测试用途的话,可以用mongolab或者mongohq的免费服务。