cd /tmp
rm -rf BPCells
git clone https://github.com/bnprks/BPCells.git
cd BPCells/r
# 1. 编辑 configure 脚本,在检测 hdf5 成功后强制使用 1.14.0
sed -i '/Found working hdf5/a\
HDF5_CFLAGS="-I/share/work/biosoft/hdf5/hdf5lib-1.14.0/include"\
HDF5_LIBS="-L/share/work/biosoft/hdf5/hdf5lib-1.14.0/lib -lhdf5 -lhdf5_cpp -lhdf5_hl"' configure
# 2. 设置环境变量
export HDF5_DIR=/share/work/biosoft/hdf5/hdf5lib-1.14.0
export LD_LIBRARY_PATH=/share/work/biosoft/hdf5/hdf5lib-1.14.0/lib:$LD_LIBRARY_PATH
# 3. 安装
/share/work/biosoft/R/R-v4.5.3-sc/bin/R CMD INSTALL .
# 1. 只保留正确的 PROJ 路径
export LD_LIBRARY_PATH=/share/work/biosoft/Proj/proj-v6.1.1/lib:/share/work/biosoft/GDAL/gdal-v3.4.1/lib:$LD_LIBRARY_PATH
# 2. 设置 PROJ_LIB 指向数据目录
export PROJ_LIB=/share/work/biosoft/Proj/proj-v6.1.1/share/proj
# 3. 重新安装 sf
/share/work/biosoft/R/R-v4.5.3-sc/bin/Rscript -e '
Sys.setenv(PROJ_LIB = "/share/work/biosoft/Proj/proj-v6.1.1/share/proj")
install.packages("sf",
configure.args = "--with-proj-share=/share/work/biosoft/Proj/proj-v6.1.1/share/proj",
INSTALL_opts = "--no-test-load")
'
# 4. 手动测试加载
/share/work/biosoft/R/R-v4.5.3-sc/bin/Rscript -e '
Sys.setenv(LD_LIBRARY_PATH = paste0(
"/share/work/biosoft/Proj/proj-v6.1.1/lib:",
"/share/work/biosoft/GDAL/gdal-v3.4.1/lib:",
Sys.getenv("LD_LIBRARY_PATH")
))
Sys.setenv(PROJ_LIB = "/share/work/biosoft/Proj/proj-v6.1.1/share/proj")
library(sf)
print("sf loaded successfully!")
'
# 4. 测试 /share/work/biosoft/R/R-v4.5.3-sc/bin/Rscript -e ' Sys.setenv(PROJ_LIB = "/share/work/biosoft/Proj/proj-v6.1.1/share/proj") library(sf) message("sf loaded successfully")
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
