首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >libboost_filesystem.so.1.71.0:无法打开共享对象文件:没有这样的文件或目录

libboost_filesystem.so.1.71.0:无法打开共享对象文件:没有这样的文件或目录
EN

Ask Ubuntu用户
提问于 2022-10-09 13:40:13
回答 1查看 1.7K关注 0票数 0

根据适应症发现这里。我正在Ubuntu22.04中安装Tile Server

但我发现了一个错误:

代码语言:javascript
运行
复制
raphy@pc:~$ sudo -u _renderd osm2pgsql -d gis --create --slim  -G --hstore --tag-transform-script ./OSM_src/openstreetmap-carto/openstreetmap-carto.lua -C 2500 --number-processes 1 -S ./OSM_src/openstreetmap-carto/openstreetmap-carto.style ./OSM_src/data/azerbaijan-latest.osm.pbf
osm2pgsql: error while loading shared libraries: libboost_filesystem.so.1.71.0: cannot open shared object file: No such file or directory

现在的libboost库是1.74.0

代码语言:javascript
运行
复制
raphy@pc:~$ sudo apt install libboost-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libboost-dev is already the newest version (1.74.0.3ubuntu7).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

raphy@pc:/usr/lib/x86_64-linux-gnu$ ls -lah | grep libboost_filesystem.so
lrwxrwxrwx   1 root root    29 mar 16  2022 libboost_filesystem.so -> libboost_filesystem.so.1.74.0
-rw-r--r--   1 root root  123K mar 16  2022 libboost_filesystem.so.1.74.0

下面是在这里找到的指示:如何设置LD_图书馆_永久的道路?,我在.bashrc文件中设置了:

代码语言:javascript
运行
复制
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/libboost_filesystem.so"

而且,在这里找到的指示符之后:https://serverfault.com/questions/201709/how-to-set-ld-library-path-in-ubuntu,我已经将/etc/ld.so.conf.d/libboost.conf设置为:

代码语言:javascript
运行
复制
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so

然后

代码语言:javascript
运行
复制
sudo ldconfig

但仍然会有错误:

osm2pgsql: error while loading shared libraries: libboost_filesystem.so.1.71.0: cannot open shared object file: No such file or directory

如何解决这个问题?

EN

回答 1

Ask Ubuntu用户

发布于 2023-01-12 14:59:05

此错误消息表示未找到共享库libboost_filesystem.so.1.71.0。这是因为Ubuntu22.04附带了boost 1.74.0,因此只有文件libboost_filesystem.so.1.74.0存在。这些库可以在/usr/lib/x86_64-linux-gnu中找到。

一个快速而肮脏的方法是让我添加一个符号链接:

代码语言:javascript
运行
复制
ln -s libboost_filesystem.so libboost_filesystem.so.1.71.0 

但是请记住,这会造成库的不一致,因为您希望使用旧的库版本执行代码,而较新的版本可能会删除代码破坏的内容。

一种更干净的方法是安装旧的boost版本,但这是不可能通过apt实现的,因为版本1.71是针对ubuntu22.04的,这是过时的。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1434568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档