cd /tmp
tar zxvf ocaml-3.06.tar.gz もしくは gunzip -c ocaml-3.06.tar.gz | tar xvf -
cd ocaml-3.06
./configure
make world
make bootstrap
make opt
(オプショナル)
make opt.opt
(オプショナル)
make install
(root になってから)
6 〜 9 を全部やってくれる、make world.opt というオプションもあるようですが、エラーが出た場合にどこまでできたかよくわかりません (version 3.06)
root になって、apt-get install ocaml-native-compilers
とかかな。他にも dpkg -l '*caml*' で表示されるパッケージを色々と入れてみ
ると良い (^^;。ただし、camlp4 など、ocaml 自体に組込まれて、無用となった
パッケージなどもあるので注意。
ちなみに、私の環境では以下のパッケージが入っているようである:
ii camlidl 1.02-6 Stub code generator for Objective Caml ii camlidl-doc 1.02-6 Documentation for CamlIDL ii camlp4-doc 3.02-1 documentation for camlp4 in ps and html format ii ocaml 3.04-9 ML language implementation with a class-based object system ii ocaml-base 3.04-9 Runtime system for ocaml bytecode executables ii ocaml-core 3.04.1 Objective CAML (metapackage) ii ocaml-doc 3.04-3 Documentation for Objective Caml and Camlp4 ii ocaml-findlib 0.6.2-2 Management tool for OCaml programming language modules ii ocaml-native-compilers 3.04-9 Native code compilers of the ocaml suite (the .opt ones) ii ocaml-source 3.04-9 Sources for Objectif Caml ii ocaml-tools 2002.02.11-1 Various tools for ocaml programmers ii ocamltk 41.8-1 a library for interfacing Objective Caml with the tcl/tk ii ocamlweb 1.3-1 literate programming tool for Objective Caml
適当な rpm を持ってきて、root になって
rpm -ivh ocaml-XXXXXX.rpm
(XXXXXX
の部分はディストリビューションによって違う
Cygwin があれば、Linux (や他の UNIX 系) と同様にして、ソースからでも コンパイルできます。ただし、結構 cygwin のバージョンによってはうまく行かない場合があるそうなので、 動作確認の取れたバージョンでやるのが吉かと。(私は問題が起きた事が無いですが)
Native Win32 port は、ダウンロードして実行するだけかな。
MacOSX の場合は、Linux (や他の UNIX 系) と基本的に同様であるが、
バグがあるため make opt.opt
がうまくいかないそうだ
(あまり必要ないので飛ばしても良いと思われる)。また、
./configure
のかわりに、
./configure -tkdefs -I/sw/include -tklibs -L/sw/lib
とすると、labltk と言う tcl/tk を使うグラフィックスライブラリも使えるようになるそうである。
プログラムを開発する上で便利なツール類を紹介します。もちろん私の好みに偏っています。
一つのファイルならまだ良いのですが、 複数のファイルからなる、ある程度の規模のプログラムを作っている時、 「どのファイルにはどういうオプションつけるんだっけ?」とか 「どのファイルがどれに依存していて、どれを先にコンパイルしないとい けないのかな」、などと考えるのは非常に面倒です。 OCamlMakefile を使えば、Makefile に数行、ソースファイルの名前を書くだけで、 自動でやってくれます。 (最後のリンクのために、依存の順番を正しく書いてないといけませんが...)
Emacs 使いのため。ocaml にデフォルトでついてくる emacs 用の
ocaml-mode はいまいち使い勝手が良くありません。
tuareg-mode
をお勧めします。
インストールして、.emacs
に次の事を書いとけば良いです:
(setq auto-mode-alist (cons '("\\.ml\\w?" . tuareg-mode) auto-mode-alist)) (autoload 'tuareg-mode "tuareg" "Major mode for editing Caml code" t)
OCaml の対話的環境を提供するコマンド: ocaml
は
ライセンス上の問題から、
C-a で行頭に戻ったりする事や、ヒストリ機能、
などと言った GNU の readline ライブラリを使った便利な機能がありません。
emacs から対話的環境を使うのが一つには考えられます
が、どうしてもターミナルから実行したい人は、
ledit
と言うコマンドを使えば大丈夫です。
ledit ocaml
と起動するだけです。