我正在尝试在Linux服务器(其中没有sudo访问权限)的R服务器中安装jpeg
软件包,并且jpeg
的安装找不到在本地安装的jpeglib.h
。当configure.args='--with-libjpeg-include=/path
失败时,如何告诉R在哪里寻找?
服务器版本为CentOS Linux 7(核心)
在R中,我跑了:
>install.packages('jpeg', lib="/shared/mybossusr/R3.5.0/lib", repos="https://mirrors.nic.cz/R/", destdir="/shared/mybossusr/usr/tmp")
我得到了这个错误:
rjcommon.h:11:21:致命错误:jpeglib.h:没有这样的文件或目录 #include
所以我安装了jpeg-turbo
wget https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-2.0.2.tar.gz
mkdir libjpeg-turbo-2
cd libjpeg-turbo-2
cmake -G"Unix Makefiles" -DCMAKE_INSTALL_PREFIX:PATH=/shared/mybossusr/bin/libjpeg-turbo-2 /shared/mybossusr/download/libjpeg-turbo-2.0.2
make
make install
我检查了,jpeglib.h
在/shared/mybossusr/bin/libjpeg-turbo-2/include
我在~/.bashrc
的末尾添加了此内容:
export CFLAGS="-I/usr/include -I=/shared/mybossusr/bin/libjpeg-turbo-2"
我注销并登录,尝试在R中安装jpeg
时遇到相同的错误。
我还将库的位置添加到了~/.barsh
的路径中:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/shared/mybossusr/bin/libjpeg-turbo-2/include
export PATH=$PATH:/shared/mybossusr/bin/libjpeg-turbo-2/include
以防万一,因为我不完全了解软件的外观。 source ~/.bashrc
是否已登录并注销,但没有任何变化。
因此,我随后在R中尝试了一些我想到的论点:
install.packages('jpeg', lib="/shared/mybossusr/R3.5.0/lib", repos="https://mirrors.nic.cz/R/", destdir="/shared/mybossusr/R3.5.0/tmp", configure.args='--with-libjpeg-include=/shared/mybossuser/bin/jpeg/include')
和:
install.packages('jpeg', lib="/shared/mybossusr/R3.5.0/lib", repos="https://mirrors.nic.cz/R/", destdir="/shared/mybossusr/R3.5.0/tmp", configure.args='--with-libjpeg=/shared/mybossuser/bin/jpeg')
或:
install.packages('jpeg', lib="/shared/mybossusr/R3.5.0/lib", repos="https://mirrors.nic.cz/R/", destdir="/shared/mybossusr/R3.5.0/tmp", configure.args='--with-libjpeg-lib=/shared/mybossuser/bin/jpeg/include')
尝试告诉R libjpeg
的安装位置,但无济于事。
是否有configure.args
可以解决问题?到目前为止,对于其他软件包,使用--with-package_name-lib
是很直接的,但是我对这个软件包一无所知...
谢谢!
答案 0 :(得分:1)
尝试安装 libjpeg-turbo-devel
软件包。这就是我在 RHEL 7 上所做的。根据 this page,在 CentOS 7 上,包名称是相同的。