Skip to content

Instantly share code, notes, and snippets.

@yoshihiro503
Created February 14, 2019 12:03
Show Gist options
  • Save yoshihiro503/fc9bfa1f47ff979a10e07d418f7a4924 to your computer and use it in GitHub Desktop.
Save yoshihiro503/fc9bfa1f47ff979a10e07d418f7a4924 to your computer and use it in GitHub Desktop.

fialyzer の開発環境を構築する方法 2019

構築する環境

  • opam 2.0.3
  • ocaml 4.07.1
  • dune 1.7.1

準備

opam 2 のインストール

Ubuntuの人

sudo apt install bubblewrap
sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)
opam init

MacOSの人

brew update
brew install opam
opam init

プロジェクトをclone

git clone [email protected]:dwango/fialyzer.git
cd fialyzer/

fialyzer用のocaml開発環境を作成

opam switch create . ocaml-base-compiler.4.07.1
eval $(opam env) 

依存ライブラリをインストール

opam pin add -y fialyzer .

ビルド

make

テスト

(blackbox testには Erlang/OTP-21が必要です。)

make test

付録 A. 依存ライブラリの詳細

  ∗ install conf-gmp                   1          [required by zarith]
  ∗ install dune                       1.7.1      [required by fialyzer]
  ∗ install conf-m4                    1          [required by ocamlfind]
  ∗ install seq                        base       [required by re]
  ∗ install ocamlbuild                 0.12.0     [required by ppx_deriving]
  ∗ install conf-perl                  1          [required by zarith]
  ∗ install jbuilder                   transition
          [required by bitstring, base, expect_test_helpers_kernel]
  ∗ install ocamlfind                  1.8.0      [required by ppx_deriving]
  ∗ install sexplib0                   v0.11.0    [required by base]
  ∗ install result                     1.3        [required by ppx_deriving]
  ∗ install re                         1.8.0
          [required by expect_test_helpers_kernel]
  ∗ install ppx_derivers               1.0        [required by ppx_deriving]
  ∗ install ocaml-compiler-libs        v0.11.0    [required by ppxlib]
  ∗ install jane-street-headers        v0.11.0    [required by core_kernel]
  ∗ install cppo                       1.6.5      [required by ppx_deriving]
  ∗ install zarith                     1.7        [required by fialyzer]
  ∗ install ppx_tools                  5.1+4.06.0 [required by ppx_deriving]
  ∗ install octavius                   1.2.0      [required by ppx_js_style]
  ∗ install num                        1.1        [required by sexplib]
  ∗ install camlzip                    1.07       [required by obeam]
  ∗ install parsexp                    v0.11.0    [required by sexplib]
  ∗ install base                       v0.11.1    [required by fialyzer]
  ∗ install ocaml-migrate-parsetree    1.2.0
          [required by expect_test_helpers_kernel, bitstring, ppx_deriving]
  ∗ install cppo_ocamlbuild            1.6.0      [required by ppx_deriving]
  ∗ install sexplib                    v0.11.0
          [required by core_kernel, sexp_pretty]
  ∗ install typerep                    v0.11.0    [required by core_kernel]
  ∗ install stdio                      v0.11.0    [required by obeam]
  ∗ install ppx_tools_versioned        5.2.1      [required by bitstring]
  ∗ install ppx_deriving               4.2.1      [required by fialyzer]
  ∗ install ppxlib                     0.5.0
          [required by ppx_inline_test, ppx_assert, ppx_base, ppx_jane]
  ∗ install configurator               v0.11.0    [required by core_kernel]
  ∗ install bitstring                  3.1.0      [required by fialyzer]
  ∗ install bisect_ppx                 1.4.0      [required by obeam]
  ∗ install variantslib                v0.11.0    [required by core_kernel]
  ∗ install ppx_typerep_conv           v0.11.1    [required by ppx_jane]
  ∗ install ppx_sexp_conv              v0.11.2    [required by obeam]
  ∗ install ppx_pipebang               v0.11.0    [required by ppx_jane]
  ∗ install ppx_optional               v0.11.0    [required by ppx_jane]
  ∗ install ppx_optcomp                v0.11.0    [required by ppx_jane]
  ∗ install ppx_let                    v0.11.0    [required by obeam]
  ∗ install ppx_js_style               v0.11.0    [required by ppx_base]
  ∗ install ppx_inline_test            v0.11.0    [required by core_kernel]
  ∗ install ppx_here                   v0.11.0    [required by fialyzer]
  ∗ install ppx_enumerate              v0.11.1    [required by ppx_base]
  ∗ install ppx_compare                v0.11.1
          [required by ppx_assert, bin_prot, ppx_base]
  ∗ install fieldslib                  v0.11.0    [required by core_kernel]
  ∗ install ppx_variants_conv          v0.11.1
          [required by bin_prot, ppx_jane]
  ∗ install ppx_custom_printf          v0.11.0
          [required by bin_prot, ppx_jane]
  ∗ install ppx_bench                  v0.11.0    [required by ppx_jane]
  ∗ install ppx_sexp_value             v0.11.0    [required by ppx_jane]
  ∗ install ppx_sexp_message           v0.11.0    [required by core_kernel]
  ∗ install ppx_fail                   v0.11.0    [required by ppx_jane]
  ∗ install obeam                      0.1.3      [required by fialyzer]
  ∗ install ppx_hash                   v0.11.1    [required by core_kernel]
  ∗ install ppx_assert                 v0.11.0    [required by core_kernel]
  ∗ install ppx_fields_conv            v0.11.0
          [required by bin_prot, ppx_jane]
  ∗ install ppx_base                   v0.11.0
          [required by core_kernel, sexp_pretty]
  ∗ install ppx_expect                 v0.11.1    [required by fialyzer]
  ∗ install bin_prot                   v0.11.0    [required by core_kernel]
  ∗ install sexp_pretty                v0.11.0
          [required by expect_test_helpers_kernel]
  ∗ install ppx_bin_prot               v0.11.1    [required by ppx_jane]
  ∗ install ppx_jane                   v0.11.0
          [required by expect_test_helpers_kernel]
  ∗ install splittable_random          v0.11.0    [required by core_kernel]
  ∗ install core_kernel                v0.11.1
          [required by expect_test_helpers_kernel]
  ∗ install expect_test_helpers_kernel v0.11.0    [required by fialyzer]
  ∗ install fialyzer                   ~dev*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment