我尝试在 Linux 中安装 udunits2 (因为我需要 sf 软件包):
install.packages("/panfs/roc/groups/5/.../udunits2_0.13.tar.gz", repos=NULL, type ="source")
但我收到此错误消息:
(as ‘lib’ is unspecified)
* installing *source* package ‘udunits2’ ...
** package ‘udunits2’ successfully unpacked and MD5 sums checked
** using staged installation
checking for gcc... /panfs/roc/msisoft/gcc/8.1.0/bin/gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /panfs/roc/msisoft/gcc/8.1.0/bin/gcc accepts -g... yes
checking for /panfs/roc/msisoft/gcc/8.1.0/bin/gcc option to accept ISO C89... none needed
checking for XML_ParserCreate in -lexpat... yes
...
checking for stdint.h... yes
checking for unistd.h... yes
checking udunits2.h usability... no
checking udunits2.h presence... no
checking for udunits2.h... no
checking for ut_read_xml in -ludunits2... no
-----Error: libudunits2.a not found-----
If the udunits2 library is installed in a non-standard location,
use --configure-args='--with-udunits2-lib=/usr/local/lib' for example,
or --configure-args='--with-udunits2-include=/usr/include/udunits2'
replacing paths with appropriate values for your installation.
You can alternatively use the UDUNITS2_INCLUDE and UDUNITS2_LIB
environment variables.
If udunits2 is not installed, please install it.
It is required for this package.
ERROR: configuration failed for package ‘udunits2’
* removing ‘/panfs/roc/groups/5/.../R/x86_64-pc-linux-gnu-library/3.6/udunits2’
Warning message:
In install.packages("/panfs/roc/groups/5/.../udunits2_0.13.tar.gz", :
installation of package ‘/panfs/roc/groups/5/.../udunits2_0.13.tar.gz’ had non-zero exit status
>
然后我尝试安装:libudunits2-dev、libgdal-dev、libgeos-dev 和 libproj-dev。但其中任何一个都适用于 R 版本 3.6.0。
有人有建议吗?我尝试了很多事情但没有成功。非常感谢!
您误解了 sf 的依赖关系。 SF 需要 GDAL 来执行。在 Linux 中,特别是 Ubuntu,这需要安装 Ubuntu 软件包:libudunits2-dev、libgdal-dev、libgeos-dev 和 libproj-dev。
udunits2 是一个 R 包,它也依赖于 Ubuntu 的 libudunits2。安装SF不需要安装udunits2。
正如 ibusett 的评论链接中提到的,您可以执行以下命令:
apt-get -y update && apt-get install -y libudunits2-dev libgdal-dev libgeos-dev libproj-dev
或者:
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt-get update
sudo apt-get install libudunits2-dev libgdal-dev libgeos-dev libproj-dev
在 Ubuntu 的终端上,而不是 R 的控制台上。
郑重声明,如果您使用的是 conda,那就是问题所在。使用
conda deactivate
然后尝试安装该软件包,对我来说解决了它(当然我已经安装了 artidata 提到的软件包)
如果你想在 anaconda 上安装 sf 你可以尝试:
conda install -c conda-forge r-sf
您可能还需要
conda install -c conda-forge r-geojsonio
此后你就可以出发了