花了5个小时装好了gearman,问题不断,坑爹的服务器yum还坏了,悲催。

服务器系统:centos5.3 64位

gearman版本:1.1.8

安装包(相关依赖)下载

1.gearman安装包
2.Boost
3.gperf
4.libevent
5.sqlite3

ps:有yum就用它装吧,否则太麻烦了- -|||

1
2
3
yum install boost-devel
yum install libevent-devel
yum install e2fsprogs-devel

安装流程

1
2
3
4
5
tar zxvf gearmand-1.1.8.tar.gz
cd gearmand-1.1.8
./configure -prefix=/usr/local/gearmand
make
sudo make install

遇到的问题

1.configure过程中

1
2
checking for Boost headers version >= 1.39.0… no
configure: error: cannot find Boost headers version >= 1.39.0

这是因为boost版本过低造成的,下载新版本的安装包

1
2
tar zxf boost_1_50_0.tar.gz && cd boost_1_50_0
./bootstrap.sh --prefix=/usr/local/boost

会生成一个b2的可执行文件,执行

1
./b2 install

如没有问题,在/etc/profile里的最下方加入:

1
2
export CPPFLAGS=-I/usr/local/boost/include
export LDFLAGS=-L/usr/local/boost/lib

保存退出后运行

1
source /etc/profile

好了,boost就更新成功了,还需要创建一下软连接,否则运行gearmand的时候会找不到库

1
2
sudo ln -s /usr/local/boost/lib/libboost_program_options.so /usr/lib64/libboost_program_options.so.1.50.0
sudo ln -s /usr/local/boost/lib/libboost_program_options.so /usr/lib/libboost_program_options.so.1.50.0

2.make过程中,遇到

1
./libgearman-1.0/gearman.h:53:27: error: tr1/cinttypes: No such file or directory

此处是C++编译器问题,解决的方法是

1
yum install gcc44 gcc44-c++ libstdc++44-devel

安装完成后,在环境变量里加入:

1
2
export CC=/usr/bin/gcc44 or export CC=/usr/bin/gcc
export CXX=/usr/bin/g++44

保存退出后执行:

1
source /etc/profile

这时可能依然会报错,执行

1
CC=gcc44 CXX=g++44

重新configure,make

3.make过程中,遇到

