![在 pkg-config 搜索路径中未找到软件包 cairo](https://linux22.com/image/1381350/%E5%9C%A8%20pkg-config%20%E6%90%9C%E7%B4%A2%E8%B7%AF%E5%BE%84%E4%B8%AD%E6%9C%AA%E6%89%BE%E5%88%B0%E8%BD%AF%E4%BB%B6%E5%8C%85%20cairo.png)
在 Mac OS X 1.7.5 / Lion 上
我正在尝试使用 homebrew 安装 cairo 包
brew install cairo => PASSED
==> Downloading http://cairographics.org/releases/cairo-1.12.16.tar.xz
Already downloaded: /Library/Caches/Homebrew/cairo-1.12.16.tar.xz
==> ./configure --prefix=/usr/local/Cellar/cairo/1.12.16 --with-x --enable-gobject=yes
==> make install
==> Caveats
This formula is keg-only: so it was not symlinked into /usr/local.
Mac OS X already provides this software in versions before Mountain Lion.
Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:
LDFLAGS: -L/usr/local/opt/cairo/lib
CPPFLAGS: -I/usr/local/opt/cairo/include
==> Summary
答案1
ln -s /usr/local/Cellar/cairo/1.12.16/lib/pkgconfig/cairo.pc /usr/local/lib/pkgconfig/cairo.pc
解决了我的问题。
答案2
我刚刚遇到这个问题并且能够解决它(至少到目前为止)。
This formula is keg-only: so it was not symlinked into /usr/local.
据我所知,这意味着 cairo 已由您的系统安装(实际上,它安装在 /usr/X11 中),而 Homebrew 不想干扰它。我只能假设它与确保预先存在的软件包找到正确的版本有关。正如 Homebrew FAQ 中解释的那样:“我们不会出于愚蠢的原因这样做”。
Homebrew 有一个工具link
,它可以简写您的答案。
$ brew link cairo --force
在这种情况下,我们需要传递--force
,但通常没有必要。Brew 也有unlink
,这很好。
我遇到了另一个问题,我认为这与主题并不太远。Cairo 仅依赖于我的 /usr/X11 文件夹中的文件,这意味着它link
不起作用。现在是时候导出 PKG_CONFIG_PATH 了。
$ export PKG_CONFIG_PATH=/usr/x11/lib/pkgconfig
然而,这导致了一个不同的问题,pkgconfig 现在在 /usr/x11 中找到 Cairo前我通过 brew 安装的 Cairo (并手动链接到)。为了最终开始pkg-config --cflags gtkmm-3.0
工作,我必须确保 PKG_CONFIG_PATH 首先查看 /usr/local/lib/pkgconfig:
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/:/usr/X11/lib/pkgconfig