【问题标题】:Problems with trying to to install rgdal package in R on Linux尝试在 Linux 上的 R 中安装 rgdal 包的问题
【发布时间】:2020-08-27 12:42:38
【问题描述】:

我正在尝试将 R(R 版本 3.2.4 修订版)包“rgdal”安装到我的 Linux Ubuntu 14.04 上,但该包在尝试加载依赖项时遇到困难,特别是 sqlite。

错误如下:

checking for gdal.h... yes
checking gdal: linking with --libs only... no
checking gdal: linking with --libs and --dep-libs... no
/usr/lib/libgdal.so: undefined reference to `sqlite3_column_table_name'
collect2: error: ld returned 1 exit status

我按照here 的说明更新了 GDAL/OGR,因为我认为这可能是问题所在。现在,当我在终端中输入 gdalinfo 或 ogrinfo 时,会出现类似的错误:

gdalinfo: symbol lookup error: /usr/lib/libgdal.so.1: undefined 
symbol: sqlite3_column_table_name

当我查看我的 usr/local/lib 时,会出现以下 sqlite 库:

libsqlite3.a libsqlite3.la libsqlite3.so libsqlite3.so.0   
libsqlite3.so.0.8.6

有趣的是,这个包上周在 R 中运行良好,现在坏了......

任何帮助表示赞赏!谢谢。

-凯特琳

【问题讨论】:

    标签: r linux sqlite ubuntu gdal


    【解决方案1】:

    当我尝试升级 GDAL 时偶然发现了这个错误。当我配置 sqlite 进行安装时,解决方法是 ENABLE_COLUMN_METADATA

    sudo CFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1" ./configure
    

    查看sqlite Compile-time options了解更多详情

    【讨论】:

      【解决方案2】:

      听起来是共享库有问题,是否在不使用包管理器的情况下安装/更新系统中的任何内容? (我相信它合适吗?)

      您系统中的 libgdal.so.1 是针对某些版本的 libsqlite 库编译的,现在在您更新其他内容后,这些库已更改,但 libgdal 仍然是同一个文件。

      我从未使用过 Ubuntu,但在我使用 (arch) 的 Linux 中,这就是不鼓励部分更新的原因(例如,只更新一个程序)

      所以我建议尝试完整的系统更新,或者至少更新 sqllite 库。

      【讨论】:

      • 感谢您的回复。我没有用包管理器安装任何东西(它很合适)。在这一点上,我将尝试清除然后重新安装 libgdal 和 libsqlite,我们将看到它是如何进行的。
      • 祝你好运。我发现this page 对 ubuntu 中的 R 有很好的解释。似乎他们的存储库中有很多软件包,我认为在可能的情况下使用 apt 从那里安装软件包是个好主意。这样可以减少将来出现此类问题的可能性。
      猜你喜欢
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      • 1970-01-01
      • 2019-10-23
      • 2018-12-01
      • 2021-02-25
      相关资源
      最近更新 更多