Ubuntu 22.04 LTS安装Skia(Aseprite依赖)Ninja编译报错求助
Skia编译错误修复(Ubuntu 22.04 LTS 适配Aseprite)
问题场景
在Ubuntu 22.04 LTS上参照Skia官方Linux安装流程编译Skia(用于Aseprite)时,执行编译命令 ninja -C out/Release-x64 skia modules 触发以下错误:
ninja: Entering directory `out/Release-x64' ninja: error: '../../third_party/externals/freetype/src/autofit/autofit.c', needed by 'obj/third_party/externals/freetype/src/autofit/libfreetype2.autofit.o', missing and no known rule to make it
当前环境版本:
- clang:
Ubuntu clang version 14.0.0-1ubuntu1.1 - cmake:
cmake version 3.28.2
可行解决步骤
1. 补全缺失的Freetype子模块
错误核心是Freetype源码文件缺失,大概率是Skia的git子模块未同步完整。执行以下命令拉取所有子模块:
git submodule sync git submodule update --init --recursive
如果网络拉取失败,可手动将Freetype仓库克隆到Skia目录下的 third_party/externals/freetype 路径。
2. 清理编译缓存后重新配置
若子模块已完整,可能是旧编译缓存导致异常,按以下步骤重置:
- 删除现有编译输出目录:
rm -rf out/Release-x64
- 重新运行Skia配置脚本(替换为你之前使用的参数):
bin/gn gen out/Release-x64 --args='你的编译参数'
- 再次执行编译命令:
ninja -C out/Release-x64 skia modules
3. 确认系统依赖包齐全
Ubuntu编译Skia需要基础依赖支持,执行以下命令安装缺失的依赖:
sudo apt install build-essential libfontconfig1-dev libgl1-mesa-dev libx11-dev libxext-dev libxi-dev libxrender-dev libxcb1-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-present-dev libxcb-randr0-dev libxcb-shm0-dev libxcb-xfixes0-dev
内容的提问来源于stack exchange,提问作者VladTbk321
相关产品推荐
相关产品推荐

