编译安装Gearman

原创 2012年03月29日 12:10:00

本文操作系统环境:32位 fedora 15

1.安装gearman job server

   (1)下载最新版本gearmand:

     wget https://launchpad.net/gearmand/trunk/0.29/+download/gearmand-0.29.tar.gz
     tar -zxvf gearmand-0.29.tar.gz
     cd gearmand-0.29
     ./configure --prefix=/usr/local/gearmand
         configure 过程中出现如下错误:

            configure: error: cannot find Boost headers version >= 1.37.0

         这是因为boost的版本低于 1.37.0,需要安装超过1.37.0的boost库,用yum安装比较简单:yum install boost-devel.i686

        还有网友提供的编译安装,我没试过:

       

wget http://cdnetworks-us-2.dl.sourceforge.net/project/boost/boost/1.44.0/boost_1_44_0.tar.gz
tar xvzf  boost_1_44_0.tar.gz
然后进入目录boost_1_44_0执行
 ./bootstrap.sh --prefix=/usr/local/boost
生成bjam以后,再执行
/bjam install
执行软链接
ln -s /usr/local/boost/include/boost/ /usr/local/include/boost
ln -s /usr/local/boost/lib/libboost_program_options.so  /usr/lib/libboost_program_options.so
安装完成后,此问题解决。

重新configure 后,出现别的错误:fatal error: uuid/uuid.h: No such file or directory

这是因为没有uuid库和头文件,需要安装e2fsprogs,试过yum命令安装,问题没解决,需要从源码编译

wget http://downloads.sourceforge.net/e2fsprogs/e2fsprogs-1.41.14.tar.gz
tar xvzf  e2fsprogs-1.41.14.tar.gz
进入e2fsprogs-1.41.14目录后执行
/configure --prefix=/usr/local/e2fsprogs
make
make install
 然后把uuid目录拷过去
cp -r lib/uuid/    /usr/include/
再次configure ,错误消失,于是执行 make

又报错:

libgearman/.libs/libgearman.so: undefined reference to `uuid_generate'
libgearman/.libs/libgearman.so: undefined reference to `uuid_unparse'
collect2: ld returned 1 exit status
问题在网上找到了解决方法,就是重新编译e2fsprogs并加入参数

cd e2fsprogs-1.41.14
./configure --enable-elf-shlibs
make
make install
cp -rf lib/libuuid.so* /usr/lib

 cd gearmand-0.29

  make clean

  ./confugure --prefix=/usr/local/gearmand

 make & make install

安装成功,此处最好重新configure,否则有可能还是报一样的错


2.安装php 的gearman 扩展

 (1)下载最新版本

   

wget http://pecl.php.net/get/gearman-1.0.2.tgz
tar -zxvf gearman-1.0.2.tgz
cd gearman-1.0.2
/usr/local/php/bin/phpize
./configure 
但是configure 过程中报如下错误:

configure: error: Please install libgearman

yum install libgearman-devel.i686 libgearman.i686 后,此问题解决,却出现另外一问题:

libgearman version 0.21 or later required

从错误信息来看,是libgearman-devel 的版本低于0.21所至,于是前往寻找版本较高的libgearman-devel

在此页面找到libgearman-devel所以版本列表:http://fr2.rpmfind.net/linux/rpm2html/search.php?query=libgearman-devel&system=&arch=

结果是我的操作系统版本只支持0.14版本的。。。

看来在不重装系统的前提下,只想到降低php gearman库的版本了,从1.0.2版本试到0.8.0,终于搞定~

接下来make&make install 无问题发生

vim /usr/local/php/lib/php.ini 并添加gearman.so

重启php-fpm

执行phpinfo,护展安装成功



在Linux上安装Gearman及配置使用Gearman的PHP扩展环境

在Linux上安装Gearman及配置使用Gearman的PHP扩展环境。 先介绍安装 Gearman 。 1. 先安装依赖库 # yum install -y boost-devel gper...
  • iw1210
  • iw1210
  • 2017年05月23日 19:31
  • 1172

Gearman 异步任务软件安装与实例

安装依赖Install Gearman (ubuntu)sudo apt install gperf sudo apt install libboost-program-options-dev sud...
  • wjc19911118
  • wjc19911118
  • 2016年07月01日 16:08
  • 405

安装Gearman及其PHP扩展

CentOS 上安装Gearman及其PHP扩展 发表于 2013 年 5 月 22 日 》》目标 安装 Gearman 服务端(C语言)安装PHP扩展 安装Gearman服务端 # yum i...
  • sunny5211
  • sunny5211
  • 2013年07月26日 13:31
  • 4109

gearman 在Ubuntu上部署Gearman

1.更新 sudo apt-get 中没有gearmand,所以用wget下载 wget https://launchpad.net/gearmand/1.2/1.1.12/+download/g...
  • worldzhy
  • worldzhy
  • 2016年04月27日 11:17
  • 1151

Ubuntu下Gearman安装搭建

1.更新 sudo apt-get update wget https://launchpad.net/gearmand/1.2/1.1.12/+download/gearmand-1.1.12.ta...
  • hywerr
  • hywerr
  • 2017年05月26日 23:26
  • 376

Linux中Gearman安装与使用,分布式消息队列(CentOS-6.5:gearmand-1.1.12)

1 Gearman简介 1.1 概况    Gearman是一个用来把工作委派给其他机器、分布式的调用更适合做某项工作的机器、并发的做某项工作在多个调用间做负载均衡、或用来在调用其它语言的函数的系统...
  • CleverCode
  • CleverCode
  • 2015年05月14日 11:38
  • 5744

gearman异步队列安装及使用教程

gearman异步队列安装流程 必备条件:你的centos需要提前安装了lnmp,如果没有安装可以参照教程: http://blog.csdn.net/e421083458/article/deta...
  • e421083458
  • e421083458
  • 2014年03月15日 14:23
  • 7358

编译安装Gearman

本文操作系统环境:32位 fedora 15 1.安装gearman job server    (1)下载最新版本gearmand: wget https://launchpa...
  • aidenliu
  • aidenliu
  • 2012年03月29日 12:10
  • 14538

LAMP架构演进到LAMPGC,再演进到LNMLGC(linux+nginx+mysql+lua+gearman+C)

在这里重点介绍nginx怎样调用gearman中间件 nginx在高并发异步调用的性能够强,这地球人都知道了 lua的协程,也可以实现并发的异步调用 把这两个结合起来看看效果 先看下apache+...
  • xtjsxtj
  • xtjsxtj
  • 2014年06月30日 10:23
  • 2866

gearman队列持久化引发的问题及解决方法

这篇文章主要介绍了gearman队列持久化引发的问题及解决方法,需要的朋友可以参考下 本文简述了gearman用mysql持久化的方法,以及由此引发的一些问题,具体分析如下: 一、gearman ...
  • xtjsxtj
  • xtjsxtj
  • 2016年01月07日 19:04
  • 1518
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编译安装Gearman
举报原因:
原因补充:

(最多只允许输入30个字)