ubuntu小技巧30--23.10桌面版安装钉钉启动报错undefined symbol: FT_Get_Color_Glyph_Layer

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

ubuntu小技巧30--23.10桌面版安装钉钉启动报错undefined symbol: FT_Get_Color_Glyph_Layer_第1张图片

解決方法

启动异常后,从钉钉的桌面快捷键中找到它启动脚本 /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小技巧30--23.10桌面版安装钉钉启动报错undefined symbol: FT_Get_Color_Glyph_Layer_第2张图片

说明

系统版本: Ubuntu 23.10
钉钉版本: 7.1.0

你可能感兴趣的:(Linux基础操作及使用技巧,钉钉,ubuntu23.10,libcairo.so.2)