在使用 enrichplot 包解决 openssl 包依赖的时候,发现提示 libssl.so.1.0.0 动态库找不到:
> install.packages("openssl")--- Please select a CRAN mirror for use in this session ---trying URL 'http://mirrors.tuna.tsinghua.edu.cn/CRAN/src/contrib/openssl_1.3.tar.gz'Content type 'application/x-gzip' length 1218896 bytes (1.2 MB)==================================================downloaded 1.2 MB* installing *source* package ‘openssl’ ...** package ‘openssl’ successfully unpacked and MD5 sums checked** using staged installationFound pkg-config cflags and libs!Using PKG_CFLAGS=-I/Bioinfo/Pipeline/SoftWare/Anaconda2/includeUsing PKG_LIBS=-L/Bioinfo/Pipeline/SoftWare/Anaconda2/lib -l:libssl.so.1.0.0 -l:libcrypto.so.1.0.0** libs......** R** inst** byte-compile and prepare package for lazy loading** help*** installing help indices** building package indices** installing vignettes** testing if installed package can be loaded from temporary locationError: package or namespace load failed for ‘openssl’ in dyn.load(file, DLLpath = DLLpath, ...):unable to load shared object '/Bioinfo/Pipeline/SoftWare/R/R-3.6.0/lib64/R/library/00LOCK-openssl/00new/openssl/libs/openssl.so':libssl.so.1.0.0: cannot open shared object file: No such file or directoryError: loading failedExecution haltedERROR: loading failed* removing ‘/Bioinfo/Pipeline/SoftWare/R/R-3.6.0/lib64/R/library/openssl’The downloaded source packages are in‘/tmp/RtmpTySsWL/downloaded_packages’Updating HTML index of packages in '.Library'Making 'packages.html' ... doneWarning message:In install.packages("openssl") :installation of package ‘openssl’ had non-zero exit status
仔细翻查 log 才发现我所用的 R-3.6.0 在安装 R 包的时候,默认调用了 Anaconda2 下面的 PKG_CFLAGS 和 PKG_LIBS,想要更改这两个变量需要更改在安装 R 包时调用的 pkg-config,我的 R-3.6.0 默认使用的是 /Bioinfo/Pipeline/SoftWare/Anaconda2/bin/pkg-config。
重新安装 pkg-config-0.29.2:
$ wget https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz --no-check-certificate$ tar zvxf pkg-config-0.29.2.tar.gz$ cd pkg-config-0.29.2$ ./configure --prefix=/Bioinfo/Pipeline/SoftWare/pkg-config-0.29.2$ make$ make install
把 pkg-config-0.29.2 添加到环境变量:
export PATH="/Bioinfo/Pipeline/SoftWare/pkg-config-0.29.2/bin:$PATH
最后,source ~/.bashrc,使用 install.packages(“openssl”) 安装,一切正常。
