安装 cdo - 缺少 libproj13

Installing cdo - libproj13 is missing

尊敬的 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

显然我安装了 libproj12libproj15libproj19。 我感觉 libprojXX 是随 proj 的特定版本一起提供的。因为我尝试从 apt 包管理器安装不同版本的 proj,现在看到所有不同版本的 libprojXX。但不是 libproj13。不幸的是,我找不到解释如何安装 libproj13libprojXX 链接到 proj 的来源。我已经测试过在存在 libproj13 的其他 VM 上安装 cdo。它在那里工作。

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

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

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