[英]Possible to ensure that profiling libraries are installed when installing GHC 7.8?
我将在新的Ubuntu副本上安装GHC,我想知道: 如何确保为核心库(例如text
, unordered-containers
)安装了性能分析库?
我知道在cabal的.config
文件中更改了配置文件选项,但我的理解是,这仅可确保在设置cabal之后安装的那些软件包中安装了配置文件库(请参阅下面更新中的斜体文本)。
(昨晚我无意中炸毁了我的Ubuntu vbox,因为它试图为已安装的GHC软件包追溯安装性能分析库。这导致现有软件包无法正常工作,这导致我试图卸载GHC,这导致... KABOOM !)
更新:我已经安装了GHC,现在已经要安装cabal
。 我已经证实自己怀疑自己面临着“鸡与蛋”的困境: 为了获得初始的cabal配置文件(可以在其中将性能分析选项设置为True),我需要安装cabal。 但是,安装cabal会导致安装核心软件包(例如,文本,无序容器),然后才有机会在cabal配置文件中进行更改。
求助:根据丹尼尔·瓦格纳的建议(谢谢!),我对bootstrap.sh脚本文件进行了一些修改(很遗憾,我没有旧的名称,否则我会遵循他的其他建议)。 作为将来的读者的参考,bootstrap.sh文件的开头看起来像这样(更改之后):
#VERBOSE
DEFAULT_CONFIGURE_OPTS="--enable-library-profiling --enable-shared"
EXTRA_CONFIGURE_OPTS=${EXTRA_CONFIGURE_OPTS-$DEFAULT_CONFIGURE_OPTS}
#EXTRA_CONFIGURE_OPTS
#EXTRA_BUILD_OPTS
#EXTRA_INSTALL_OPTS
首选的解决方案是通过软件包管理器安装cabal-install。 如果您的软件包管理器中有旧版本的cabal-install,则可以使用旧版本来安装新版本并配置好配置,甚至可以通过cabal install cabal-install --enable-library-profiling
在命令行上直接指定配置文件cabal install cabal-install --enable-library-profiling
。
如果您计划通过其bootstrap.sh
脚本安装cabal-install,则另一种解决方案是使用它提供的用于配置的环境变量。 在bootstrap.sh
的顶部有四个标记; 相关的是EXTRA_CONFIGURE_OPTS
,该内容将传递到每个程序包的Setup
命令的configure
步骤。 因此,类似这样的事情应该可以解决(尽管我还没有测试过):
EXTRA_CONFIGURE_OPTS=--enable-library-profiling ./bootstrap.sh
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.