libCGAL.so.13: cannot open shared object file: No such file or directory解决

一。问题:could not load library "/usr/local/pgsql/lib/libpgrouting-2.6.so": libCGAL.so.13: cannot open shared object file: No such file or directory解决
 
上述bug代表的是pgrouting找函数库的时候找不到
 
二。主要原因:软链接未生效
 
1.在安装pgrouting的时候,执行环境变量的时候只在当时生效了:export LD_LIBRARY_PATH=/usr/local/pgsql/lib:/usr/local/lib:/usr/local/lib64,然后退出了客户端,环境变量值失效,软链接失效
 
 
2.在升级postgis和geos的时候,执行了ldconfig -v,然之前安装的时候Lib库的环境变量即没有永久保存,也没有写入 /etc/ld.so.conf,重新加载了ldconfig,导致了软链接失效
 
三。解决
 
ldd cd /usr/local/pgsql/lib/libpgrouting-2.6.so
 
 
说明:libCGAL.so.13的链接未生效
 
a.使之前安装pgrouting链接生效
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:/usr/local/lib:/usr/local/lib64
ldconfig /usr/local/lib64
 
b.把lib链接加入ld.so.conf
vi  /etc/ld.so.conf
 
把之前安装pgrouting的链接加入进去
 
 
再次执行ldconfig -v使配置生效
 
 
四。教训
 
1.在生成环境变量的时候,一定要生成永久环境变量
 
2.在往Lib添加路径的时候,一定要把路径写入ld.so.conf
 
 
 
posted @ 2019-08-30 16:44  ejQiu  阅读(1223)  评论(0编辑  收藏  举报