我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Gearman::XS在Centos下的编译安装方法教程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Gearman::XS在Centos下的编译安装方法教程

本篇内容主要讲解“Gearman::XS在Centos下的编译安装方法教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Gearman::XS在Centos下的编译安装方法教程”吧!

目前Gearman能够支持各种语言,其官网的描述如下:
 

Language Bindings/Drivers/FrameworksSelect your language – cross links to download section which details all your options.C, C#/.NET, Go, Java, Lisp, Nodejs, PHP, Perl, Python, Ruby, Database UDFs.

 
个人尝试了C、python、perl三种语言的API,感觉perl的API功能相对来说齐全一点。Gearman::XS是perl的开源支持。其链接如下:http://search.cpan.org/~krow/Gearman-XS/

在RHEL5.7下安装的Gearman::XS,中间会出现各种问题,此处给出这些问题的解决方法供大家参考。

首先,我使用了cpanm来安装Gearman::XS,结果如下:

[@localhost yunfei]# cpanm Gearman::XS--> Working on Gearman::XSFetching http://www.cpan.org/authors/id/K/KR/KROW/Gearman-XS-0.15.tar.gz ... OKConfiguring Gearman-XS-0.15 ... OKBuilding and testing Gearman-XS-0.15 ... FAIL! Installing Gearman::XS failed. See /root/.cpanm/work/1392343258.18128/build.log for details. Retry with --force to force install it.

显然force强制安装肯定是不行的,所以就找原因。查看 /root/.cpanm/work/1392343258.18128/build.log文件,发现其中有如下的提示:

gcc -c -Wall -Wundef -Wno-shadow -Wmissing-prototypes -fdiagnostics-show-option -Wformat=2 -Wstrict-aliasing -Wextra -Wmissing-declarations -Wcast-align -Wswitch-default -Wswitch-enum -Wno-undef -Wno-unused-value -Wno-unused-variable -Wno-unused-parameter -Wno-format-invalid-specifier -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"0.15\" -DXS_VERSION=\"0.15\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE" XS.ccc1: error: unrecognized command line option "-Wno-format-invalid-specifier"make: *** [XS.o] Error 1-> FAIL Installing Gearman::XS failed.

看到是在编译的时候出了问题,所以,咱们切换到它的编译目录(即 /root/.cpanm/work/1392343258.18128/这个目录)

cd /root/.cpanm/work/1392343258.18128/Gearman-XS-0.15

然后执行make命令,就可以看到上面报的编译错误了。ok,下面就着手解决它。

vi Makefile

可以找到:

CCFLAGS = -Wall -Wundef -Wno-shadow -Wmissing-prototypes -fdiagnostics-show-option -Wformat=2 -Wstrict-aliasing -Wextra -Wmissing-declarations -Wcast-align -Wswitch-default -Wswitch-enum -Wno-undef -Wno-unused-value -Wno-unused-variable -Wno-unused-parameter -Wno-format-invalid-specifier

删掉最后的“-Wno-format-invalid-specifier”这个选项,然后保存退出,再次执行make。
 
会发现报出如下错误:

In file included from XS.xs:11:gearman_xs.h:18:36: error: libgearman-1.0/gearman.h: No such file or directoryXS.c: In function 'XS_Gearman__XS_strerror':XS.c:229: error: 'gearman_return_t' undeclared (first use in this function)XS.c:229: error: (Each undeclared identifier is reported only onceXS.c:229: error: for each function it appears in.)XS.c:229: error: expected ';' before 'rc'XS.xs:82: warning: implicit declaration of function 'gearman_strerror'XS.xs:82: error: 'rc' undeclared (first use in this function)XS.xs:82: warning: assignment makes pointer from integer without a castmake: *** [XS.o] Error 1

很明显,是找不到gearman.h,也就是说需要gearman-devel,正常情况下通过yum直接安装gearman-devel包就可以解决这个问题,但是,我的rhel是手动安装的Gearman-1.1.11版本,和yum安装的版本不一致,所以,再次打开并修改Makefile。

找到INC以及LDDLFLAGS,修改为如下内容:

LDDLFLAGS = -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -L/usr/local/gearman/lib/ -lgearman INC = -I/usr/local/gearman/include/ -L/usr/local/gearman/lib/

可以看到就是加入了Gearman的incule以及lib相关的东西。保存退出Makefile,再次执行make,顺利通过,然后make install就安装完毕了。

到此,相信大家对“Gearman::XS在Centos下的编译安装方法教程”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Gearman::XS在Centos下的编译安装方法教程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Gearman::XS在Centos下的编译安装方法教程

本篇内容主要讲解“Gearman::XS在Centos下的编译安装方法教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Gearman::XS在Centos下的编译安装方法教程”吧!目前Gear
2023-06-09

Gearman::XS在Centos下的编译安装方法

本文简述了Gearman::XS在Centos下编译安装方法,供大家参考学习一下! 目前Gearman能够支持各种语言,其官网的描述如下:Language Bindings/Drivers/Frameworks Select your la
2022-06-04

CentOS下编译安装python包管理安装工具pip的教程

这篇文章主要介绍“CentOS下编译安装python包管理安装工具pip的教程”,在日常操作中,相信很多人在CentOS下编译安装python包管理安装工具pip的教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
2023-06-13

CentOS内核的编译与安装方法

本篇内容介绍了“CentOS内核的编译与安装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux 内核简介现在让我们从一个比较高的高
2023-06-10

ubuntu下编译安装opencv的方法

简易安装opencv2:conda install --channel https://conda.anaconda.org/menpo opencv或:sudo apt-get install libopencv-dev python-o
2022-06-04

CentOS7.2下编译安装PHP7.0.10的方法

这篇文章主要讲解了“CentOS7.2下编译安装PHP7.0.10的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS7.2下编译安装PHP7.0.10的方法”吧!一、安装前的准
2023-06-05

centos:/tmp不能运行导致的安装编译错误问题的解决方法

这篇文章主要讲解了“centos:/tmp不能运行导致的安装编译错误问题的解决方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“centos:/tmp不能运行导致的安装编译错误问题的解决方法
2023-06-10

在CentOS下安装和配置分布式系统Ceph的方法

这篇文章主要讲解了“在CentOS下安装和配置分布式系统Ceph的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在CentOS下安装和配置分布式系统Ceph的方法”吧!开发一个分布式文件
2023-06-10

在win7系统下安装WIN8做双系统的方法(图文教程)

有了win7系统,想体验win8系统,但是又怕不习惯,所以想装一个win7win8双系统,实现两全其美,今天有空在WIN7下新增了WIN8,组成双系统,所以就和大家一起分享在wphpin7系统下安装WIN8做双系统的方法,希望能帮到大家!
2023-06-06

win7下安装win8双系统的方法(图文教程)

一:win7中安装win8双系统的准备工作在win7系统要安装win8系统,首先要为win8系统创建一个系统盘,如果会分区的朋友可无视这步。分区方法如下:首先进入win7系统,一次进入控制面板〉然后依次打开管理工具〉计算机管理〉单击磁盘管理
2022-06-04

在cenots下使用iso光盘文件重新安装CentOS的方法步骤

系统挂掉了,没有了光驱,怎么办。想到最简单的办法就是在cenots下使用iso光盘文件重新安装Centos 挂载光盘 mount -o loop centos.iso /mnt/ 拷贝启动文件 cp /mnt/isolinux /boot/
2023-05-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录