【问题标题】:Unable to Install glpk-hs无法安装 glpk-hs
【发布时间】:2017-07-07 20:09:31
【问题描述】:

我已经按照here 的说明安装了 Haskell 编译器和 glpk-hs。此外,我使用cabal install glpk-hs 来安装所需的文件以尝试编译 Haskell 程序。

但是,glpk 的 cabal 安装无法正常工作。以下消息不断弹出:

解决依赖关系...

正在配置 glpk-hs-0.5...

安装 glpk-hs-0.5 失败

构建日志:

cabal:进入目录'/var/folders/cr/9f1ltj7d4b31hmkfn03hjl_r0000gn/T/cabal-tmp-12521/glpk-hs-0.5'

正在配置 glpk-hs-0.5...

cabal.real:缺少对外部库的依赖:

  • 缺少 C 库:glpk

这个问题通常可以通过安装系统包来解决 提供此库(您可能需要“-dev”版本)。如果图书馆是 已经安装但在非标准位置,那么您可以使用标志 --extra-include-dirs= 和 --extra-lib-dirs= 指定它的位置。 阴谋集团:

离开目录'/var/folders/cr/9f1ltj7d4b31hmkfn03hjl_r0000gn/T/cabal-tmp-12521/glpk-hs-0.5'

cabal:错误:某些软件包无法安装: glpk-hs-0.5 在配置步骤中失败。例外是:

退出失败 1

如上所述,我尝试在非标准位置和标准位置安装 glpk,但在所有情况下都无法找到 glpk。

使用 GLPK 的 glpsol solver 已安装,因为它显示了当前运行的版本:GLPSOL: GLPK LP/MIP Solver, v4.62

【问题讨论】:

  • C 依赖项通常通过pkg-config 检测。 pkg-config 知道 glpk 吗? pkg-config --modversion glpk 说什么?您可以考虑在硬盘驱动器上搜索合适的 *.pc 文件——例如查看locate '*.pc' 的输出以查找与glpk 相关的内容——并确保该文件所在的目录位于您的PKG_CONFIG_PATH 上。
  • @DanielWagner 我试过pkg-config --modversion glpk,它说找不到该命令。我还尝试了locate '*.pc',并寻找与glpsol或glpk相关的东西,但什么也没有。你觉得pkg-config有问题吗?
  • 也许不是。我刚刚检查了 glpk-hs 的 cabal 文件,它使用 extra-libraries,而不是 pkgconfig-depends。所以我之前关于 pkg-config 的 cmets 可能是一个红鲱鱼。 (对不起。)
  • 后续问题:ld 可以找到你的 glpk 库吗? (你能用glpk构建一个C程序吗?)
  • 不用担心。嗯,我在测试 ld 查找 glpk 时遇到了麻烦,因为我对 C 不太熟悉。虽然通过 glpsol(命令行求解器),命令行可以识别 GLPK 包。

标签: haskell glpk


【解决方案1】:

想通了! hmatrix-glpk 在 .cabal 文件中有额外的 OS X 目录:

if os(OSX)
     extra-lib-dirs: /usr/lib
     extra-lib-dirs: /opt/local/lib/
     include-dirs: /opt/local/include/
     extra-lib-dirs: /usr/local/lib/
     include-dirs: /usr/local/include/
     if arch(i386)
         cc-options: -arch i386

将其复制到glpk-hs.cabal 允许安装工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 2020-10-16
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多