Cabal, Darcs, GHC, HP安装

来源:互联网 发布:国家重大新药创制 知乎 编辑:程序博客网 时间:2024/05/17 03:58

GHC is short for the Glasgow Haskell Compiler, and HP is short for Haskell Platform.

据我个人猜测Cabal和Darcs都有些版本控制,同步的功能。Cabal又有点软件管理的功能。类似于apt-get, yast 和 zypper。

今天要在服务器(OpenSuse)上装上HP。

由于Cabal, Darcs, GHC, HP都是用Haskell语言写的,所以需要一个供我bootstrap的GHC(最新版本肯定是不给力的)。花了好长时间才找到Distribution中正确的Binary文件,直接的rpm包可以使用(是我有些SX浪费了很多时间,再加上对*nix的理念和指令都很不熟悉)。这样利用rpm指令安装好最基础的GHC(ghc命令已可用)。下面的步骤都是依赖这一步的。

接着要upgrade GHC,但是需要用Darcs将最新的Distribution check out下来。而Darcs的安装又依赖于Cabal。

一步步来吧。先把Cabal的source弄下来,接着编译,安装,设定环境变量。cabal命令也可用了。

接着cabal update, cabal install darcs时出现了一个小问题,浪费了不少时间。

记录下:

$ cabal install darcs
报错:
* Missing header file: curl/curl.h
* Missing C libraries: curl, curl

解决办法:

$cabal install darcs -f-curl

这样darcs命令就可以了。

接着就利用Darcs check out下来最新的GHC的source。然后按着网上说的做。

浪费了一天时间,就做了这么个SX的事情。真是杯具阿。真不知道这样是不是值得。但是还是学到了很多基本命令的,估计过两天就又忘记了吧。

套用无间道经典台词“对不起,我是研究僧(警察)。”

(以下内容仅作为敝人的Notes, 请Ignore之)

补充详细安装流程:
Step1:
GHC Distribution中找到OpenSuse的rpm,然后将依赖的包也装下($zypper install ... $rpm -ivh foo.rpm)
Distribution来源:http://download.opensuse.org/repositories/devel:/languages:/haskell/openSUSE_11.2/x86_64/
Step2:
2.1先安装 Cabal
<%-- The 'cabal' program has been installed in /root/.cabal/bin/ You should either add /root/.cabal/bin to your PATH

or copy the cabal program to a directory that is on your PATH. --%>

2.2然后安装 Darcs
$cabal install darcs
报错:
* Missing header file: curl/curl.h
* Missing C libraries: curl, curl
解决办法来源:
网址:http://answerpot.com/showthread.php?278787-Darcs%20Does%20Not%20Build%20In%20Out-of-the-box%20Haskell%20PlatformOn%20Windows
OK, the "easy way," i.e., $cabal install darcs -f-curl
Step3:
再者利用darcs check out下来最新的GHC
这一步做了很多冗余的工作。。。。darcs上很多repository都是与GHC无关的,根本不需要check out下来的,害我挂机一晚上。
Step4:
本打算安装haskell platform的。

实际上HP就是一堆libs的集合。由于openGL之类的无用包搅局,搞的我无法一键安装所有需要的包(出错,而我又解决不了)。

所以我就的手动地把我需要的相应包都给装了。是不是该写个shell自动搞?下次下次。。。shell现在还不认识我。。。

Freeware 版本最新果然不是好事,很不稳定,有几个lib(s)装了好久也装不上。
回到较早的版本吧,就可以了。Sigh。。。终于可以收工了。耗时2天。。。低效ing。。。