gearman安装实录
花了5个小时装好了gearman,问题不断,坑爹的服务器yum还坏了,悲催。
服务器系统:centos5.3 64位
gearman版本:1.1.8
安装包(相关依赖)下载
ps:有yum就用它装吧,否则太麻烦了- -|||
|
1
2
3
|
yum install boost-develyum install libevent-develyum install e2fsprogs-devel |
安装流程
|
1
2
3
4
5
|
tar zxvf gearmand-1.1.8.tar.gzcd gearmand-1.1.8./configure -prefix=/usr/local/gearmandmakesudo make install |
遇到的问题
1.configure过程中
|
1
2
|
checking for Boost headers version >= 1.39.0… noconfigure: 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/includeexport 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.0sudo 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/gccexport 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安装实录的更多相关文章
- Lamp源码包安装实录
Lamp源码包安装实录 附件中是安装步骤,下载站点里包含视频(http://down.51cto.com/data/460776) 本文出自 "李晨光原创技术博客" 博客,请务必保 ...
- gearman安装及初次使用
官网: http://gearman.org/ 一篇文章: 利用Gearman实现异步任务处理 一.问题分析 问题:在性能测试过程中,发现用户管理平台在进行图片上传时,性能不佳. 分析:经过代码分析 ...
- ArcGIS Desktop 10.5 安装实录
ArcGIS Desktop 10.5 安装实录 by 李远祥 几天前已经收到ArcGIS10.5的最终版安装介质,终于有时间可以安装一下.尽管ArcGIS10.5系列中,桌面软件不是主角,但笔者还是 ...
- CentOS的Gearman安装
背景:用PHP做一些简单的上传是没有任何的问题,但是要做断点上传好像也是没有大问题,但要是并发的切片加断点上传可能就会有问题了哟.第一个问题是合并问题:如果一上传就合并,PHP老半天不返回是一个方面( ...
- gearman 安装
yum install gperfyum install libevent-develyum install libuuid-develwget https://launchpad.net/gearm ...
- Gearman 安装使用教程
Gearman是一个分发任务的程序框架,可以用在各种场合,Gearman更偏向于任务分发功能.它的任务分布非常简单,简单得可以只需要用脚本即可完成. Gearman 分布式任务实现原理上只用到2个字段 ...
- Gearman安装及使用
基础安装包 yum install vim wget gcc gcc-c++ make dos2unix gperf libevent libevent-devel zlib-devel bzip2- ...
- kail linux 虚拟机安装实录(一) 新建虚拟机
各位晚上好. 现在开始进行kail linux 在虚拟机上的安装. 我所使用的工具如下: kail linux 2.0 x64 http://mirrors.neusoft.edu.cn/kal ...
- JBPM WEB CONSOLE安装实录
http://www.blogjava.net/paulwong/archive/2009/03/13/259551.html JBPM WEB CONSOLE是一个B/S端的,能管理JBPM的流程和 ...
随机推荐
- java——删除链表中等于给定值的所有元素
class ListNode{ int val ; ListNode next; public ListNode(int x) { val = x; } public ListNode(int[] a ...
- Hbase 表操作
1. list 操作 2. 创建table column family, 3. 插入数据: put 'user' 3. 检索数据: scan table
- 转 python 的常用函数replace, split(),enumerate() 函数
1.execmd = "su - " + ou + " -c 'sqlplus / as sysdba << EOF\n " + execmd3 + ...
- 命令行模式运行jmeter,主从方式运行jmeter
jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script.jmx -R 10.6.5.31,10.6.5 ...
- inventor安装失败怎样卸载安装inventor 2017?
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- Python3实现计算BMI指数,跟我一起来计算你的BMI吧
废话不多说,直接上程序哈: name=input('Name:') height=input('Height(m):') weight=input('Weight(kg):') BMI=float(f ...
- 微服务(Micro Service Architecture)浅析
最近一段时间,微服务的概念很火,可能是跟Docker技术的快速发展和壮大有一定的关系,同时借助于Uber.Netflix.Groupon等公司的实践.宣传和推广,使得MSA渐渐地成为企业或者架构师讨论 ...
- 用spring的 InitializingBean 的 afterPropertiesSet 来初始化
void afterPropertiesSet() throws Exception; 这个方法将在所有的属性被初始化后调用. 但是会在init前调用. 但是主要的是如果是延迟加载的话,则马上执行. ...
- Fastjson中以is打头出现的问题,会生成两个变量
解决办法: @JSONField(name = "isSelf")public boolean isSelf = false; 这样就不会生成两个谜题 self和isSelf了 h ...
- javascript 数组方法拼接html标签
var htmls = new Array(); htmls.push("<tr class='otherinfotr'>");htmls.push("< ...