在我正在维护的包中(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\""
的行,但它不起作用。
提前感谢您的帮助!
答案 0 :(得分:3)
最后,只需在yaml槽中添加gdal-bin的安装即可解决问题:
sudo apt-get install -y gdal-bin
(感谢Benjamin在r-pkg-devel邮件列表中提供解决方案)