【问题标题】:libgdal.so.1: undefined symbol: sqlite3_column_table_namelibgdal.so.1:未定义符号:sqlite3_column_table_name
【发布时间】:2018-06-18 13:52:50
【问题描述】:

我正在尝试将 openstreetmap 导入 postgresql, 当我执行命令 CREATE EXTENSION postgis 时;它返回了这个错误,

错误:无法加载库 “/usr/lib/postgresql/9.5/lib/rtpostgis-2.2.so”:/usr/lib/libgdal.so.1: 未定义符号:sqlite3_column_table_name

有人知道如何解决吗?

【问题讨论】:

  • 看起来没有安装 GDAL 的要求之一。 ldd /usr/lib/libgdal.so.1 有问题吗?
  • 我没有看到任何错误,它只是列出了依赖项:linux-vdso.so.1 => (0x00007ffde6dfb000) libarmadillo.so.6 => /usr/lib/libarmadillo.so.6 (0x00007f56705f6000) libproj.so.9 => /usr/lib/x86_64-linux-gnu/libproj.so.9 (0x00007f567039b000) libpoppler.so.58 => /usr/lib/x86_64-linux-gnu/libpoppler.so .58 (0x00007f566ff1c000) libfreexl.so.1 => /usr/lib/x86_64-linux-gnu/libfreexl.so.1 (0x00007f566fd13000)
  • 那么可能 PostGIS 是使用与您安装的不同的 GDAL 库构建的。
  • 是的,我想你说得对,我安装了另一个版本的 GDAL,现在错误是提到了一个新的行号:could not load library "/usr/lib/postgresql/9.5/ lib/rtpostgis-2.4.so": /usr/lib/libgdal.so.20:

标签: postgresql sqlite postgis


【解决方案1】:

您是否从源代码构建 SQLite?您忘记启用列元数据,编译时使用

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

享受吧!

参考 - https://www.sqlite.org/compile.html#enable_column_metadata

【讨论】:

  • 这有帮助。 @Ganesh
【解决方案2】:

在 Ubuntu 上安装不同版本的 GDAL 并没有解决问题。 我注意到该库在 MacOS 上运行良好,所以我安装了 Linuxbrew,然后我通过 Brew 安装了 GDAL,现在它就像魅力一样工作。

1- http://linuxbrew.sh/
2- sudo apt-get remove gdal-bin
3- brew install gdal

【讨论】:

    【解决方案3】:

    如果使用 Anaconda,你可以试试这个:

    conda update sqlite
    

    【讨论】:

      猜你喜欢
      • 2018-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-26
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多