Ubuntu22.04部署Tile Server时libboost_filesystem.so.1.71.0缺失求助
解决osm2pgsql依赖libboost_filesystem.so.1.71.0缺失问题
以下是几种可行的解决方法,按推荐优先级排序:
方法一:重新编译osm2pgsql适配当前Boost版本
这是最稳妥的方案,让osm2pgsql直接链接系统已安装的1.74.0版本Boost库:
- 卸载现有osm2pgsql(若通过apt安装):
sudo apt remove --purge osm2pgsql - 安装编译依赖:
sudo apt install build-essential cmake libboost-all-dev libpq-dev libproj-dev liblua5.3-dev libsqlite3-dev - 克隆并编译osm2pgsql源码:
git clone https://github.com/openstreetmap/osm2pgsql.git cd osm2pgsql mkdir build && cd build cmake .. make -j$(nproc) && sudo make install
方法二:创建版本兼容软链接
通过软链接让系统将1.74.0版本识别为1.71.0版本(临时方案,可能存在兼容性风险):
- 确认1.74.0库文件位置:
find /usr/lib -name "libboost_filesystem.so.1.74.0" - 创建软链接(假设路径为
/usr/lib/x86_64-linux-gnu/):sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.74.0 /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.71.0 - 更新系统库缓存:
sudo ldconfig
方法三:指定环境变量执行命令
之前配置的LD_LIBRARY_PATH可能因sudo -u _renderd重置环境变量而失效,可直接在命令中指定:
sudo -u _renderd LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu 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
内容的提问来源于stack exchange,提问作者Raphael10
相关产品推荐
相关产品推荐

