版本:ubuntu24.04
一开始,尝试运行
/opt/apps/com.oneofd.ofdreader$ ./ofdreader
报错
error while loading shared libraries: libpcre.so.3: cannot open shared object file: No such file or directory
sudo apt update
sudo apt install libpcre3
安装以后一堆报错,类似于这样,当然很多行
./ofdreader: /opt/apps/com.oneofd.ofdreader/lib/libc.so.6: version GLIBC_2.36' not found (required by /lib/x86_64-linux-gnu/libpthread.so.0)
本质上还是这俩有问题:libc.so.6和libgssapi_krb5.so.2
然后尝试用系统的库,不用这个软件里面的库
终端运行
LD_PRELOAD=/lib/x86_64-linux-gnu/libc.so.6:/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 /opt/apps/com.oneofd.ofdreader/ofdreader
发现可以了
然后就是改/opt/apps/com.oneofd.ofdreader/下的ofdreader.sh,只要这里设置了正确的环境变了,也就能正确的运行软件
所以
#!/bin/sh
LD_PRELOAD=/lib/x86_64-linux-gnu/libc.so.6:/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
export LD_PRELOAD
dirname=$(dirname "$0")
exec "$dirname/ofdreader" "$@"
#appname=`basename $0 | sed s,\.sh$,,`
#dirname=`dirname $0`
#tmp="${dirname#?}"
#if [ "${dirname%$tmp}" != "/" ]; then
#dirname=$PWD/$dirname
#fi
#LD_LIBRARY_PATH=$dirname:./lib
#export LD_LIBRARY_PATH
#$dirname/$appname "$@"
把之前的注释掉(万一有用呢),然后
#!/bin/sh
LD_PRELOAD=/lib/x86_64-linux-gnu/libc.so.6:/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
export LD_PRELOAD
dirname=$(dirname "$0")
exec "$dirname/ofdreader" "$@"
重要的是这个,,然后去运行软件,就大功告成了