安装 R 包时设置 C 依赖位置

Set C dependency locations when installing R packages

如何指定作为 R 包依赖项的头文件的位置?

具体来说:

install.packages('tiff')

死亡并显示以下消息:

common.h:5:18: fatal error: tiff.h: No such file or directory

但是,当我执行以下操作时:

export LD_LIBRARY_PATH='~/tiff-4.0.3/libtiff'

然后重复安装过程,它再次死掉并显示相同的消息。

Sys.getenv('LD_LIBRARY_PATH') 

显示

~/tiff-4.0.3/libtiff

很多tnx!

许多包使用 configure 脚本来查找外部依赖项或让用户指定它们的位置。 tiff 包不是这种情况。您必须修改软件包才能安装它。未测试:

$ git clone https://github.com/s-u/tiff
$ cat > tiff/src/Makevars <<EOF
PKG_LIBS=-L<directory-containing-tiff-library> -ltiff -ljpeg
PKG_CFLAGS=-I<directory-containing-tiff-header>
EOF
$ R CMD build tiff
$ R CMD check tiff_*tar.gz
$ R CMD INSTALL tiff_*tar.gz

您仍然需要设置 LD_LIBRARY_PATH 以获得正确的 运行 时间链接。