昨晚上帮LP一起在centos上安装zeromq。刚开始的时候,LP说在公司的机器装各种依赖包下不到,第一感觉安装起来还挺麻烦的。

然后上网搜索linux下zeromq的安装,然后先安装各种所需的依赖包:

autoconf和automake以前安装过了,不需要再装,然后安装了以下包:

# yum install libtool

# yum install gcc

# yum install gcc-c++

# yum install make

# yum install libuuid-devel

然后按着网上一个网友的帖子安装zmq,在configure那步的时候,网友的帖子里写的:

./configure --prefix={你的安装目录}

所以当时就用命令:

#./configure --prefix=/opt/zmq

安装到/opt/zmq目录下去了。 接下来一路make, make install好不顺利。

安装完成之后,按帖子里写的步骤要设置环境变量:

export CPPFLAGS=-I${zmqdir}/include/ 
export LDFLAGS=-L${zmqdir}/lib/

等zmq安装完成之后,需要验证一下是否安装成功,试用一下。平常都是用的java,所以就安装了git,然后通过命令

git clone https://github.com/zeromq/jzmq.git

再按相应的步骤来操作:

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

这时候做到./configure的时候出错了:

configure: error: C compiler cannot create executable

这时就奇了怪了啊,为什么呢?因为相关包都安装了,最有可能的问题就是环境变量出问题了。接下来各种搜,中间又安装一堆不知所谓的包(感觉linux中就是这个烦人),但是还是不行;最后看到一个说法:

是因为环境变量的问题,只要

export CFLAGS=

即可,于是照做,还是同样的问题,LP在旁边问要不把CPPFLAG也设置为空??好,试一下。然后./configure走了非常多步,最后又挂了,挂在了:

cannot find file zmq.h

可是${zmqdir}/include/里有这个文件啊zmq.h安安静静的呆在那儿呢?到底怎么回事,我再把CFLAG设置-I${zmqdir}/include/,结果又报:

configure: error: C compiler cannot create executable

疯了不知道如果做了。

这时候看了一下zeromq官网zmq的安装步骤,发现在configure的时候,执行的命令不太一致,官网执行的命令是:

./configure --with-pgm

啊~~~~疯了,接下来把/opt/zmq的安装内容给删除,按官网的步骤走下来,一路成功。唉~~~

不过这里要说明的一下的是,官网中安装zeromq时要提前安装

autoconf
automake
libtool
gcc
gcc-g++
make
libuuid-dev ## 我在现在用yum install的时候报找不到这个包,后来我实现安装的是libuuid-devel,这个不太清楚是怎么回事?有知道的请解惑,感谢
git
java-1.6.0-openjdk-devel

Centos安装zeromq, jzmq的更多相关文章

  1. [转]Centos安装zeromq和jzmq

    Required packages: autoconf automake libtool gcc gcc-g++ make libuuid-dev git java-1.6.0-openjdk-dev ...

  2. Linux(CentOS)安装配置zeromq、jzmq(解决各种问题)

    今天为Hadoop配置zeromq.jzmq遇到各种问题,先是编译出错,到编译成功后测试出错等等,下面将我遇到的问题与大家分享一下. 第一个注意点是:必须先编译安装zeromq,然后在编译jzmq,否 ...

  3. ZeroMQ/jzmq安装使用

    环境: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 12.04.2 LTS Release: 12 ...

  4. WINDOWS 安装ZeroMQ

    zmq看起来很好用,但是安装起来不是一般麻烦.原来以为java绑定会提供jar包直接可使用,但是官网没有提供已经编译好的库文件和jar.多么的不方便啊!最终还是要自己动手编译! 安装java版本的zm ...

  5. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

  6. 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...

  7. 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...

  8. CentOS安装Apache-2.4.10+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...

  9. CentOS安装Nginx-1.6.2+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了pcre等基础组件,具体见<CentOS安装LNMP环境的基础 ...

随机推荐

  1. try-catch-finally对返回值的影响

    catch 和 finally 一起使用的常见方式是:在 try 块中获取并使用资源,在 catch 块中处理异常情况,并在 finally 块中释放资源. finally 块用于清理try块分配的任 ...

  2. (转)Entity Framework 5.0系列之自动生成Code First代码

    原文地址:http://www.cnblogs.com/kenshincui/archive/2013/08/29/3290527.html 在前面的文章中我们提到Entity Framework的“ ...

  3. 扫描工具——Meterpreter

    Meterpreter是Metasploit框架中的一个杀手锏,通常作为利用漏洞后的攻击载荷所使用,攻击载荷在触发漏洞后能够返回给用户一个控制通道.当使用Armitage.MSFCLI或MSFCONS ...

  4. Java主线程如何等待子线程执行结束(转)

    工作中往往会遇到异步去执行某段逻辑, 然后先处理其他事情, 处理完后再把那段逻辑的处理结果进行汇总的产景, 这时候就需要使用线程了. 一个线程启动之后, 是异步的去执行需要执行的内容的, 不会影响主线 ...

  5. redis系列:基于redis的分布式锁

    一.介绍 这篇博文讲介绍如何一步步构建一个基于Redis的分布式锁.会从最原始的版本开始,然后根据问题进行调整,最后完成一个较为合理的分布式锁. 本篇文章会将分布式锁的实现分为两部分,一个是单机环境, ...

  6. windows phone之山寨win8圆形进度条

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  7. linux系统下ipmitool添加BMC帐号密码

    需求:已知BMC帐号id2为root管理员帐号,添加id5bmc帐号 工具:ipmitool version 1.8.14 系统:CentOS release 6.6 (Final) 1,通过yum安 ...

  8. 申请免费通配符证书(Let's Encrypt)并绑定IIS(转载)

    本文转载自https://blog.csdn.net/qq_41608008/article/details/80491447 什么是 Let's Encrypt? 部署 HTTPS 网站的时候需要证 ...

  9. java设计模式 策略

    什么是策略设计模式? 世界永远都在变,唯一不变的就是变本身 举个生活中的例子,小时候玩的游戏中,Sony的PSP提供了统一的卡槽接口,玩家只要更换卡带就可以达到更换游戏的目的,做到了一机多用 特工执行 ...

  10. const 迭代器和 const_iterator (vector/set/map)

    vector: 如同一般复合类型一样,vector 迭代器也可以声明成: const vector<int>::iterator it1 = v.begin(); vector<in ...