Ubuntu7へOCamlモロモロをインストール

Pocket

以下rootで。

apt-get install ocaml
apt-get install opam

途中、以下のように聞いてくるので。「y」で応答。

Do you want OPAM to modify ~/.bashrc and ~/.ocamlinit?
(default is 'no', use 'f' to name a file other than ~/.bashrc)
[N/y/f] y

そもそも、

apt-get install opam -y

ですかね。

その後、引き続いて。

opam init

 

次にopamからOCamlをインストール。

opam list

でOCamlのバージョンを確認。

opam switch 4.02.3

でインストールされる。

その後、必ず。

eval `opam config env`

これ、なんか面倒だと思うのは私だけでしょうか。

 

OCamlのフレームワークであるeliomを使いたいので、以下のようにインストールする。

付随するocsigenserverなど他のコンポーネントも一緒にインストールされるようです。

opam install eliom

と、ここでエラーが。

=-=- ocamlfind.1.5.6 troubleshooting =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> Could not build ocamlfind. The most common reason for that is a missing 'm4' system package.

m4が入ってないって事!?

とりあえず、やってみる。

apt-get install m4

再度

opam install eliom

とするも、エラー。

#=== ERROR while installing conf-pkg-config.1.0 ===============================#
Internal error:
"pkg-config": command not found.

#=== ERROR while installing dbm.1.0 ===========================================#
# opam-version 1.2.0
# os           linux
# command      ./configure
# path         /root/.opam/4.02.3/build/dbm.1.0
# compiler     4.02.3
# exit-code    2
# env-file     /root/.opam/4.02.3/build/dbm.1.0/dbm-913-fbcac7.env
# stdout-file  /root/.opam/4.02.3/build/dbm.1.0/dbm-913-fbcac7.out
# stderr-file  /root/.opam/4.02.3/build/dbm.1.0/dbm-913-fbcac7.err
### stdout ###
# Configuring for OCaml version 4.02.3
#
# NDBM not found, the "camldbm" library cannot be built.

 

とりあえず、

apt-get install pkg-config

としてみる。

apt-get install libpcre3-dev -y

sudo apt-get install camlp4-extra

再度

opam install eliom

でエラーが出なくなりました。

そもそもUbuntuを入れた後の作法が足りなかったのかな。

sudo aptitude update
sudo aptitude safe-upgrade

この辺を行ってからの方が良いのかもです。

 

ここからは、以前に書いた通り。

eliom-distillery -name hello
cd hello
make test.byte

と、するがエラー。

vagrant@vagrant:~/develop/hello$ make test.byte
js_of_eliom -ppx -c -package lwt.ppx -package js_of_ocaml.deriving.ppx -package js_of_ocaml.ppx  hello.eliom
Fatal error: exception Fl_package_base.No_such_package("lwt.ppx", "")
Makefile:206: recipe for target '_client/hello.cmo' failed
make: *** [_client/hello.cmo] Error 2

OCamlのバージョンが古いのかなと思って

opam switch 4.02.3

としてみるも、エラー。

vagrant@vagrant:~/develop/hello$ make
Makefile:216: .depend: No such file or directory
mkdir _deps
eliomdep -server -ppx -package lwt.ppx -package js_of_ocaml.deriving.ppx hello.eliom > _deps/hello.eliom.server
Fatal error: exception Fl_package_base.No_such_package("js_of_ocaml.deriving.ppx", "")
Makefile:222: recipe for target '_deps/hello.eliom.server' failed
make: *** [_deps/hello.eliom.server] Error 2

 

現在の私のレベルでは、このエラーの解読が不可能…。

なんか.ppxのパッケージがなんちゃらとの事のようだが、「.ppxのファイルが無いよ」なのか「.ppxじゃないよ」なのかも分からず。

「.depend」ってのがincludeできないと言われているようだが、ひょっとして「_deps」の事かなぁ…。つか「.depend」が無いってのに「_deps」をmkdirしてるというのが、これで合ってるのか間違ってるのか…。

で、これ。

make test.byteを実行する度にエラーの内容が変わるのです。

毎回、必要な?ディレクトリやファイルを作成するようで、でも一括で作成されるわけじゃないみたいで、都度作成してる感じ。

ただ、3回ほど繰り返した所で、

js_of_eliom -ppx -c -package lwt.ppx -package js_of_ocaml.deriving.ppx -package js_of_ocaml.ppx  hello.eliom
Fatal error: exception Fl_package_base.No_such_package("js_of_ocaml.deriving.ppx", "")
Makefile:206: recipe for target '_client/hello.cmo' failed
make: *** [_client/hello.cmo] Error 2

こんな感じで、_clientの下のhello.cmoが無いって感じに落ち着きます。

 

という事で、今回は一晩寝てもサッパリ分からないので、とりあえずこの辺で。

2 Responses to Ubuntu7へOCamlモロモロをインストール

  1. eliom初心者 より:

    私も同じエラーになりましたが次のライブラリをインストールしてを解決しました。

    $ opam install ppx_deriving

    私の環境は以下の通りです:

    * Ubuntu 14.04
    * opam 1.2.2
    * ocaml 4.02.3
    * eliom 5.0.0

    参考: http://stackoverflow.com/questions/35208369/eliom-5-0-0-fail-to-get-it-working

    • yonezo より:

      ありがとうございます!
      こんな場末のブログにコメントして下さって大変ありがたいです!(T_T)

      今度試してみます!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です