Linux 安装 swig 踩过的坑,基于无root权限解决方案
因为是申请的账号去服务器上跑深度学习代码,所以没有最高权限。
ubuntu 20.4
安装各种东西都是用 源码 安装,一切用sudo的命令都不行,例如swig。
用源码安装swig的过程中,当
./config
make && make install
之后,我以为完成了,结果一看swig -version
好家伙,来了一个错误。
这个错误全名是:
swig -version
swig: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
目前国内的解决方法大多数是基于sudo的软连接命令。
我没有权限,直接放弃。然后去找没有权限的解决方法。
看来看去都是用软连接解决。但是所有的软连接解决方案好像都要用到最高权限。
然后各种解决方法都不行。这个时候咋办?当然是“科学上网”了。
科学上网发现关于此问题的回答很少,于是我换了另外的方法,改为搜索:‘Ubuntu libpcre.so.1 => not found‘
google下的第3个就是对于我的解决办法。
So to correct this there are a few choices.
- Check /usr/lib/x86_64-linux-gnu/ for any version of libpcre.so.x. In our case we found libpcre.so.3 so the quickest solution is simply to create a link…
ln -s /usr/lib/x86_64-linux-gnu/libpcre.so.3 /usr/lib/x86_64-linux-gnu/libpcre.so.1
- There may be a library in another directory…
$ find / -name libpcre.so.1
/usr/local/anaconda/pkgs/pcre-8.43-he6710b0_0/lib/libpcre.so.1
/usr/local/anaconda/pkgs/pcre-8.44-he6710b0_0/lib/libpcre.so.1
/usr/local/anaconda/lib/libpcre.so.1
/libpcre.so
so linking to one of these should also work…
ln -s /usr/local/anaconda/lib/libpcre.so.1 /usr/lib/x86_64-linux-gnu/libpcre.so.1
Or the environment variable LD_LIBRARY_PATH can also be set to include the path to one of these…
export LD_LIBRARY_PATH=/usr/local/anaconda/lib/:$LD_LIBRARY_PATH
翻译:
你有三个解决方案:
前两个还是需要最高权限
最后一个相当于添加一个路径。
我的方法是
输入
vim ~/.bashrc
进入,按下insert(f12)进入编辑模式,
在最后一行添加
export LD_LIBRARY_PATH=/home/student1/xxxx/anaconda3/lib/:$LD_LIBRARY_PATH
这里根据自己的anaconda安装目录修改
然后
source ~/.bashrc
就可以了
输入swig -version
SWIG Version 4.0.2
Compiled with g++ [x86_64-pc-linux-gnu]
Configured options: +pcre
泪流满面
最后贴上参考的英文链接
https://tickets.dominodatalab.com/hc/en-us/articles/360058039432-uwsgi-error-while-loading-shared-libraries-libpcre-so-1-cannot-open-shared-object-file-No-such-f?mobile_site=true