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

MacOS 11.7.10下Homebrew升级libheif报错求助

解决MacOS 11.7.10下libheif升级时gdk-pixbuf-2.0找不到的问题

问题概况

在MacOS 11.7.10系统中升级libheif从1.16.2到1.18.2时,CMake报错无法找到gdk-pixbuf-2.0包。尽管在.zshrc中配置了PKG_CONFIG_PATH,但brew升级时的环境变量并未包含该路径,进而触发安装目标错误。

报错信息

==> Upgrading libheif
  1.16.2 -> 1.18.2
==> cmake -S . -B build -DWITH_RAV1E=OFF -DWITH_DAV1D=OFF -DWITH_SvtEnc=OFF -DCMAKE_INSTALL_RPATH=@loader_path/../lib
Last 15 lines from /Users/heiko/Library/Logs/Homebrew/libheif/01.cmake:
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2")
-- Checking for module 'gdk-pixbuf-2.0'
--   Found gdk-pixbuf-2.0, version 2.42.12
Package gdk-pixbuf-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gdk-pixbuf-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gdk-pixbuf-2.0' found
CMake Error at gdk-pixbuf/CMakeLists.txt:19 (install):
  install TARGETS given no LIBRARY DESTINATION for module target
  "pixbufloader-heif".

当前已配置的PKG_CONFIG_PATH

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/local/Cellar/gdk-pixbuf/2.42.12/include/gdk-pixbuf-2.0:/usr/local/Cellar/gdk-pixbuf/2.42.12/lib"

brew运行时的PKG_CONFIG_PATH片段

...
==> ENV
...
PKG_CONFIG_PATH: /usr/local/opt/brotli/lib/pkgconfig:/usr/local/opt/highway/lib/pkgconfig:/usr/local/opt/imath/lib/pkgconfig:/usr/local/opt/jpeg-turbo/lib/pkgconfig:/usr/local/opt/libpng/lib/pkgconfig:/usr/local/opt/xz/lib/pkgconfig:/usr/local/opt/lz4/lib/pkgconfig:/usr/local/opt/zstd/lib/pkgconfig:/usr/local/opt/libtiff/lib/pkgconfig:/usr/local/opt/little-cms2/lib/pkgconfig:/usr/local/opt/openexr/lib/pkgconfig:/usr/local/opt/webp/lib/pkgconfig:/usr/local/opt/jpeg-xl/lib/pkgconfig:/usr/local/opt/libvmaf/lib/pkgconfig:/usr/local/opt/aom/lib/pkgconfig:/usr/local/opt/libde265/lib/pkgconfig:/usr/local/opt/pcre2/lib/pkgconfig:/usr/local/opt/mpdecimal/lib/pkgconfig:/usr/local/opt/openssl@3/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig:/usr/local/opt/sqlite/lib/pkgconfig:/usr/local/opt/python@3.12/lib/pkgconfig:/usr/local/opt/glib/lib/pkgconfig:/usr/local/opt/x265/lib/pkgconfig:/usr/local/opt/shared-mime-info/share/pkgconfig
...

解决方案

1. 直接在升级命令中传递正确的PKG_CONFIG_PATH

brew运行时会重置环境变量,不会读取.zshrc中的配置。需要在升级命令前直接指定包含gdk-pixbuf.pc文件的路径(注意:pkg-config需要的是.pc文件所在目录,不是include或lib目录):

PKG_CONFIG_PATH="/usr/local/Cellar/gdk-pixbuf/2.42.12/lib/pkgconfig:$PKG_CONFIG_PATH" brew upgrade libheif --verbose

2. 修复gdk-pixbuf的brew链接

如果gdk-pixbuf的.pc文件未被正确链接到/usr/local/lib/pkgconfig,执行以下命令强制重新链接:

brew link gdk-pixbuf --force

链接完成后,直接运行brew upgrade libheif --verbose即可,此时brew会自动识别到gdk-pixbuf的配置。

3. 修正.zshrc中的PKG_CONFIG_PATH配置(可选)

如果后续需要让其他工具也能识别gdk-pixbuf,修正.zshrc中的路径为正确的pkgconfig目录:

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/local/Cellar/gdk-pixbuf/2.42.12/lib/pkgconfig"

执行source ~/.zshrc生效,但此配置依然不会被brew升级过程继承。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:07:19