获取比 Debian 存储库中可用版本更新的 GEOS 版本

获取比 Debian 存储库中可用版本更新的 GEOS 版本

我需要安装一个地球观测系统版本 >= 3.2.2,这样做超出了我目前的能力(双关语)。

目前的Debian 挤压版是 3.2.0,这不适用于我的目的(使用rgeosR 中的包)。

我尝试过以下方法:

  • 通过以下方式从 Debian wheezy 存储库安装 3.3.3 软件包dpkg -i
  • 从 Ubuntu 存储库安装多个 3.2.2 软件包。

全部失败,因为我需要libstdc++6 (>=4.6)并且我有版本 4.4.5-8。

我假设我需要的是安装更新的 libstdc++6,但我想以不破坏现有软件包的方式进行安装。是否可以同时安装两个版本,而较新的版本仅用于 GEOS?如果是这样,我该怎么做。

更新

根据 @Marco 的建议,我已经编译了 GEOS 并且它可以正确编译/安装,但是对于 3.3.3 和 3.2.3,当我尝试rgeos在 R 中安装该包时,出现以下错误:

* installing *source* package ‘rgeos’ ...
** package ‘rgeos’ successfully unpacked and MD5 sums checked
checking geos-config usability... yes
configure: geos-config: geos-config
configure: GEOS version: 3.2.3
checking geos version over 3.2.1... yes
checking geos-config clibs... no
checking for gcc... gcc -std=gnu99
checking for C compiler default output file name... a.out
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.

答案1

也许更简单、更安全的方法是获取 3.3.3 的源代码并编译您自己的反向移植。这链接到旧的库而不是新的库。如果包依赖于仅在较新版本中存在的功能,则可能会失败。

获取来源

要创建向后移植,请将存储库添加到您sources.list要编译的版本中。您还需要deb-src 条目。运行apt-get update以更新数据库。完成后不要忘记恢复它。

可以使用 拉取源apt-get source libgeos-3.3.3。或者您可以从以下位置检索源包 德班手动。您使用 提取源代码dpkg-source -x libgeos-3.3.3.dsc

检索依赖项

要安装依赖于构建的所有软件包,请运行

apt-get build-dep libgeos-3.3.3

编译源码并创建包

如果需要,您可以调整文件中的编译选项 debian/rules。要创建 Debian 软件包,请运行

dpkg-buildpackage -rfakeroot -b -us -uc

您最终会得到一个可以使用包管理器安装和删除的普通包。安装它与dpkg -i package.

相关内容