【发布时间】: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 包。