最近工作中需要用到goczmq,记录一下安装过程遇到的坑;
说明
这个的安装教程在网上并不多,只有官方有一个安装教程还特别简单;参考了网上(仅有)的两篇教程,都有坑,浪费了好长时间;
先上官方教程:
如你所见,很简单,就这么几行:
1 | Install |
再上我参考的两篇:
先说一下这两篇教程的不足:
- 教程一:文章中部分内容顺序错乱,设置环境变量格式错误;
- 教程二:没有设置环境变量的环节,最后安装goczmq会出问题;
安装流程
安装依赖
libsodium
到https://download.libsodium.org/libsodium/releases/下载最新的安装包(LATEST.tar.gz,使用wget工具直接下载)
解压:
1 | tar zxvf LATEST.tar.gz |
安装:
1 | cd libsodium-stable |
这里就要添加环境变量,因为后面的依赖要依赖于这个:
在/etc/profile
中添加以下内容并重新source:
1 | export PKG_CONFIG_PATH=/root/libsodium/libsodium-stable |
zeromq
Next up, we build ZeroMQ with libsodium support:
1 | git clone https://github.com/zeromq/libzmq.git |
这一步会安装libzmq库
czmq
Now, we’ll build CZMQ against ZeroMQ. For an overview of what the CZMQ API provides
1 | git clone https://github.com/zeromq/czmq.git |
这一步会安装libczmq库
设置环境变量
在/etc/profile
中添加以下内容:
1 | export PKG_CONFIG_PATH=/root/libsodium/libsodium-stable:/usr/local/lib/pkgconfig |
注意:在/etc/profile中添加环境变量一定要加上关键字
export
,否则不生效!
添加完成之后,在当前bash中执行:
1 | source /etc/profile |
安装goczmq
1 | go get github.com/zeromq/goczmq |
遇到的问题说明
缺少包
安装依赖过程中遇到两个依赖缺少:
c++
1 | Unable to find a working C++ compiler |
解决办法:
1 | yum install gcc-c++ |
libtool
缺少libtool
1 | yum install libtool |
环境变量问题
问题
刚开始我把环境变量都写到/etc/profile
中了,但是少了关键字export
,所以在最后安装goczmq
时依然报错,提示缺少依赖:
但是查看发现,这些都已经安装了:
并且在/etc/profile
中添加了环境变量:
分析
所以感觉自己设置的环境变量好像根本没有生效,将添加到/etc/profile
的环境变量export
测试一下,发现安装goczmq
成功了:
结论
证明了之前设置的环境变量确实没有生效;
所以在/etc/profile和/root/.bashrc中添加环境变量一定要添加export
关键字!!!