TrustInSoft / tis-interpreter

An interpreter for finding subtle bugs in programs written in standard C
565 stars 28 forks source link

Build failure: Cannot find file yojson.cmo #139

Open aaaaaa4 opened 7 years ago

aaaaaa4 commented 7 years ago

make output:

Linking     bin/toplevel.byte
File "_none_", line 1:
Error: Cannot find file yojson.cmo
Makefile:1358: recipe for target 'bin/toplevel.byte' failed

.opam/system/install/yojson.install output:

lib: [
  "_build/install/default/lib/yojson/META" {"META"}
  "_build/install/default/lib/yojson/opam" {"opam"}
  "_build/install/default/lib/yojson/yojson.cmi"
  "_build/install/default/lib/yojson/yojson.cmx"
  "_build/install/default/lib/yojson/yojson.cmt"
  "_build/install/default/lib/yojson/yojson.cmti"
  "_build/install/default/lib/yojson/yojson.mli"
  "_build/install/default/lib/yojson/yojson_biniou.cmi"
  "_build/install/default/lib/yojson/yojson_biniou.cmx"
  "_build/install/default/lib/yojson/yojson_biniou.cmt"
  "_build/install/default/lib/yojson/yojson_biniou.cmti"
  "_build/install/default/lib/yojson/yojson_biniou.mli"
  "_build/install/default/lib/yojson/yojson.cma"
  "_build/install/default/lib/yojson/yojson.cmxa"
  "_build/install/default/lib/yojson/yojson.a"
  "_build/install/default/lib/yojson/yojson.cmxs"
]
aaaaaa4 commented 6 years ago

The above was done on Ubuntu 17.04. Just tested on trusty as per .travis.yml. Still ouptuts the same error.

pascal-cuoq commented 6 years ago

Hello,

While preparing the .travis.yml file for a more recent version of TIS Interpreter, I found that I had to specify a version of yojson (1.2.3) for OPAM to install, like so.

Also both this TIS Interpreter and that TIS Interpreter require OCaml 4.03. I told OPAM to install that specific version using the --comp option, and using the --root option so that this OCaml installation would be separate from any other OCaml installation the user might need.

aaaaaa4 commented 6 years ago

It installs now. After installation executing tis-interpreter.sh yields line 197: /home/user/tis-interpreter/tis-interpreter/bin/frama-c: No such file or directory.

It's fixed by copying bin and share directories to the tis-interpreter directory containing tis-interpreter.sh.