在travis-ci构建中查找/指定gdal的安装路径

时间:2017-12-19 10:27:25

标签: r travis-ci gdal r-package rgdal

在我正在维护的包中(https://github.com/lbusett/MODIStsp),我使用gdalUtils包作为gdal实用程序的包装器。问题是我找不到在TRAVIS-CI上运行我的测试套件和示例的方法。这似乎与路径上找不到gdal安装文件夹有关,因此我收到以下错误:

  

gdalUtils :: gdal_setInstallation中的警告(ignore.full_scan = TRUE)
  未找到GDAL安装。请在继续之前安装'gdal':
   - www.gdal.org(没有HDF4支持!)
   - www.trac.osgeo.org/osgeo4w/(推荐支持HDF4)
   - www.fwtools.maptools.org(支持HDF4)

(有关完整构建日志,请参见此处:https://travis-ci.org/lbusett/MODIStsp/jobs/318037312

gdalUtils::gdal_setInstallation()应该首先使用sys.which()来搜索有效的gdal安装,并且(看起来失败)查看“典型”安装路径(请参阅https://www.rdocumentation.org/packages/gdalUtils/versions/2.0.1.7/topics/gdal_setInstallation)。

除了使用以下travis.yml配置在构建中的travis上安装gdal(显然)之外,还会发生这种情况:

{
  "language": "r",
  "cache": "packages",
  "warnings_are_errors": false,
  "before_install": [
    "sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable --yes",
    "sudo add-apt-repository -y ppa:opencpu/jq --yes",
    "sudo apt-get -qq update",
    "sudo apt-get install -y libgdal-dev libproj-dev",
    "export DISPLAY=:99.0",
    "sh -e /etc/init.d/xvfb start"
  ],
  "group": "stable",
  "dist": "trusty",
  "apt_packages": [
    "libgdal-dev",
    "libproj-dev",
    "libcairo2-dev",
    "libatk1.0-dev",
    "libpango1.0-dev",
    "libgtk2.0-dev",
    "libglib2.0-dev",
    "libcurl4-openssl-dev"
  ],
  "env": "global=[\"R_LIBS=\\\"http://cran.rstudio.com\\\"\", \"R_BUILD_ARGS=\\\"--no-build-vignettes --no-manual\\\"\", \"R_CHECK_ARGS=\\\"--no-build-vignettes --no-manual --as-cran\\\"\", \"R_CHECK_TIMINGS_=\\\"0\\\"\", \"BOOTSTRAP_LATEX=\\\"1\\\"\"]",
  "os": "linux",
  "r_binary_packages": [
    "cairoDevice",
    "RGtk2"
  ],
  "sudo": "required"
}

您有什么建议可以解决这个问题吗?我是否需要以某种方式在travis.yml脚本中将PATH设置为gdal?如果是这样,我怎么能找到安装gdal的位置? (我尝试在yml中添加类似"PATH=\"/usr/local/gdal/bin:$PATH\""的行,但它不起作用。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

最后,只需在yaml槽中添加gdal-bin的安装即可解决问题:

sudo apt-get install -y gdal-bin

(感谢Benjamin在r-pkg-devel邮件列表中提供解决方案)