gdalinfo: error while loading shared libraries: libtiledb.so



POST已更新以包含ldd输出,请参见update:

按照这些步骤安装conda,但是有问题。我之前在几个linux实例和Macbook pc上做过同样的程序,现在在一个新的chromebook上测试:

步骤:

从anaconda站点arm64版本下载conda步骤如下:

curl -O https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-aarch64.sh
bash Anaconda3-2021.11-Linux-aarch64.sh 
conda create --name gdal
conda activate gdal
conda install -c conda-forge gdal

完成无问题:

(gdal) neavilag@penguin:~/anaconda3/lib$ which gdalinfo
/home/neavilag/anaconda3/envs/gdal/bin/gdalinfo

运行gdalinfo——version给出错误:

(gdal) neavilag@penguin:~/anaconda3/lib$ gdalinfo --version
gdalinfo: error while loading shared libraries: libtiledb.so.2.2: cannot open shared object file: No such file or directory

提到的文件列在libs文件夹或anaconda3安装中:

(gdal) neavilag@penguin:~/anaconda3/lib$ ls -haltr libtiledb*
-rwxrwxr-x 2 neavilag neavilag 5.0M Jun 25  2021 libtiledb.so.2.2
lrwxrwxrwx 1 neavilag neavilag   16 Apr 17 10:40 libtiledb.so -> libtiledb.so.2.2

Python似乎已经安装并激活了,因为我可以检查版本:

(gdal) neavilag@penguin:~/anaconda3/lib$ python --version
Python 3.7.12
(gdal) neavilag@penguin:~/anaconda3/lib$ which python
/home/neavilag/anaconda3/envs/gdal/bin/python

更新:ldd gdalinfo给出了以下内容,遗憾的是相同的库libtiledb.so.2.2未找到:

(gdal) neavilag@penguin:~$ ldd /home/neavilag/anaconda3/envs/gdal/bin/gdalinfo | grep -i "not found"
libtiledb.so.2.2 => not found

注意:

(gdal) neavilag@penguin:~$ ldd /home/neavilag/anaconda3/envs/gdal/bin/gdalinfo
linux-vdso.so.1 (0x0000007a4c65e000)
libgdal.so.30 => /home/neavilag/anaconda3/envs/gdal/bin/../lib/libgdal.so.30 (0x0000007a4acac000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007a4ab36000)
/lib/ld-linux-aarch64.so.1 (0x0000007a4c62e000)
libcrypto.so.1.1 => /home/neavilag/anaconda3/envs/gdal/bin/../lib/./libcrypto.so.1.1 (0x0000007a4a858000)
libtiledb.so.2.2 => not found
libpoppler.so.91 => /home/neavilag/anaconda3/envs/gdal/bin/../lib/./libpoppler.so.91 (0x0000007a4a534000)
libjson-c.so.4 => /home/neavilag/anaconda3/envs/gdal/bin/../lib/./libjson-c.so.4 (0x0000007a4a512000)
libfreexl.so.1 => /home/neavilag/anaconda3/envs/gdal/bin/../lib/./libfreexl.so.1 (0x0000007a4a4f7000)
libgeos_c.so.1 => /home/neavilag/anaconda3/envs/gdal/bin/../lib/./libgeos_c.so.1 (0x0000007a4a4a2000)
libwebp.so.7 => /home/neavilag/anaconda3/envs/gdal/bin/../lib/./libwebp.so.7 (0x0000007a4a413000)
libkmlbase.so.1 => /home/neavilag/anaconda3/envs/gdal/bin/../lib/./libkmlbase.so.1 (0x0000007a4a3e4000)
libkmldom.so.1 => /home/neavilag/anaconda3/envs/gdal/bin/../lib/./libkmldom.so.1 (0x0000007a4a32d000)

再次检查后,因为这是唯一的"缺失"&;在图书馆里,我有了一个"发现"。,并在conda环境的envs/gdal/lib文件夹中找到它。

用ldd中列出的名称复制了它,这似乎使它工作,对我来说似乎是一个但不是最优雅的解决方案。

cp /home/neavilag/anaconda3/envs/gdal/lib/libtiledb.so /home/neavilag/anaconda3/envs/gdal/lib/libtiledb.so.2.2
(gdal) neavilag@penguin:~$ gdalinfo --version
GDAL 3.4.1, released 2021/12/27

我是这么做的。强制使用tiledb 2.2

conda install gdal libgdal tiledb=2.2

最新更新