安装R包 fatal error: zlib.h: No such file or directory 问题解决

Python012

安装R包 fatal error: zlib.h: No such file or directory 问题解决,第1张

安装R包(seqinr)时遇到以下问题(缺少config文件):

报错信息可以看出报错根本原因是找不到zlib.h

1,确认是否安装zlib

注:上述命令Linux下运行,而非R环境下运行

输出结果:

可见zlib已安装。若未安装可用以下命令安装:

3,将zlib.h从安装的默认路径(anaconda/include)链接到报错中提示需要的位置

4,重新安装R包,如果还缺其他config按照上述过程解决,确实lib的话按照上一篇文章的方法( 安装R包 x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -lxxx 问题解决 - (jianshu.com)

)解决

redis-cluster安装需要通过gem install redis来安装相关依赖。否则报错。

通过gem install redis执行后会出现两个问题:

1、缺少zlib依赖

问题:

ERROR: Loading command: install (LoadError)

cannot load such file -- zlib

ERROR: While executing gem ... (NoMethodError)

undefined method 'invoke_with_build_args' for nil:NilClass

解决:

通过yum install zlib-devel 安装zlib库

然后集成zlib库到ruby环境

cd /usr/local/ruby-2.2.7/ext/zlib

ruby extconf.rb

重要:ext/openssl/Makefile 增加 top_srcdir = ../..

//这一步如果不修改,make时会爆出另外一个错误

//make:*** No rule to make target '/include/ruby.h', needed by 'zlib.o'. Stop

make &&make install

2、缺少openssl库

问题:

ERROR: While executing gem ... (Gem::Exception)

Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

解决:

通过yum install openssl-devel 安装openssl库

然后集成到ruby环境

cd /usr/local/ruby-2.2.7/ext/zlib

ruby extconf.rb

重要:ext/openssl/Makefile 增加 top_srcdir = ../..

//修改Makefile中的$(top_srcdir)为../..

make &&make install

再次运行gem install redis,出现下图则表示安装成功

你没有安装编译器啊,当然无法编译。

以下是我在 ubuntu 下使用 ruby 和 rails 时用到的一些包:

gcc g++ git git-core curl build-essential bison openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoconf imagemagick libtool libltdl-dev libmagickwand-dev

redhat 下包的名称和 ubuntu 可能不一样,但是大同小异,你可以找到对应包,先安装这些依赖包,然后再编译,编译出的ruby 的功能应该比较全。