You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译Linux Mint Cinnamon可引导光盘镜像(ISO)及解决cjs-1.0依赖缺失问题

解决Cinnamon构建中cjs-1.0依赖未找到的问题

我在WSL环境下构建桌面环境源码时也碰到过类似的依赖坑,系统默认安装的包往往只带运行时文件,缺少构建必需的头文件和配置信息。针对你的情况,可以按以下步骤逐一排查解决:

1. 安装CJS的开发包

你安装的cjs是运行时包,但Meson构建需要的是开发文件(头文件、pkg-config配置),这类文件通常在单独的-dev包中。在Ubuntu 20.04(你的系统版本)里,对应的包是libcjs-dev,执行以下命令安装:

sudo apt update && sudo apt install libcjs-dev

安装完成后重新运行meson build试试。

2. 手动验证pkg-config能否识别cjs-1.0

如果安装开发包后仍报错,先手动检查pkg-config是否能找到这个依赖:

pkg-config --cflags --libs cjs-1.0
  • 如果命令返回正常的编译/链接参数,说明依赖没问题,大概率是Meson缓存导致的,删除build目录重新构建即可:
    rm -rf build && meson build
    
  • 如果命令报错“Package cjs-1.0 was not found”,可能是pkg-config搜索路径缺失。如果之前手动安装过CJS到/usr/local这类非标准目录,可以临时添加路径:
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
    
    再重新验证和构建。

3. 从源码构建匹配版本的CJS

有时候系统提供的CJS版本和Cinnamon 5.4.11所需版本不兼容,这时候最好从源码构建对应版本的CJS:

  • 克隆CJS仓库:
    git clone https://github.com/linuxmint/cjs.git
    
  • 切换到和Cinnamon匹配的版本(Cinnamon 5.4.x通常对应CJS 5.4.x):
    cd cjs && git checkout 5.4.11
    
  • 用Meson构建并安装:
    meson build && cd build
    ninja && sudo ninja install
    

安装完成后回到Cinnamon目录重新构建。

4. 升级Meson版本

你当前使用的Meson 0.53.2版本比较老旧,旧版本可能对部分依赖的检测逻辑存在问题。可以用pip升级到最新稳定版:

pip3 install --upgrade meson

如果担心影响系统全局环境,也可以安装到用户目录:

pip3 install --user meson

之后运行~/.local/bin/meson build来使用新版本构建。

5. 检查并初始化Git子模块

有些项目会把依赖作为Git子模块嵌入仓库,你可以检查Cinnamon仓库是否有未初始化的子模块:

cd /home/matheus/cinnamon
git submodule update --init --recursive

如果CJS是作为子模块存在的,这会自动拉取对应版本的代码,Meson可能会优先使用本地子模块的依赖。


内容的提问来源于stack exchange,提问作者Hydroper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 19:07:47