swig: error while loading shared libraries: libpcre.so.1: cannot open shared object file 亲测解决方法

您所在的位置:网站首页 errorloadingos解决方法 swig: error while loading shared libraries: libpcre.so.1: cannot open shared object file 亲测解决方法

swig: error while loading shared libraries: libpcre.so.1: cannot open shared object file 亲测解决方法

2023-09-11 01:43| 来源: 网络整理| 查看: 265

安装完毕 PCRE 和 swig 之后,执行 swig -version 发现报错 如下:

swig: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory 亲测的一个解决方法:(普通用户,不使用 sudo root 权限)

思路: 在服务器中找到 libpcre.so.1 相关文件,copy 到 swig 的安装 bin 目录下; 然后 把该目录 加入 环境变量中即可;

我的解决示例过程如下: # 在自己用户目录下 | 或者 root 根目录下 进行全局搜索 find | grep libpcre 可以找到 libpcre.so.1 ,如下:

1

# copy 到 swig bin 目录下 cd ~/usr/swig/usr/local/bin/ cp /home/moli/anaconda3/pkgs/pcre-8.39-1/lib/libpcre.so* . ls ccache-swig libpcre.so libpcre.so.1 libpcre.so.1.2.7 swig # 检查 so 库的依赖,发现 not found ldd swig linux-vdso.so.1 => (0x00007ffd0af18000) libpcre.so.1 => not found libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb250f01000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb250ceb000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb250921000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb250618000) /lib64/ld-linux-x86-64.so.2 (0x00007fb251283000) # 临时解决方法: export LD_LIBRARY_PATH=. # 再检查发现 可行 ldd swig linux-vdso.so.1 => (0x00007ffd1e1c6000) libpcre.so.1 => ./libpcre.so.1 (0x00007f191f229000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f191eea7000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f191ec91000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f191e8c7000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f191e5be000) /lib64/ld-linux-x86-64.so.2 (0x00007f191f46c000) # 然后编辑配置文件,把动态库路径添加到 .bashrc 中 vim ~/.bashrc # 动态库 路径添加到 自己的环境变量 export LD_LIBRARY_PATH="/home/zhijian/usr/swig/usr/local/bin:$LD_LIBRARY_PATH" # 使配置生效 . ~/.bashrc 然后再次检查 so 文件的依赖,的确OK ldd swig linux-vdso.so.1 => (0x00007ffc86d89000) libpcre.so.1 => /home/zhijian/usr/swig/usr/local/bin/libpcre.so.1 (0x00007efc702dd000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007efc6ff5b000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007efc6fd45000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007efc6f97b000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007efc6f672000) /lib64/ld-linux-x86-64.so.2 (0x00007efc70520000)

最终 swig -version 正确执行:

# 查看 安装版本,错误消失 swig -version SWIG Version 4.0.2 Compiled with g++ [x86_64-pc-linux-gnu] Configured options: +pcre Please see http://www.swig.org for reporting bugs and further information # 查看帮助 swig -help 其它搜索到的可考虑的解决方法

大家安装的 pcre 版本可能不一致,那么 libpcre.so.n 会不一样,目测该方法也可考虑:

5



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3