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

macOS下手动卸载旧版glib及meson依赖检测方法咨询

问题解决:meson检测到旧版glib(macOS 12.5)

能否手动卸载旧版glib?

绝对不能手动卸载系统预装的旧版glib(2.36.0)。macOS系统的核心组件(比如Finder、Terminal、系统框架)都依赖这个版本的glib,强行卸载会导致系统崩溃,甚至无法正常启动。

brew安装的glib(2.72.3)是独立于系统版本的,两者可以共存,你需要做的是让meson优先使用brew提供的新版,而非卸载旧版。

meson检测glib版本的方式

meson依赖pkg-config工具来查找glib的相关信息(包括版本号、编译链接参数):

  • 当meson执行dependency('glib-2.0')时,会调用pkg-config查询glib-2.0.pc配置文件
  • pkg-config会按照PKG_CONFIG_PATH环境变量的顺序搜索.pc文件,先找到的文件对应的版本会被meson采用
  • 系统预装的glib的.pc文件通常在/usr/lib/pkgconfig,而brew安装的在$(brew --prefix glib)/lib/pkgconfig,如果系统路径在PKG_CONFIG_PATH的优先级更高,就会检测到旧版

解决方法:让meson优先使用brew的glib

1. 临时配置环境变量

在执行meson编译前,先设置环境变量让pkg-config优先找到brew的glib:

# 设置PKG_CONFIG_PATH,优先指向brew的glib配置文件路径
export PKG_CONFIG_PATH=$(brew --prefix glib)/lib/pkgconfig:$PKG_CONFIG_PATH
# 同时确保brew的pkg-config被优先调用(避免使用系统自带的pkg-config)
export PATH=$(brew --prefix)/bin:$PATH

2. 验证配置是否生效

执行以下命令,确认输出为2.72.3:

pkg-config --modversion glib-2.0

3. 重新运行meson配置

验证通过后,重新执行meson的setup命令即可:

meson setup build --reconfigure

备选方案:直接给meson指定pkg-config路径

也可以在meson setup时直接通过参数指定pkg-config路径,无需临时设置环境变量:

meson setup build --pkg-config-path=$(brew --prefix glib)/lib/pkgconfig

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:45:36