【问题标题】:Package cairo was not found in the pkg-config search path在 pkg-config 搜索路径中找不到包 cairo
【发布时间】:2013-10-10 14:36:24
【问题描述】:

在 Mac OS X 1.7.5 / Lion 上

我正在尝试使用自制软件安装 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
????  /usr/local/Cellar/cairo/1.12.16: 105 files, 8.0M, built in 2.5 minutes

当我尝试编译我的代码时,我仍然得到这个:

+++ Precompile
Package cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo.pc'
to the PKG_CONFIG_PATH environment variable
Package 'cairo', required by 'pangocairo', not found

所以我相应地调整了我的 PKG_CONFIG_PATH

 PKG_CONFIG_PATH=/usr/local/opt/cairo/lib/pkgconfig/:/usr/local/lib/pkgconfig:/usr/X11/lib/pkgconfig/:

(来源 .bash_profile)

尝试再次编译,但我得到完全相同的错误。

已验证该文件是否存在于该 pkgconfig 目录中...确实存在。

ls /usr/local/opt/cairo/lib/pkgconfig/ 
cairo-fc.pc           cairo-gobject.pc      cairo-png.pc          cairo-quartz-font.pc  cairo-script.pc       cairo-xcb-shm.pc      cairo-xlib-xrender.pc cairo.pc
cairo-ft.pc           cairo-pdf.pc          cairo-ps.pc           cairo-quartz.pc       cairo-svg.pc          cairo-xcb.pc          cairo-xlib.pc

关于这里出了什么问题的任何线索?

更新

cairo.pc 位于我系统中的太多位置。我尝试使用我的 pgg 配置路径中的每个位置都没有成功

find /usr -name cairo.pc 
/usr/local/Cellar/cairo/1.12.16/lib/pkgconfig/cairo.pc
/usr/X11/lib/pkgconfig/cairo.pc

pkg-config --variable pc_path pkg-config
/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/pkgconfig

【问题讨论】:

    标签: macos homebrew cairo


    【解决方案1】:

    注意:仅适用于 Ubuntu。

    解决我的问题更容易。只是没有正确安装 Ubuntu 依赖项,您可以在此处找到说明:

    https://github.com/LearnBoost/node-canvas/wiki

    这对我有用:

    sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
    

    【讨论】:

    • 当您投反对票时,请留下关于什么不起作用的评论,以便我们改进答案。简单地投票对任何人都没有用。
    • apt-get 不适用于 mac
    • 对,对于 mac 我不知道,但我想它要么安装等效的那些库,要么问题完全不同。
    • 并非如此。 mac 中没有直接等效的那些包
    【解决方案2】:

    ln -s /usr/local/Cellar/cairo/1.12.16/lib/pkgconfig/cairo.pc /usr/local/lib/pkgconfig/cairo.pc

    解决了我的问题

    【讨论】:

    • 您好,我的问题与您的问题相似,仅当我执行您的命令时,它说该文件已经存在,当我尝试构建 install rrdtool(使用 cairo)时,它仍然无法在包配置。是否有我应该运行所有命令的固定顺序?你还有什么其他可能让我得到想要的结果的吗?
    • 我的/usr/local/路径下没有Cellar文件夹,并且安装了libcairo2。
    【解决方案3】:

    我在 Yosemite 上遇到了这个问题,并通过重新安装 cairo 解决了这个问题。

    $ brew unlink cairo
    Unlinking /usr/local/Cellar/cairo/1.14.2... 30 symlinks removed
    $ brew install cairo
    

    【讨论】:

      【解决方案4】:

      您也可以使用PKG_CONFIG_PATH。即:

      PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.12.16/lib/pkgconfig ./configure ....
      

      【讨论】:

        【解决方案5】:

        调试和修复此问题:

        1. 运行 pkg-config --libs cairo 。如果它说下面的错误, 那么问题仍然存在。

          Package cairo was not found in the pkg-config search path.
          Perhaps you should add the directory containing `cairo.pc'
          to the PKG_CONFIG_PATH environment variable
          No package 'cairo' found
          
        2. 要查找pkg-config 使用的默认搜索路径,请运行:

          pkg-config --list-all --debug 2>&1 > /dev/null |  grep 'Scanning directory'
          

          如果您在第 (1) 步仍有错误,则输出将不包括包含 cairo.pc 的目录。

        3. 找到包含cairo.pc 的目录。如果你使用brew安装cairo,通常它在/opt下,你可以在其中运行find /opt -name cairo.pc

        4. 使用包含cairo.pc 的目录设置PKG_CONFIG_PATH 环境变量。您只能这样做一次:

          PKG_CONFIG_PATH=<path containing cairo.pc> <your command>
          

          喜欢PKG_CONFIG_PATH=&lt;path containing cairo.pc&gt; pkg-config --libs cairo, 或导出环境

          export PKG_CONFIG_PATH=<path containing cairo.pc>
          

          然后运行你的命令。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-04-15
          • 2016-11-07
          • 2013-02-25
          • 1970-01-01
          • 2014-09-09
          • 2014-04-01
          • 2014-10-27
          相关资源
          最近更新 更多