【问题标题】:jpeg R package instalation does not find jpeglib.h in non standard locationjpeg R 包安装在非标准位置找不到 jpeglib.h
【发布时间】:2019-05-10 14:52:59
【问题描述】:

我正在尝试在 Linux 服务器的 R 中安装 jpeg 包(我没有 sudo 访问权限),而 jpeg 安装找不到 jpeglib.h 我在本地安装。当configure.args='--with-libjpeg-include=/path 失败时,我如何告诉 R 去哪里寻找它?

服务器操作系统版本为 CentOS Linux 7 (Core)

在 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:没有这样的文件或目录 #包括

所以我安装了 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 非常简单,但我对这个一无所知...

提前致谢!

【问题讨论】:

  • 不是 Linux 专家,但您是否尝试将 jpeglib.h 的位置添加到您的路径中?据我所知R 会在那里寻找已安装的库...
  • 谢谢 JBGruber,我已经做到了。帖子里是这么说的,但我要对其进行编辑,以便更清楚
  • @Mosky 你找到解决方案了吗?同样的问题,我尝试在 RHEL 上安装 ggmap,由于 jpeglib.h 而失败
  • @Afiq Johari 不幸的是,我有点着急,所以我放弃了,最后在我是 sudo 的本地计算机上运行分析,即使速度较慢,我也没有有什么问题。

标签: r linux installation libjpeg


【解决方案1】:

尝试安装libjpeg-turbo-devel 包。这就是我在 RHEL 7 上所做的。根据this page,在 CentOS 7 上,包名称是相同的。

【讨论】:

    【解决方案2】:

    对我来说,这就是诀窍:

    在非标准位置安装 jpeg-turbo,例如 $HOME/local,来自:

    https://github.com/libjpeg-turbo/libjpeg-turbo/releases

    cmake -G"Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$HOME/local
    make
    make install
    

    然后将这些全局变量指向您的 .bashrc 中的安装位置:

    export LIBRARY_PATH=$HOME/local/lib64:$HOME/local/lib:$LIBRARY_PATH
    export LD_LIBRARY_PATH=$HOME/local/lib64:$HOME/local/lib:$LD_LIBRARY_PATH
    export C_INCLUDE_PATH=$HOME/local/include:$C_INCLUDE_PATH
    

    然后再次尝试 R 包

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-09
      • 1970-01-01
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 2020-03-29
      相关资源
      最近更新 更多