centos6 安装 python-rrdtools

Author Avatar
doubledna 2017 年 07 月 17 日


一:
1、yum 安装 rrdtool
yum install rrdtool rrdtool-devel

pip 安装 rrdtools
2. 安装库:#yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel rrdtool-python
再安装 rrdtools:pip install python-rrdtool

二:升级 python2.7 带来的错误
Centos 6.4 自带的 python 版本是 2.6.6,可以通过上面方式安装 python 模块。但我将 python 升级到 python2.7 后就不行了。提示如下错误:

import rrdtool
Traceback (most recent call last):

File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/python2.7/site-packages/rrdtoolmodule.so: undefined symbol: rrd_flushcached

解决方法:重新编译并安装 rrdtool
1、下载 rrdtool

wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
2、编译并安装 rrdtool

tar zxvf rrdtool-1.4.7.tar.gz
cd rrdtool-1.4.7
./configure --prefix=/usr/local
make
make 时如果报 Can't locate ExtUtils/MakeMaker.pm in @INC 错误是需要安装需要安装 perl-ExtUtils-Embe,请 yum install perl-ExtUtils-Embed -y
make install

3、使用 pip 安装 python-rrdtool 模块

yum install gcc cmake make python-devel cairo-devel libxml2 libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel -y
ln -s /usr/lib64/librrd.so.4 /usr/lib64/librrd.so
pip install python-rrdtool-1.4.7.tar.gz

pip install rrdtool
安装如果遇到找不到 rrd.h 头文件或者 -lrrd 库问题可以指定对应目录

C_INCLUDE_PATH=/usr/local/include LDFLAGS=-L/usr/local/lib pip install rrdtool
安装完后遇到新的问题

import rrdtool

Traceback (most recent call last):
File"<stdin>", line 1, in <module>
ImportError: librrd.so.4: cannot open shared object file: No such file or directory

解决方法,将 rrdtool 库做软链接到 usr/lib 目录

ln -s /usr/local/lib/librrd* /usr/lib
ldconfig