【问题标题】:Problems installing the cairo backend for ghc haskell using cabal使用 cabal 为 ghc haskell 安装 cairo 后端时出现问题
【发布时间】:2013-11-27 13:46:15
【问题描述】:

我在运行 os x 10.9 的 mac 上使用 cabal 为 ghc 安装 cairo 后端时遇到了一些问题。 pkg-config 中似乎缺少 cairo-pdf 包。我曾尝试使用自制软件重新安装 pkg-config,但它似乎并没有改变任何东西。 cabal 的输出如下:

andylawrence$ cabal install Cairo
Resolving dependencies...
[1 of 2] Compiling SetupWrapper     ( /var/folders/cb/1j0fjp2n4x12b8tfg2cz64vm0000gn/T/cairo-0.12.4-98407/cairo-0.12.4/SetupWrapper.hs, /var/folders/cb/1j0fjp2n4x12b8tfg2cz64vm0000gn/T/cairo-0.12.4-98407/cairo-0.12.4/dist/setup/SetupWrapper.o )
[2 of 2] Compiling Main             ( /var/folders/cb/1j0fjp2n4x12b8tfg2cz64vm0000gn/T/cairo-0.12.4-98407/cairo-0.12.4/Setup.hs, /var/folders/cb/1j0fjp2n4x12b8tfg2cz64vm0000gn/T/cairo-0.12.4-98407/cairo-0.12.4/dist/setup/Main.o )
Linking /var/folders/cb/1j0fjp2n4x12b8tfg2cz64vm0000gn/T/cairo-0.12.4-98407/cairo-0.12.4/dist/setup/setup ...

Gtk2HsSetup.hs:107:59:
     warning: missing terminating ' character [-Winvalid-pp-token]
        -- If there are several .dll files matching the one we're after then we
                                                              ^

Gtk2HsSetup.hs:145:50:
     warning: missing terminating ' character [-Winvalid-pp-token]
             -> RegisterFlags -- ^Install in the user's database?; verbose
                                                     ^

Gtk2HsSetup.hs:210:41:
     warning: missing terminating ' character [-Winvalid-pp-token]
      -- have the header file name if we don't have the precompiled header yet
                                            ^

Gtk2HsSetup.hs:249:40:
     warning: missing terminating ' character [-Winvalid-pp-token]
      mFiles <- mapM (findFileWithExtension' ["chi"] [buildDir lbi] . toFilePath)
                                           ^

Gtk2HsSetup.hs:293:28:
     warning: missing terminating ' character [-Winvalid-pp-token]
                     , let name' = filter isAlpha (display name)
                               ^

Gtk2HsSetup.hs:294:31:
     warning: missing terminating ' character [-Winvalid-pp-token]
                     , tag <- name'
                                  ^

Gtk2HsSetup.hs:295:33:
     warning: missing terminating ' character [-Winvalid-pp-token]
                            : [ name' ++ "-" ++ show major ++ "." ++ show digit
                                    ^
7 warnings generated.
[1 of 2] Compiling Gtk2HsSetup      ( Gtk2HsSetup.hs, dist/setup-wrapper/Gtk2HsSetup.o )
[2 of 2] Compiling Main             ( SetupMain.hs, dist/setup-wrapper/Main.o )
Linking dist/setup-wrapper/setup ...
Configuring cairo-0.12.4...

/var/folders/cb/1j0fjp2n4x12b8tfg2cz64vm0000gn/T/98471.c:1:12:
     warning: control reaches end of non-void function [-Wreturn-type]
int foo() {}
           ^
1 warning generated.
setup: The pkg-config package cairo-pdf is required but it could not be found.
Failed to install cairo-0.12.4
cabal: Error: some packages failed to install:
cairo-0.12.4 failed during the configure step. The exception was:
ExitFailure 1

任何帮助将不胜感激。

【问题讨论】:

    标签: macos haskell ghc cabal cairo


    【解决方案1】:

    pkg-config 只是一个工具,它告诉您是否安装了本机(即非 Haskell)包(以及它的配置是什么,用于编译目的)。您需要安装cairo-pdf(它可能是一个单独的包,或者它可能是构建本机 cairo 时需要启用的选项,我不确定。或者可能只是您没有本机 cairo 完全安装)。

    【讨论】:

    • 我已经使用自制软件安装了本机 cairo。我找不到名为 cairo-pdf 的单独包。这真的让我感到困惑,因为互联网上似乎没有很多关于 cairo-pdf 的东西。
    • 我尝试手动构建 cairo,但遇到了另一个与 pkg-config 相关的问题。它找不到 libpng,但它安装在我的机器上。输出如下:检查 cairo 的 PNG 函数功能...配置:警告:在 pkg-config 搜索路径中找不到 libpng 检查是否可以启用 cairo 的 PNG 功能功能...没有配置:错误:推荐的 PNG 功能功能无法启用
    • 所以我猜需要添加 pkg-config 搜索路径。如果您安装了 pkg-config 和 libpng 以及两个 不同的 打包系统(例如,一个由 OS X 或 XCode 安装,另一个由 homebrew 安装),这可能是原因。
    猜你喜欢
    • 2012-10-17
    • 2022-08-14
    • 2013-11-14
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多