[英]Resolve rgdal package failing on Travis build
我在Travis構建中成功使用了rgdal
R軟件包大約一年,幾乎沒有問題。
隨着近期的1.4-2版本部署rgdal
的-以前路過-建立開始到失敗消息
In file included from inverser.c:5:0:
/tmp/Rtmpysf7it/R.INSTALL748c54b7a89/rgdal/inst/include/projects.h:150:33:
error: conflicting types for ‘projUV’ typedef struct { double u, v; } projUV;
^
In file included from inverser.c:3:0: /usr/include/proj_api.h:54:37:
note: previous declaration of ‘projUV’ was here
typedef struct { double u, v; } projUV;
我不確定“舊”proj_api.h來自何處以及如何在Travis環境中刪除它。
我的travis.yml配置如下:
language: r
dist: trusty
sudo: false
cache:
packages: yes
r_packages:
- testthat
- roxygen2
- covr
addons:
apt:
packages:
- gdal-bin
- proj-bin
- libgdal-dev
- libgdal1-dev
- libproj-dev
- libgeos-dev
- r-cran-ncdf4
- libv8-3.14-dev
- libprotobuf-dev
- protobuf-compiler
- libudunits2-dev
- libnetcdf-dev
- libjq-dev
before_install:
- sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
- sudo add-apt-repository -y ppa:opencpu/jq
- sudo apt-get --yes --force-yes update -qq
after_success:
- Rscript -e 'covr::coveralls()'
任何有關如何解決此問題的建議都非常感謝
答案2是正確的答案。 我是rgdal維護者,並在郵件和推特上權威地回答了這個問題。 當過時的PROJ版本的用戶(前4.9.3,2016年9月之前)確認1.4-3解決了他們的問題時,我會向CRAN提交1.4-3。 我不會也不會遵循SO,但如果你做了正確的事並發布到R-sig-geo,你會引起我的注意。
我建議對仍在使用PROJ 4.8.0升級的任何系統施加巨大壓力。 該版本於2012年3月13日發布,今天也是7歲生日,真的值得回收它。
只是為了澄清你如何告訴Travis從R-Forge安裝,正如Edzer和Roger所建議的那樣。 我相信你可以在.travis.yml
任何地方添加以下.travis.yml
:
repos:
CRAN: https://cran.rstudio.com
rforge: http://R-Forge.R-project.org
有關詳細信息,請參閱Travis R配置文檔 。
或者你可以在before_install
塊中運行R命令,如下所示:
before_install:
- R -e 'install.packages("rgdal", repos=c("http://R-Forge.R-project.org", "http://cran.rstudio.com"))'
如果不那么整潔,這可能會更明顯一些。
解決此問題的一種方法是使用舊版本的rgdal
。 要安裝特定版本的rgdal
軟件包,可以rgdal
添加到DESCRIPTION
文件中:
Remotes: cran/rgdal@1.3-9
這將安裝並使用之前的版本(1.3-9),即1.4-2之前發布的版本。 這至少對我有用。
從這里得到了想法: https : //travis-ci.community/t/travis-build-ignoring-r-package-version-in-description/2431/2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.