我正在尝试安装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中运行良好,现在已经坏了......
任何帮助表示赞赏!感谢。
-Caitlin
答案 0 :(得分:1)
当我尝试升级GDAL时偶然发现了此错误。解决方法是ENABLE_COLUMN_METADATA
,当我配置sqlite进行安装时
sudo CFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1" ./configure
有关更多详细信息,请参见sqlite Compile-time options
答案 1 :(得分:0)
听起来像共享库的问题,在不使用包管理器的情况下在系统中安装/更新任何内容? (我相信它很合适?)
你的系统中的libgdal.so.1是针对某些版本的libsqlite库编译的,现在你更新了其他版本后,已经改变但是libgdal仍然是同一个文件。
我从未使用过Ubuntu,但在Linux中我使用(arch)这是不鼓励部分更新的原因(例如,只更新一个程序)
所以我建议尝试完整的系统更新,或者至少更新sqllite库。