操作系统错误:/usr/lib/libgdal.so.20:未定义的符号:sqlite3_column_table_name

问题描述 投票:0回答:2

我已按照教程在我的 Ubuntu 上安装 Geodjango。我正在使用 Django 1.11.2 和 Python 2.7.6、postgres-9.3.2 和 postgis 2.0.3。

我检查了这里和这里,但没有找到解决方案。

但是安装后,当我尝试运行时,出现错误: OSError: /usr/lib/libgdal.so.20: undefined symbol: sqlite3_column_table_name

lgdal = CDLL(lib_path)
self._handle = _dlopen(self._name, mode)
python django postgresql postgis geodjango
2个回答
3
投票

尝试从源代码构建 SQLite

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

我使用最先进的 SQLite,从源代码构建,我遇到过类似的情况并寻找答案,但没有人回答。最后,这个问题解决了。

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


0
投票

特别感谢 > 更淡然

https://blog.csdn.net/qq_38979769/article/details/129723825

下载 sqlite-autoconf-${current_version}.tar.gz 版本无合并

tar -xvf sqlite-autoconf-3420000.tar.gz

cd sqlite-autoconf-3420000/

gedit sqlite3.c

编辑第一个宏定义行并添加定义 SQLITE_ENABLE_COLUMN_METADATA 1 像这样


#ifndef SQLITE_TCLAPI
#  define SQLITE_TCLAPI
#  define SQLITE_ENABLE_COLUMN_METADATA 1
#endif

保存并安装

./configure

make

make uninstall

make install

享受

如果安装损坏重试

sudo apt install qgis qgis-plugin-grass

© www.soinside.com 2019 - 2024. All rights reserved.