首页 > 解决方案 > 安装 cdo - libproj13 丢失

问题描述

尊敬的 proj 和 cdo 专家,

我正在尝试在 Ubuntu 18.04 上安装 cdo(气候数据运算符)。我安装了 gdal 3.0.0 和 proj 7.0.1。缺少一些无法安装的依赖项。它归结为它说 libproj13 丢失并且无法安装。

到目前为止我所做的。安装cdo,它依赖libmagplus3v5,这个依赖libgeotiff2,这个依赖libproj13,这个不能安装。看这里:

root@eosao34:~# apt-get install cdo
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cdo : Depends: libmagplus3v5 (>= 2.34.1-2~) but it is not going to be installed
       Recommends: python-cdo but it is not installable
E: Unable to correct problems, you have held broken packages.
root@eosao34:~# apt-get install libmagplus3v5
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libmagplus3v5 : Depends: libgeotiff2 (>= 1.4.0) but it is not going to be installed
                 Depends: libterralib3 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
root@eosao34:~# apt-get install libgeotiff2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libgeotiff2 : Depends: libproj13 (>= 4.8.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
root@eosao34:~# apt-get install libproj13
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libproj13 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libproj13' has no installation candidate
root@eosao34:~#

当我搜索 libproj1. 我明白了:

root@eosao34:~# locate libproj1
/usr/share/doc/libproj12
/usr/share/doc/libproj15
/usr/share/doc/libproj19
/usr/share/doc/libproj12/NEWS.Debian.gz
/usr/share/doc/libproj12/changelog.Debian.gz
/usr/share/doc/libproj12/copyright
/usr/share/doc/libproj15/AUTHORS
/usr/share/doc/libproj15/NEWS.Debian.gz
/usr/share/doc/libproj15/NEWS.gz
/usr/share/doc/libproj15/README.gz
/usr/share/doc/libproj15/changelog.Debian.gz
/usr/share/doc/libproj15/copyright
/usr/share/doc/libproj19/AUTHORS
/usr/share/doc/libproj19/NEWS.Debian.gz
/usr/share/doc/libproj19/NEWS.gz
/usr/share/doc/libproj19/README
/usr/share/doc/libproj19/changelog.Debian.gz
/usr/share/doc/libproj19/copyright
/var/cache/apt/archives/libproj12_4.9.3-2_amd64.deb
/var/cache/apt/archives/libproj19_7.0.0-1~bionic0_amd64.deb
/var/lib/dpkg/info/libproj12:amd64.list
/var/lib/dpkg/info/libproj12:amd64.md5sums
/var/lib/dpkg/info/libproj12:amd64.shlibs
/var/lib/dpkg/info/libproj12:amd64.symbols
/var/lib/dpkg/info/libproj12:amd64.triggers
/var/lib/dpkg/info/libproj15:amd64.list
/var/lib/dpkg/info/libproj15:amd64.md5sums
/var/lib/dpkg/info/libproj15:amd64.shlibs
/var/lib/dpkg/info/libproj15:amd64.symbols
/var/lib/dpkg/info/libproj15:amd64.triggers
/var/lib/dpkg/info/libproj19:amd64.list
/var/lib/dpkg/info/libproj19:amd64.md5sums
/var/lib/dpkg/info/libproj19:amd64.shlibs
/var/lib/dpkg/info/libproj19:amd64.symbols
/var/lib/dpkg/info/libproj19:amd64.triggers

所以显然我已经安装了libproj12。我感觉特定版本的. 因为我尝试从 apt 包管理器安装不同版本,现在可以看到所有不同版本的. 但不是。不幸的是,我找不到解释如何安装或链接到哪个. 我已经测试了在存在 libproj13 的其他 VM 上安装 cdo。它在那里工作。libproj15libproj19libprojXXprojprojlibprojXXlibproj13libproj13libprojXXproj

我的问题是:如何安装 libproj13 以便 cdo 运行?

标签: projcdo-climate

解决方案


最简单的选择是使用 conda ( https://anaconda.org/conda-forge/cdo ) 安装 CDO。

但是,我有一组用于从源代码安装 CDO 和依赖项的 bash 脚本。这大概会解决您的问题:https ://github.com/r4ecology/nctoolkit/tree/master/cdo_installers


推荐阅读