问题描述
下载深信服linux版本安装包后,安装完成后,双击应用图标没反应。
使用命令行启动查看错误信息:
> /usr/share/sangfor/EasyConnect/EasyConnect
(EasyConnect:8667): Pango-ERROR **: 15:32:54.991: Harfbuzz version too old (1.3.1)
问题定位
按照提示说明Harfbuzz库版本太旧,通过packages.ubuntu.com
查询没有找到libharfbuzz
库。
那么反过来,将pango
库版本降低,猜测也是可以的。(EasyConnect自身也是旧版本)
stackexchange.com
上也搜到了具体的操作步骤。
问题修复
- 下载libpango相关3个库的低版本.deb文件,选择
1.40.14
版本。
wget http://security.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpango-1.0-0_1.40.14-1ubuntu0.1_amd64.deb .
wget http://security.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpangocairo-1.0-0_1.40.14-1ubuntu0.1_amd64.deb .
wget http://security.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpangoft2-1.0-0_1.40.14-1ubuntu0.1_amd64.deb .
- 从.deb文件中解压出对应的三个.so文件
- 将三个.so文件放入
/usr/share/sangfor/EasyConnect/
目录下
➜ ~ ls -l /usr/share/sangfor/EasyConnect/libpango*
-rw-r--r-- 1 root root 313264 4月 20 17:56 /usr/share/sangfor/EasyConnect/libpango-1.0.so.0
-rw-r--r-- 1 root root 51096 4月 20 17:56 /usr/share/sangfor/EasyConnect/libpangocairo-1.0.so.0
-rw-r--r-- 1 root root 87904 4月 20 17:56 /usr/share/sangfor/EasyConnect/libpangoft2-1.0.so.0
- 再次运行OK。
解决方案分析
当EasyConnect
运行时,如果有多个相同的依赖库,首先加载其所在目录下的依赖库,然后才从/usr/lib/x86_64-linux-gnu/
目录加载。所以将旧的依赖库放入应用程序目录下,即可解决其自身错误,同时也不会影响其他应用。
参考列表
-
EasyConnect 下载地址:http://download.sangfor.com.cn/download/product/sslvpn/pkg/linux_767/EasyConnect_x64_7_6_7_3.deb
-
StackExchange上的相关回复
https://unix.stackexchange.com/questions/589993/pango-error-harfbuzz-version-too-old -
EasyConnect Docker:
https://github.com/Hagb/docker-easyconnect
网友评论