zlib/bz2 编译 R 需要库和头文件

zlib/bz2 library and headers are requried for compiling R

正在尝试在 Debian Jessie 上编译 R-3.3.2,已安装所有依赖项。但是 ./configure 脚本抱怨 zlib/bzip2 库版本不符合最低要求。

要求的最低版本:

在查看 configure 脚本检查库版本的部分后,它似乎将版本与 strcmpstrncmp 进行了比较。由于“1.2.11”在字典序上比“1.2.6”小,因此 return 一个 non-zero 值表明匹配失败。此外,它只是比较前 5 个字符,这也不是它的本意。所以,这是配置脚本中的错误。更改脚本解决了问题。

对于 zlib,找到这一行:

exit(strncmp(ZLIB_VERSION, "1.2.5", 5) < 0);

改为:

exit(ZLIB_VERNUM < 0x1250);

我自己安装 R 时遇到了一些问题,特别是错误

checking for BZ2_bzlibVersion in -lbz2... no

我必须安装 libbz2-dev 才能消除该错误。

不幸的是,我在 运行 ./configure 期间又遇到了一些问题,不得不进行更多的挖掘以找出解决问题的方法。

Discussion on issue

阅读之后,我意识到我必须安装几个软件包,如 libcurl4-openssl-devlibpcre3liblzma-dev 才能最终完成配置。

被引用link建议

At this stage you could have as well tried to install R 3.2.0RC ... R-devel has not yet diverged much.

就个人而言,我认为安装旧版本来解决依赖性问题有点懒惰,但这只是我的两分钱。