mongodb的编译
来源:互联网 发布:java redis2.6 教程 编辑:程序博客网 时间:2024/05/18 00:04
我们基本上是按照官方的说明文档来编译的,http://www.mongodb.org/display/DOCS/Building。安装之前需要做好准备,安装gc++,boost,scons等。
在编译v8的时候,出现了Cannot find bz2的错误,提示系统没有安装bz2的库,使用find命令找了一下,系统中存在libbz2.so.1文件了,我只需要建立一个libbz2.so的符号链接就行了。
编译v8完成后,继续编译mongod,又出现了Can notfind v8的错误,find了一下,系统中存在v8的lib的,开始以为是路径不对,修改了LD_LIBRARY_PATH后还是不行;使用file命令看了一下,才发现原来刚才编译的v8是32位的,使用scons arch=x64,重新编译了v8。(后来在http://www.howsthe.com/blog/2010/feb/22/mongodb-and-v8/这个链接的评论里发现有人有同样的问题)
解决了v8的编译后,继续编译,链接时出现了符号不能找到的错误,google了很久,才发现是boost的版本问题,老版本的boost已经没有这个符号链接了。只好重新安装boost,结果系统中就存在两个boost版本了,需要指定路径来编译了,scons all --usev8 --libpath=/usr/local/lib,终于编译成功了。
编译成功后,我将我编译出来的mongod和官方编译的mongod使用ldd命令比较了一下,发现我多了一些boost的链接。看来要使用静态链接才行,只好使用scons all --usev8 --staticlibpath=/usr/local/lib--staticlib=boost_system,boost_thread,boost_filesystem,boost_program_options重新编译了一下,这下子才真正的大功告成。
一般从源代码编译开源软件,最关键的问题就是库找不到,主要的原因就是库路径设置不对,这一次却是其他原因找不到库。抓住这些原因基本上就不怕编译开源软件了。
- mongodb的编译
- php的MongoDB扩展编译
- mongodb编译
- mongodb 编译
- CentOS 编译安装 MongoDB与mongoDB的php扩展
- 运用VS2010编译MongoDB的c++ client
- 使用VS2010编译MongoDB的c++ client
- mongodb的cpp版本驱动编译总结
- mongodb下的BSON包的单独编译使用问题
- Linux 编译安装 mongoDB
- Mongodb c Driver 编译
- windows 编译mongodb 2.4
- 编译MongoDB镜像
- CentOS 编译安装 MongoDB
- MongoDB C++ Driver编译
- C++ vs2010 mongodb 编译
- 编译MongoDB源码
- win10 编译mongodb 笔记
- 各种辅助软件
- 虚拟主机/Apache的Rewrite
- RHEL 5.4下nagios的安装
- 无线电
- java 学习历程
- mongodb的编译
- 将Mac OS Lion降到Snow Leopard
- linux 常见进程
- aaa
- Tree的几个属性
- vsftp教程
- 怎么在区域里判断弹出对话框然的出现位置?
- 开发汇编程序的四种方式!!!
- ios开发常用类介绍