纯粹原创,搭建过程中遇到了不少问题,感谢arangodb的开发工程师的帮助!
在CentOS中 编译 ArangoDB 2.8.10 所需搭建的环境:
ArangoDB的源码下载:https://www.arangodb.com/repositories/Source/
1、gcc和g++ 最低版本4.9.0(安装的4.9.2,系统自带4.4.7版本的,所以需要将 /usr/bin/ 下的gcc、g++ 替换掉为安装后的 版本) 标准C/C++库
参考:http://blog.csdn.net/szq123456123/article/details/45170923【最后还需要一步:make install】
2、clang/clang++ (这个需要安装llvm,建议安装3.6版本的,编译时需花费大量时间,有个3.8版本的预编译版本,拿来就 可以直接用【用预编译版本的话,建议最先安装这个,因为它要替换lib文件】)
参考:http://blog.csdn.net/u014015972/article/details/50704892
3、TCMalloc
参考:http://blog.csdn.net/chen19870707/article/details/40301783
4、Python 系统自带python 2.6 ,但是编译llvm或者go时需要最低2.7版本的 所以需要安装2.7以上的,此次安装的2.7.10
参考:http://www.cndqw.com/k/?aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmVhdGxlXzE5ODMvYXJ0aWNsZS9kZXRhaWxzLzUwMjE5ODc5
5、autoconf、automake
参考:http://ruby-china.org/topics/2434
6、FLEX(at least version2.3.35 )、BISON(at least version2.4)、OpenSSL library (at least version 1.0.1)
readline library
参考:http://linux.softpedia.com/get/Programming/Interpreters/Flex-23296.shtml
http://ftp.gnu.org/gnu/bison/
https://github.com/openssl/openssl/tree/OpenSSL_1_0_2-stable
【安装openssl时./config --prefix=/usr/local/openssl,yum install openssl-devel】
yum install readline-devel或者ftp://ftp.gnu.org/gnu/readline/ 下载
7、Go 安装高于1.4版本的需要先安装1.4的版本(下载已经预编译好的,然后再下载1.x的源码来进行安装)
参考:http://blog.csdn.net/micklf/article/details/51726986
然后依次参考 官网上【https://docs.arangodb.com/2.8/Installing/Compiling.html】的步骤,
但是当在./configure时遵从
export CFLAGS='-O0 -ggdb'
export CXXFLAGS='-O0 -ggdb'
./configure
cd 3rdParty/V8-4.3.61
export GYPFLAGS="-Dstandalone_static_library=1 -Dlinux_use_bundled_gold=0 -Dlinux_use_gold_flags=0"
make CC="gcc" CC.host="gcc" CXX="g++" CXX.host="g++" LINK="g++"
CFLAGS="-O3 -fomit-frame-pointer -g " CXXFLAGS="-O3 -fomit-frame-pointer -g " 【O3不是零3】 library=static strictaliasing=off snapshot=off werror=no x64.release
部分问题备份:
①、遇到/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.xx' not found 的问题,
参考;http://www.ithao123.cn/content-10627395.html
②、如果报没有找到bz2 【ImportError: No module named bz2】
解决方法:sudo cp /usr/lib64/python2.6/lib-dynload/bz2.so /usr/local/lib/python2.7/
③、如果在./configure时 遇到9476行else处报错,则修改else上一行,在then后“空格+:”