ubuntu小技巧30-- 23.10桌面版安装钉钉启动报错undefined symbol: FT_Get_Color_Glyph_Layer
- 介绍
- 解決方法
- 说明
介绍
近期在电脑上安装了 ubuntu 23.10桌面版本, 安装最新版钉钉后无法正常打开软件,报错 undefined symbol: FT_Get_Color_Glyph_Layer ,具体如下
xg@xghome:~/Desktop$ bash /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
ubuntu
ubuntu branch
preload_libs=
./com.alibabainc.dingtalk: symbol lookup error: /lib/x86_64-linux-gnu/libcairo.so.2: undefined symbol: FT_Get_Color_Glyph_Layer
解決方法
启动异常后,从钉钉的桌面快捷键中找到它启动脚本 /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
粗略看了下脚本,发现它会根据不同的系统和 libc等文件选择性预加载一些特定的库,因此猜测 ubuntu 23.10 新版本的库和老版本的库功能不一致导致。
进一步查看 22.04和23.10的 /lib/x86_64-linux-gnu/libcairo.so.2 , 发现 ubuntu22.04 版本对应 libcairo.so.2.11600.0 , 而ubuntu23.10对应libcairo.so.2.11800.0 ,因此考虑将22.04 的库文件放在钉钉预加载目录,让其使用22.04的库libcairo.so.2.11600.0 ,测试后发现可以正常跑起来。
步骤如下:
提前预装22.04桌面版系统,从 22.04 版本的机器上拷贝库文件到 7.1.0-Release.31017 目录,并新建好对应的软链接
sudo mv libcairo.so.2.11600.0 /opt/apps/com.alibabainc.dingtalk/files/7.1.0-Release.31017/
sudo ln -s libcairo.so.2.11600.0 libcairo.so.2
chmod 777 libcairo.so.2.11600.0
配置好之后就可以正常打开软件了
说明
系统版本: Ubuntu 23.10
钉钉版本: 7.1.0