Установка rgdal через исходники

В стеке уже много таких вопросов... Я нашел довольно много, но это не решает мою проблему.

Это то, что я пробовал до сих пор. Переходим на сайт CRAN cran.r-project.org/web/packages/rgdal/index.html

мы видим, что для сборки этого пакета нам нужно

  • GDAL >= 1.6.3, библиотека с trac.osgeo.org/gdal/wiki/DownloadSource и
  • PROJ.4 (proj >= 4.4.9) с сайта download.osgeo.org/proj/;

Далее нам понадобятся зависимости

  • Зависит: R (≥ 3.3.0), методы, sp (≥ 1.1-0)

Но они уже установлены.

Мы уже установили системные зависимости, так как

[]$ gdal-config --version
2.1.3
[]$ proj
Rel. 4.4.9, 29 Oct 2004
usage: proj [ -beEfiIlormsStTvVwW [args] ] [ +opts[=arg] ] [ files ]

Однако, когда мы пытаемся установить пакет с помощью

install.packages("rgdal_1.2-5.tar.gz",type = "source",repos = NULL,
configure.args=c('--with-proj-include=/usr/local/include','--with-proj-lib=/usr/local/lib'))

Параметры configure.args взяты из ответов, приведенных в установке пакета rgdal.

Однако мы все еще получаем ошибку при установке... это часть журнала

    *** installing help indices
      converting help for package ‘rgdal’
        finding HTML links ... done
        CRS-class                               html
        GDALDataset-class                       html
        GDALDriver-class                        html
        GDALMajorObject-class                   html
        GDALRasterBand-class                    html
        GDALReadOnlyDataset-class               html
        GDALReadOnlyDataset-methods             html
        GDALTransientDataset-class              html
        GridsDatums                             html
        RGB2PCT                                 html
        SGDF2PCT                                html
        SpatialGDAL-class                       html
        closeDataset-methods                    html
        displayDataset                          html
        llgrid                                  html
    Rd warning: /tmp/RtmppvlZ6x/R.INSTALL233feb7dc50/rgdal/man/llgrid.Rd:11: missing file link ‘Spatial’
    Rd warning: /tmp/RtmppvlZ6x/R.INSTALL233feb7dc50/rgdal/man/llgrid.Rd:16: missing file link ‘gridat’
    Rd warning: /tmp/RtmppvlZ6x/R.INSTALL233feb7dc50/rgdal/man/llgrid.Rd:17: missing file link ‘gridat’
        make_EPSG                               html
        nor2k                                   html
        projInfo                                html
        project                                 html
        readGDAL                                html
    Rd warning: /tmp/RtmppvlZ6x/R.INSTALL233feb7dc50/rgdal/man/readGDAL.Rd:136: missing file link ‘flipVertical’
        readOGR                                 html
        showWKT                                 html
        spTransform-methods                     html
        wrappers                                html
        writeOGR                                html
    ** building package indices
    ** installing vignettes
    ** testing if installed package can be loaded
    Error in dyn.load(file, DLLpath = DLLpath, ...) :
      unable to load shared object '/usr/lib64/R/library/rgdal/libs/rgdal.so':
      libgdal.so.20: cannot open shared object file: No such file or directory
    Error: loading failed
    Execution halted
    ERROR: loading failed
    * removing ‘/usr/lib64/R/library/rgdal’
    Warning message:
    In install.packages("rgdal_1.2-5.tar.gz", type = "source", repos = NULL) :
      installation of package ‘rgdal_1.2-5.tar.gz’ had non-zero exit status

Обратите внимание, что предупреждения, которые срабатывают здесь, по-видимому, не являются стопором показа (как сказано на https://groups.google.com/forum/#!topic/batchjobs/TvwTbqrWFyU) Таким образом, кажется, что системные зависимости (GDAL и PROJ) выполняются... зависимости пакета (методы, sp) там также. Однако установка не может найти определенные файлы. Я знаю из stackoverflow, что вы можете указать определенные аргументы для команды install.packages() R... как показано в фрагменте кода выше.. так что это может быть что я не указываю достаточно путей... или что-то еще

Наконец, расположение gdal и proj на старом граничном узле определяется как

  • гдал: /usr/local/lib/libgdal.so.20
  • проект: /usr/local/lib/libproj.so.0 11:26:32

Можете ли вы, ребята, подсказать, куда идти отсюда?


person zwep    schedule 13.04.2017    source источник


Ответы (1)


Я столкнулся с той же проблемой, и в другом потоке для Ubuntu ответ был таким, что rgdal-config дал две точки установки, и это было неправильно, поэтому он удалил одну. В другом потоке решение заключалось в установке libgdal-dev, поскольку они необходимы для установки из исходного кода.

Я на Arch Linux, поэтому ни один из них не был для меня ответом.

Тем не менее, я обнаружил, что для libgdal-dev пакет AUR «python-gdal» дал мне необходимые deps, но критически важным было то, что необязательная зависимость rgdal (которая была установлена ​​без проблем для меня) была mariadb. В ошибках видно, что не удается связаться с mysql_client18..

Итак, я установил maria db, sudo pacman -S mariadb и, наконец, смог установить r-cran-gdal для R. PKGBUILD для r-cran-gdal не обновлен в AUR, но ручное редактирование PKGBUILD и makepkg -si наконец-то сработало.

person Victor Barcelo    schedule 10.02.2018