"рецепт для цели" projectit.o "не удалось" при установке rgdal - PullRequest
5 голосов
/ 04 августа 2020

Я получаю следующую ошибку при установке rgdal_1.5-15 в R (я использую Ubuntu 18.04.4 LTS GNU / Linux 4.15.0-112-generi c x86_64):

projectit.cpp:159:6: error: conflicting declaration of C function ‘SEXPREC* transform_ng(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)’
SEXP transform_ng(SEXP fromargs, SEXP toargs, SEXP coordOp, SEXP npts, SEXP x, SEXP y, SEXP z SEXP aoi) {
  ^~~~~~~~~~~~
In file included from projectit.cpp:11:0:
rgdal.h:132:6: note: previous declaration ‘SEXPREC* transform_ng(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP)’
SEXP transform_ng(SEXP fromargs, SEXP toargs, SEXP coordOp, SEXP npts, SEXP x, SEXP y, SEXP z, SEXP aoi); // both
  ^~~~~~~~~~~~
/usr/lib/R/etc/Makeconf:176: recipe for target 'projectit.o' failed
make: *** [projectit.o] Error 1
ERROR: compilation failed for package ‘rgdal’

Я решил эту проблему установкой более старой версии (rgdal_1.4-8). Мне это кажется ошибкой, но я не смог найти репозиторий, в который можно было бы отправить отчет об ошибке (их github доступен только для чтения). Любая помощь в его поиске будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 06 августа 2020

Обновление: rgdal 1.5-16 выпущен с исправлением для Ubuntu 18.04. Обновление GDAL и PROJ (если возможно) по-прежнему рекомендуется, и новые версии могут быть получены из UbuntuGIS или собраны напрямую из исходников.

Исходный ответ: Я связался с Сопровождающие rgdal сообщили об этой ошибке и указали, что это известная проблема при сборке rgdal с устаревшими версиями GDAL и PROJ. Чтобы обойти ошибку, они рекомендуют установить разрабатываемую версию пакета, запустив:

install.packages("rgdal", repos="http://R-Forge.R-project.org")

Ubuntu 18.04 в настоящее время имеет GDAL 2.2.3 и PROJ 4.9.3. Согласно странице rgdal на CRAN , rgdal должен по-прежнему работать с этими версиями GDAL и PROJ, но они намного устарели по сравнению с исходными версиями обоих пакетов. Сопровождающие rgdal настоятельно рекомендуют использовать последние версии GDAL и PROJ, чтобы воспользоваться последними исправлениями, улучшениями и изменениями API.

1 голос
/ 07 августа 2020

Эта проблема теперь решена в новой версии rgdal_1.5-16 на CRAN.

https://twitter.com/RogerBivand/status/1291622288211750913?s=20

...