根据适应症发现这里。我正在Ubuntu22.04中安装Tile Server
但我发现了一个错误:
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
:
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
文件中设置了:
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
设置为:
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so
然后
sudo ldconfig
但仍然会有错误:
osm2pgsql: error while loading shared libraries: libboost_filesystem.so.1.71.0: cannot open shared object file: No such file or directory
如何解决这个问题?
发布于 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
中找到。
一个快速而肮脏的方法是让我添加一个符号链接:
ln -s libboost_filesystem.so libboost_filesystem.so.1.71.0
但是请记住,这会造成库的不一致,因为您希望使用旧的库版本执行代码,而较新的版本可能会删除代码破坏的内容。
一种更干净的方法是安装旧的boost版本,但这是不可能通过apt实现的,因为版本1.71是针对ubuntu22.04的,这是过时的。
https://askubuntu.com/questions/1434568
复制相似问题