r - 在 Amazon Linux 2 上安装“libudunits2-dev”
问题描述
我在 Amazon-Linux-2 环境中工作,想安装"sf"
依赖于libudunits2-dev
系统库的 R 包。我收到错误消息:
Configuration failed because libudunits2.so was not found. Try installing:
* deb: libudunits2-dev (Debian, Ubuntu, ...)
* rpm: udunits2-devel (Fedora, EPEL, ...)
* brew: udunits (OSX)
If udunits2 is already installed in a non-standard location, use:
--configure-args='--with-udunits2-lib=/usr/local/lib'
if the library was not found, and/or:
--configure-args='--with-udunits2-include=/usr/include/udunits2'
if the header was not found, replacing paths with appropriate values.
You can alternatively set UDUNITS2_INCLUDE and UDUNITS2_LIBS manually.
udunits2 不能与sudo yum install libudunits2-dev
或一起安装libunits2-devel
。我尝试安装和使用epel
,但也不包含这个库。
我udunits2
从源代码安装,它可以找到库,但仍然存在错误。我不确定如何构建dev
这个库的一个版本
wget ftp://ftp.unidata.ucar.edu/pub/udunits/udunits-2.2.28.tar.gz &&\
tar -xvzf udunits-2.2.28.tar.gz; rm udunits-2.2.28.tar.gz &&\
cd udunits-2.2.28 &&\
./configure -prefix=/usr/local &&\
make install &&\
cd .. && rm -rf udunits-2.2.28
当前错误信息:
** testing if installed package can be loaded from temporary location
Error: package or namespace load failed for 'units' in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/usr/lib64/R/library/00LOCK-units/00new/units/libs/units.so':
libudunits2.so.0: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed
* removing '/usr/lib64/R/library/units'
ERROR: dependency 'units' is not available for package 'sf'
编辑 - - - - - - - - - - - - - -
感谢 Knud Larsen 更正了 epel 包名称。看起来安装有点复杂,但这是我想出来的。
sf 包依赖项是libudunits2-dev libgdal-dev libgeos-dev libproj-dev
. amazon-linux-2 需要 epel 并从源代码构建。(注意:epel gdal 是版本 1,不兼容)。
# Add epel repository
sudo amazon-linux-extras install epel
# install udunits2
yum install -y udunits2-devel
# install proj/gdal dependency
yum install -y gcc-c++ cpp sqlite-devel libtiff cmake3
# build/install proj
wget https://download.osgeo.org/proj/proj-6.1.1.tar.gz
tar -xvf proj-6.1.1.tar.gz
cd proj-6.1.1
./configure
sudo make
sudo make install
cd ..
rm -rf proj-6.1.1*
# build/install gdal
wget https://github.com/OSGeo/gdal/releases/download/v3.2.1/gdal-3.2.1.tar.gz
tar -xvf gdal-3.2.1.tar.gz
cd gdal-3.2.1
./configure --with-proj=/usr/local --with-python
sudo make
sudo make install
cd ..
rm -rf gdal-3.2.1*
解决方案
推荐阅读
- python - 如何使用 Python 检查帧是否是 Maya 中的关键帧?
- jquery - Chrome 日期选择器错误
- python - 跨 python 进程共享数据库连接池
- php - 数组中的第一个元素不断被覆盖,不会添加到数组中
- c# - 我怎样才能不仅从 txt 文件中读取一行,而且还读取所有行?
- c# - 在 C#.NET 中将任意数量的任务链接在一起
- javascript - 有没有办法使用intersectionObserver 更改滚动时的div 大小?
- c++ - 如何初始化类中非平凡对象的 std::array,其中数组的大小是类的模板参数?
- javascript - Charts.JS - 图表太多?- 加载问题
- javascript - 融合图表不加载