facebook / infer

A static analyzer for Java, C, C++, and Objective-C
http://fbinfer.com/
MIT License
14.96k stars 2.02k forks source link

Uninterpreted extension 'merlin.syntax-error' #577

Closed kraj closed 7 years ago

kraj commented 7 years ago

I am getting following error when compiling from source or from prebuilt release tarball on ubuntu 16.04/64bit

File "IR/StructTyp.rei", line 22, characters 17-237: Uninterpreted extension 'merlin.syntax-error'. Command exited with code 2. Compilation unsuccessful after building 89 targets (0 cached) in 00:00:09. Makefile:176: recipe for target '/home/kraj/infer/infer/_build/infer/backend/infer.native' failed

kraj commented 7 years ago

kraj@ubuntu:~/infer$ opam list | grep merlin merlin 2.5.3 Editor helper, provides completion, typing and so merlin-extend 0.3 A protocol to provide custom frontend to Merlin

banfeng commented 7 years ago

Dear all,

I met this trouble as well, below is the error msgs: File "IR/StructTyp.rei", line 23, characters 17-237: Uninterpreted extension 'merlin.syntax-error'. Command exited with code 2. Compilation unsuccessful after building 135 targets (0 cached) in 00:00:08. make[1]: [infer] Error 10 make[1]: Leaving directory `/home/ban_feng/Templates/infer/infer-linux64-v0.9.4.1/infer/src' make: [src_build] Error 2

Could anyone please kindly help this ?!

jvillard commented 7 years ago

What command did you use to build?

Could you please paste the output of OPAMSWITCH=infer-4.02.3 opam list?

You might be missing the "ppx_deriving" package.

jvillard commented 7 years ago

Hold on, this has also been affecting our Travis CI since yesterday. I'm investigating. Perhaps an upgrade on some opam package has broken infer.

jvillard commented 7 years ago

While master is fixed, this doesn't address the issue in the release, reopening.

jvillard commented 7 years ago

I made a new release with the fix: https://github.com/facebook/infer/releases/tag/v0.9.5

Let me know if this works for you.

kraj commented 7 years ago

todays master works well

banfeng commented 7 years ago

Dear jvillard,

After git clone or download a new package, I encounter another issue: Your request can't be satisfied:

No solution found, exiting

without your commit, I will meet the original build break. :<

banfeng commented 7 years ago

ban_feng@banfeng:~/Templates/infer/infer-linux64-v0.9.5$ OPAMSWITCH=infer-4.02.3 opam list

Installed packages for infer-4.02.3:

atd 1.2.0 Parser for the ATD data format description language atdgen 1.10.0 Generates efficient JSON serializers, deserializers and valida base-bigarray base Bigarray library distributed with the OCaml compiler base-ocamlbuild base OCamlbuild binary and libraries distributed with the OCaml com base-threads base Threads library distributed with the OCaml compiler base-unix base Unix library distributed with the OCaml compiler bin_prot 113.33.03 A binary protocol generator biniou 1.0.12 Binary data format designed for speed, safety, ease of use and camlp4 4.02+7 Camlp4 is a system for writing extensible parsers for programm camlzip 1.07 Provides easy access to compressed files in ZIP, GZIP and JAR camomile 0.8.5 A comprehensive Unicode library cmdliner 0.9.8 Declarative definition of command line interfaces for OCaml conf-autoconf 0.1 Virtual package relying on autoconf installation. conf-m4 1 Virtual package relying on m4 conf-which 1 Virtual package relying on which core 113.33.03 Industrial strength alternative to OCaml's standard library core_kernel 113.33.03 Industrial strength alternative to OCaml's standard library cppo 1.4.0 Equivalent of the C preprocessor for OCaml programs depext 1.0.2 Query and install external dependencies of OPAM packages easy-format 1.2.0 High-level and functional interface to the Format module of th extlib-compat 1.6.1 A complete yet small extension for OCaml standard library (ful fieldslib 113.33.03 Syntax extension to define first class values representing rec javalib 2.3.3 Javalib is a library written in OCaml with the aim to provide js-build-tools 113.33.04 Collection of tools to help building Jane Street Packages lambda-term 1.10.1 Terminal manipulation library for OCaml lwt 2.7.0 Monadic promises and concurrent I/O menhir 20170101 LR(1) parser generator merlin-extend 0.3 A protocol to provide custom frontend to Merlin ocamlbuild 0 Build system distributed with the OCaml compiler since OCaml 3 ocamlfind 1.7.1 A library manager for OCaml ounit 2.0.0 Unit testing framework loosely based on HUnit. It is similar t ppx_assert 113.33.03 Assert-like extension nodes that raise useful errors on failur ppx_bench 113.33.03 Syntax extension for writing in-line benchmarks in ocaml code ppx_bin_prot 113.33.03 Generation of bin_prot readers and writers from types ppx_compare 113.33.03 Generation of comparison functions from types ppx_core 113.33.03 Standard library for ppx rewriters ppx_custom_printf 113.33.03 Printf-style format-strings for user-defined string conversion ppx_deriving 4.1 Type-driven code generation for OCaml >=4.02 ppx_driver 113.33.04 Feature-full driver for OCaml AST transformers ppx_enumerate 113.33.03 Generate a list containing all values of a finite type ppx_expect 113.33.03 Cram like framework for OCaml ppx_fail 113.33.03 Add location to calls to failwiths ppx_fields_conv 113.33.03 Generation of accessor and iteration functions for ocaml recor ppx_here 113.33.03 Expands [%here] into its location ppx_inline_test 113.33.03 Syntax extension for writing in-line tests in ocaml code ppx_jane 113.33.03 Standard Jane Street ppx rewriters ppx_let 113.33.03 Monadic let-bindings ppx_optcomp 113.33.03 Optional compilation for OCaml ppx_pipebang 113.33.03 A ppx rewriter that inlines reverse application operators |> ppx_sexp_conv 113.33.03 Generation of S-expression conversion functions from type defi ppx_sexp_message 113.33.03 A ppx rewriter for easy construction of s-expressions ppx_sexp_value 113.33.03 A ppx rewriter that simplifies building s-expressions from oca ppx_tools 5.0+4.02.0 Tools for authors of ppx rewriters and other syntactic tools ppx_type_conv 113.33.03 Support Library for type-driven code generators ppx_typerep_conv 113.33.03 Generation of runtime types from type declarations ppx_variants_conv 113.33.03 Generation of accessor and iteration functions for ocaml varia re 1.2.2 RE is a regular expression library for OCaml react 1.2.0 Declarative events and signals for OCaml reason 1.7.4 Reason: Meta Language Toolchain result 1.2 Compatibility Result module sawja 1.5.2 Provide a high level representation of Java bytecode programs sexplib 113.33.03 Library for serializing OCaml values to and from S-expressions typerep 113.33.03 typerep is a library for runtime types. utop 1.19.3 Universal toplevel for OCaml variantslib 113.33.03 Part of Jane Street's Core library yojson 1.3.3 Yojson is an optimized parsing and printing library for the JS zed 1.3 Abstract engine for text edition in OCaml

banfeng commented 7 years ago

After re-installed all dependencies, it works at the latest release. :>