1
undefined reference to `sqlite3_open_v2'

这个实在是没有头绪,网上有说自己安装一遍sqlite3到指定目录,然后在gearman的编译配置中加入路径选项,试了貌似无效

再来参考了这篇文章http://dngood.blog.51cto.com/446195/595215的做法,虽然没太看懂是什么意思,但是有效果…

引自原文

分析
[root@db1 ~]# ldd /usr/local/apache/modules/mod_dav_svn.so | grep libsvn_subr-
libsvn_subr-1.so.0 => /usr/local/subversion/lib/libsvn_subr-1.so.0 (0x00002b35ca916000)
[root@db1 ~]# ldd /usr/local/subversion/lib/libsvn_subr-1.so.0 | grep libsqlite3.so.
libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x00002b3dd4770000)
[root@db1 ~]# ldconfig -p | grep sqlite
libsqlite3.so.0 (libc6,x86-64) => /usr/local/sqlite/lib/libsqlite3.so.0
libsqlite3.so.0 (libc6,x86-64) => /usr/lib64/libsqlite3.so.0
libsqlite3.so (libc6,x86-64) => /usr/local/sqlite/lib/libsqlite3.so
libsqlite3.so (libc6,x86-64) => /usr/lib64/libsqlite3.so

解决
[root@db1 sqlite-amalgamation-3070603]# ln -s /usr/local/sqlite/lib/libsqlite3.so.0.8.6 /usr/lib64
ln: creating symbolic link `/usr/lib64/libsqlite3.so.0.8.6′ to `/usr/local/sqlite/lib/libsqlite3.so.0.8.6′: File exists
[root@db1 sqlite-amalgamation-3070603]# mv /usr/lib64/libsqlite3.so.0.8.6 /root/bak
[root@db1 sqlite-amalgamation-3070603]# ln -s /usr/local/sqlite/lib/libsqlite3.so.0.8.6 /usr/lib64
[root@db1 sqlite-amalgamation-3070603]# ldconfig

至此…gearman安装完成,中间还修理了一下yum,在成功用它安装了libevent-devel之后又报segment fault,无奈了

gearman安装实录的更多相关文章

  1. Lamp源码包安装实录

    Lamp源码包安装实录 附件中是安装步骤,下载站点里包含视频(http://down.51cto.com/data/460776) 本文出自 "李晨光原创技术博客" 博客,请务必保 ...

  2. gearman安装及初次使用

    官网:  http://gearman.org/ 一篇文章: 利用Gearman实现异步任务处理 一.问题分析 问题:在性能测试过程中,发现用户管理平台在进行图片上传时,性能不佳. 分析:经过代码分析 ...

  3. ArcGIS Desktop 10.5 安装实录

    ArcGIS Desktop 10.5 安装实录 by 李远祥 几天前已经收到ArcGIS10.5的最终版安装介质,终于有时间可以安装一下.尽管ArcGIS10.5系列中,桌面软件不是主角,但笔者还是 ...

  4. CentOS的Gearman安装

    背景:用PHP做一些简单的上传是没有任何的问题,但是要做断点上传好像也是没有大问题,但要是并发的切片加断点上传可能就会有问题了哟.第一个问题是合并问题:如果一上传就合并,PHP老半天不返回是一个方面( ...

  5. gearman 安装

    yum install gperfyum install libevent-develyum install libuuid-develwget https://launchpad.net/gearm ...

  6. Gearman 安装使用教程

    Gearman是一个分发任务的程序框架,可以用在各种场合,Gearman更偏向于任务分发功能.它的任务分布非常简单,简单得可以只需要用脚本即可完成. Gearman 分布式任务实现原理上只用到2个字段 ...

  7. Gearman安装及使用

    基础安装包 yum install vim wget gcc gcc-c++ make dos2unix gperf libevent libevent-devel zlib-devel bzip2- ...

  8. kail linux 虚拟机安装实录(一) 新建虚拟机

    各位晚上好. 现在开始进行kail linux 在虚拟机上的安装. 我所使用的工具如下: kail linux 2.0   x64  http://mirrors.neusoft.edu.cn/kal ...

  9. JBPM WEB CONSOLE安装实录

    http://www.blogjava.net/paulwong/archive/2009/03/13/259551.html JBPM WEB CONSOLE是一个B/S端的,能管理JBPM的流程和 ...

随机推荐

  1. spring test: 配置文件优先级

    application.properties 默认 application-xxx.properties 高 systemEnvironment 高 test/main/resources/ 同名文件 ...

  2. java——时间复杂度、动态数组

    O(n)不一定小于O(n^2),要具体来看,而我们说的这种时间复杂度其实是渐进时间复杂度,描述的是n趋近于无穷的情况. 动态数组的时间复杂度: 添加操作:O(n) addLast()的均摊复杂度为O( ...

  3. robotframework使用过程中遇到的一些问题

    问题1: 在ride上import library,显示红色解决办法:根据菜单栏tools--view ride log提示依次安装缺少的模块,包括natsort.xlrd.xlwd.xlutils, ...

  4. KeyStore相关

    http://blog.csdn.net/liuquan0071/article/details/50318405 一. HTTPS概念 1. 简介 HTTPS(全称:Hypertext Transf ...

  5. equals()方法 与 == 区别

    equals()方法 与 == 区别 : equals():在字符串中比较内容,则必须使用equals(变量),如果相等则为true,否则为false == :使用==比较的是地址是否一致 class ...

  6. Java基础12-数组求最大值以及排序

    1.求最大值 实例:小明买手机,询问了4家店的价格,分别是2800,2900,2600,3000,输出最低价 正确代码:类似打擂台,将数组第一个值赋给最小值,然后依次比较 import java.ut ...

  7. Host 'XXX' is not allowed to connect to this MySQL server解决方案

    如何允许远程连接mysql数据库呢,操作如下: 首先登录账号 mysql -uroot -p 使用mysql用户 use mysql 如果报此类错:ERROR 1820 (HY000): You mu ...

  8. 自定义java代码快捷生成器使用与问题解决

    对于很多的工作了有几年的开发人员来说,初期都是逐个单词语法的自己编写的.而一旦技术水平提高了到了一定的层次之后,在同时工作量的加大,要求我们必须加快提高工作效率.因此就可以利用必要的快捷开发手段和工具 ...

  9. webgl学习总结画线面及场景和物体动

    WebGL是在浏览器中实现三维效果的一套规范.是浏览器中的3D引擎,是利用js代码来实现加载3D模型,渲染.输出等功能,从而实现在浏览器和微信中浏览三维文件的效果. three.js是基于WebGL的 ...

  10. Flex Validator的小BUG

    Flex中对同一控件如TextInput进行多种格式校验的情况下,如不注意,可能导致错误信息不显示的BUG,比如 <fx:Array id="validators"> ...