Closed Zzull closed 4 years ago
Could be a bug in our brand new dot-merlin-reader
.
@voodoos would you mind having a look at that one?
Hi @Zzull
I was not able to reproduce your issue. Could you provide more details on your setup ? Like the editor your using, the content of your .merlin
and the exact behaviour you are observing ?
Also, could you run, from the directory containing the .merlin
file, the command ocamlmerlin single dump-configuration -filename main.ml <main.ml | jq
(where you replace main.ml
by one of your source files) and copy the output ?
Some others opam-related possibilities:
eval $(opam env)
)ppx_lwt
got uninstalled somehowSo, as a matter of fact, I can't reproduce it on my machine for reasons I don't grasp. But I asked a co-worker to install the new version of Merlin and he bumped into the same problem. To give you more information:
opam env
did not solve the problemlwt_ppx
is indeed installed (as all the other syntax extension packages because, as you will see in the output of the command you asked me to run, we use a lot of them. I only mentioned Lwt in the original post to simplify things)Here is our Merlin configuration:
PKG lwt_ppx
PKG eliom.server
PKG eliom.ppx.server
PKG ppx_deriving.show
PKG ppx_deriving.ord
PKG js_of_ocaml
PKG js_of_ocaml-ppx_deriving_json
PKG bs-aws
PKG re.pcre
PKG re.str
PKG ocsigen-toolkit.server
PKG base64
PKG syndic
PKG batteries
PKG ezjsonm
PKG x509
PKG mysql
PKG cohttp
PKG cohttp-lwt
PKG ppx_sexp_conv
PKG sexplib
PKG resource-pooling
PKG yojson
PKG camomile
PKG unix-sys-resource.unix
PKG uunf.string
PKG lambdasoup
PKG ocsigen-start.server
PKG pgocaml_ppx
FLG -ppx "ocsigen-i18n-rewriter --prefix 'Bs_' --suffix '_i18n' Bs_i18n"
FLG -w @A-4-7-9-29-37-38-39-41-42-44-45-48
FLG -open Bs_pervasives
SUFFIX .eliom .eliomi
S .
B _server
And here is the output of the command:
{
"class": "return",
"value": {
"ocaml": {
"include_dirs": [],
"no_std_include": false,
"unsafe": false,
"classic": false,
"principal": false,
"real_paths": true,
"recursive_types": false,
"strict_sequence": false,
"applicative_functors": true,
"unsafe_string": false,
"nopervasives": false,
"strict_formats": false,
"open_modules": [
"Bs_pervasives"
],
"ppx": [
{
"workdir": "/home/jan/besport/bs",
"workval": "/home/jan/.opam/4.11.0/lib/pgocaml_ppx/./ppx.exe --as-ppx /home/jan/.opam/4.11.0/lib/ppx_deriving/./ppx_deriving package:ppx_deriving.show package:ppx_deriving.ord package:js_of_ocaml-ppx_deriving_json package:ppx_sexp_conv ppx_eliom_server /home/jan/.opam/4.11.0/lib/lwt_ppx/./ppx.exe --as-ppx"
},
{
"workdir": "/home/jan/besport/bs",
"workval": "ocsigen-i18n-rewriter --prefix 'Bs_' --suffix '_i18n' Bs_i18n"
}
],
"pp": null,
"warnings": {
"actives": [
1,
2,
3,
5,
6,
8,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
30,
31,
32,
33,
34,
35,
36,
40,
43,
46,
47,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67
],
"warn_error": [
1,
2,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67
]
}
},
"merlin": {
"build_path": [
"/home/jan/besport/bs/_server",
"/home/jan/.opam/4.11.0/lib/bytes",
"/home/jan/.opam/4.11.0/lib/result",
"/home/jan/.opam/4.11.0/lib/seq",
"/home/jan/.opam/4.11.0/lib/lwt",
"/home/jan/.opam/4.11.0/lib/lwt_ppx",
"/home/jan/.opam/4.11.0/lib/mmap",
"/home/jan/.opam/4.11.0/lib/ocplib-endian",
"/home/jan/.opam/4.11.0/lib/ocplib-endian/bigstring",
"/home/jan/.opam/4.11.0/lib/lwt/unix",
"/home/jan/.opam/4.11.0/lib/ssl",
"/home/jan/.opam/4.11.0/lib/lwt_ssl",
"/home/jan/.opam/4.11.0/lib/lwt_log/core",
"/home/jan/.opam/4.11.0/lib/lwt_log",
"/home/jan/.opam/4.11.0/lib/astring",
"/home/jan/.opam/4.11.0/lib/stdlib-shims",
"/home/jan/.opam/4.11.0/lib/fmt",
"/home/jan/.opam/4.11.0/lib/domain-name",
"/home/jan/.opam/4.11.0/lib/macaddr",
"/home/jan/.opam/4.11.0/lib/ipaddr",
"/home/jan/.opam/4.11.0/lib/netsys",
"/home/jan/.opam/4.11.0/lib/netstring",
"/home/jan/.opam/4.11.0/lib/pcre",
"/home/jan/.opam/4.11.0/lib/netstring-pcre",
"/home/jan/.opam/4.11.0/lib/findlib",
"/home/jan/.opam/4.11.0/lib/zarith",
"/home/jan/.opam/4.11.0/lib/cryptokit",
"/home/jan/.opam/4.11.0/lib/re",
"/home/jan/.opam/4.11.0/lib/uchar",
"/home/jan/.opam/4.11.0/lib/uutf",
"/home/jan/.opam/4.11.0/lib/tyxml/functor",
"/home/jan/.opam/4.11.0/lib/tyxml",
"/home/jan/.opam/4.11.0/lib/xml-light",
"/home/jan/.opam/4.11.0/lib/ocsigenserver",
"/home/jan/.opam/4.11.0/lib/ocsigenserver/extensions",
"/home/jan/.opam/4.11.0/lib/ppx_deriving/runtime",
"/home/jan/.opam/4.11.0/lib/js_of_ocaml/deriving",
"/home/jan/.opam/4.11.0/lib/react",
"/home/jan/.opam/4.11.0/lib/reactiveData",
"/home/jan/.opam/4.11.0/lib/lwt_react",
"/home/jan/.opam/4.11.0/lib/eliom/server",
"/home/jan/.opam/4.11.0/lib/eliom/ppx",
"/home/jan/.opam/4.11.0/lib/ppx_deriving",
"/home/jan/.opam/4.11.0/lib/ppx_deriving/show",
"/home/jan/.opam/4.11.0/lib/ppx_deriving/ord",
"/home/jan/.opam/4.11.0/lib/js_of_ocaml",
"/home/jan/.opam/4.11.0/lib/js_of_ocaml-ppx_deriving_json",
"/home/jan/.opam/4.11.0/lib/base64",
"/home/jan/.opam/4.11.0/lib/base/base_internalhash_types",
"/home/jan/.opam/4.11.0/lib/base/caml",
"/home/jan/.opam/4.11.0/lib/base/shadow_stdlib",
"/home/jan/.opam/4.11.0/lib/sexplib0",
"/home/jan/.opam/4.11.0/lib/base",
"/home/jan/.opam/4.11.0/lib/fieldslib",
"/home/jan/.opam/4.11.0/lib/ppx_sexp_conv/runtime-lib",
"/home/jan/.opam/4.11.0/lib/stringext",
"/home/jan/.opam/4.11.0/lib/re/posix",
"/home/jan/.opam/4.11.0/lib/uri",
"/home/jan/.opam/4.11.0/lib/uri-sexp",
"/home/jan/.opam/4.11.0/lib/cohttp",
"/home/jan/.opam/4.11.0/lib/logs",
"/home/jan/.opam/4.11.0/lib/cohttp-lwt",
"/home/jan/.opam/4.11.0/lib/ipaddr-sexp",
"/home/jan/.opam/4.11.0/lib/parsexp",
"/home/jan/.opam/4.11.0/lib/sexplib",
"/home/jan/.opam/4.11.0/lib/conduit",
"/home/jan/.opam/4.11.0/lib/conduit-lwt",
"/home/jan/.opam/4.11.0/lib/ipaddr/unix",
"/home/jan/.opam/4.11.0/lib/uri/services",
"/home/jan/.opam/4.11.0/lib/conduit-lwt-unix",
"/home/jan/.opam/4.11.0/lib/magic-mime",
"/home/jan/.opam/4.11.0/lib/cohttp-lwt-unix",
"/home/jan/.opam/4.11.0/lib/xmlm",
"/home/jan/.opam/4.11.0/lib/ezxmlm",
"/home/jan/.opam/4.11.0/lib/easy-format",
"/home/jan/.opam/4.11.0/lib/biniou",
"/home/jan/.opam/4.11.0/lib/yojson",
"/home/jan/.opam/4.11.0/lib/bs-aws",
"/home/jan/.opam/4.11.0/lib/re/pcre",
"/home/jan/.opam/4.11.0/lib/re/str",
"/home/jan/.opam/4.11.0/lib/calendar",
"/home/jan/.opam/4.11.0/lib/ocsigen-toolkit/server",
"/home/jan/.opam/4.11.0/lib/syndic",
"/home/jan/.opam/4.11.0/lib/ocaml",
"/home/jan/.opam/4.11.0/lib/num",
"/home/jan/.opam/4.11.0/lib/batteries",
"/home/jan/.opam/4.11.0/lib/bigarray-compat",
"/home/jan/.opam/4.11.0/lib/cstruct",
"/home/jan/.opam/4.11.0/lib/hex",
"/home/jan/.opam/4.11.0/lib/jsonm",
"/home/jan/.opam/4.11.0/lib/ezjsonm",
"/home/jan/.opam/4.11.0/lib/ptime",
"/home/jan/.opam/4.11.0/lib/asn1-combinators",
"/home/jan/.opam/4.11.0/lib/gmap",
"/home/jan/.opam/4.11.0/lib/eqaf",
"/home/jan/.opam/4.11.0/lib/eqaf/bigstring",
"/home/jan/.opam/4.11.0/lib/eqaf/cstruct",
"/home/jan/.opam/4.11.0/lib/mirage-crypto",
"/home/jan/.opam/4.11.0/lib/mirage-crypto-rng",
"/home/jan/.opam/4.11.0/lib/rresult",
"/home/jan/.opam/4.11.0/lib/mirage-crypto-pk",
"/home/jan/.opam/4.11.0/lib/x509",
"/home/jan/.opam/4.11.0/lib/mysql",
"/home/jan/.opam/4.11.0/lib/ppx_sexp_conv",
"/home/jan/.opam/4.11.0/lib/resource-pooling",
"/home/jan/.opam/4.11.0/lib/camomile/default_config",
"/home/jan/.opam/4.11.0/lib/camomile/library",
"/home/jan/.opam/4.11.0/lib/camomile/lib_default",
"/home/jan/.opam/4.11.0/lib/camomile/dyn",
"/home/jan/.opam/4.11.0/lib/camomile",
"/home/jan/.opam/4.11.0/lib/integers",
"/home/jan/.opam/4.11.0/lib/ctypes",
"/home/jan/.opam/4.11.0/lib/unix-errno",
"/home/jan/.opam/4.11.0/lib/unix-sys-resource",
"/home/jan/.opam/4.11.0/lib/uunf",
"/home/jan/.opam/4.11.0/lib/uunf/string",
"/home/jan/.opam/4.11.0/lib/markup",
"/home/jan/.opam/4.11.0/lib/lambdasoup",
"/home/jan/.opam/4.11.0/lib/safepass",
"/home/jan/.opam/4.11.0/lib/csv",
"/home/jan/.opam/4.11.0/lib/pgocaml",
"/home/jan/.opam/4.11.0/lib/pgocaml_ppx",
"/home/jan/.opam/4.11.0/lib/ocsigen-start/server"
],
"source_path": [
"/home/jan/besport/bs",
"/home/jan/.opam/4.11.0/lib/bytes",
"/home/jan/.opam/4.11.0/lib/result",
"/home/jan/.opam/4.11.0/lib/seq",
"/home/jan/.opam/4.11.0/lib/lwt",
"/home/jan/.opam/4.11.0/lib/lwt_ppx",
"/home/jan/.opam/4.11.0/lib/mmap",
"/home/jan/.opam/4.11.0/lib/ocplib-endian",
"/home/jan/.opam/4.11.0/lib/ocplib-endian/bigstring",
"/home/jan/.opam/4.11.0/lib/lwt/unix",
"/home/jan/.opam/4.11.0/lib/ssl",
"/home/jan/.opam/4.11.0/lib/lwt_ssl",
"/home/jan/.opam/4.11.0/lib/lwt_log/core",
"/home/jan/.opam/4.11.0/lib/lwt_log",
"/home/jan/.opam/4.11.0/lib/astring",
"/home/jan/.opam/4.11.0/lib/stdlib-shims",
"/home/jan/.opam/4.11.0/lib/fmt",
"/home/jan/.opam/4.11.0/lib/domain-name",
"/home/jan/.opam/4.11.0/lib/macaddr",
"/home/jan/.opam/4.11.0/lib/ipaddr",
"/home/jan/.opam/4.11.0/lib/netsys",
"/home/jan/.opam/4.11.0/lib/netstring",
"/home/jan/.opam/4.11.0/lib/pcre",
"/home/jan/.opam/4.11.0/lib/netstring-pcre",
"/home/jan/.opam/4.11.0/lib/findlib",
"/home/jan/.opam/4.11.0/lib/zarith",
"/home/jan/.opam/4.11.0/lib/cryptokit",
"/home/jan/.opam/4.11.0/lib/re",
"/home/jan/.opam/4.11.0/lib/uchar",
"/home/jan/.opam/4.11.0/lib/uutf",
"/home/jan/.opam/4.11.0/lib/tyxml/functor",
"/home/jan/.opam/4.11.0/lib/tyxml",
"/home/jan/.opam/4.11.0/lib/xml-light",
"/home/jan/.opam/4.11.0/lib/ocsigenserver",
"/home/jan/.opam/4.11.0/lib/ocsigenserver/extensions",
"/home/jan/.opam/4.11.0/lib/ppx_deriving/runtime",
"/home/jan/.opam/4.11.0/lib/js_of_ocaml/deriving",
"/home/jan/.opam/4.11.0/lib/react",
"/home/jan/.opam/4.11.0/lib/reactiveData",
"/home/jan/.opam/4.11.0/lib/lwt_react",
"/home/jan/.opam/4.11.0/lib/eliom/server",
"/home/jan/.opam/4.11.0/lib/eliom/ppx",
"/home/jan/.opam/4.11.0/lib/ppx_deriving",
"/home/jan/.opam/4.11.0/lib/ppx_deriving/show",
"/home/jan/.opam/4.11.0/lib/ppx_deriving/ord",
"/home/jan/.opam/4.11.0/lib/js_of_ocaml",
"/home/jan/.opam/4.11.0/lib/js_of_ocaml-ppx_deriving_json",
"/home/jan/.opam/4.11.0/lib/base64",
"/home/jan/.opam/4.11.0/lib/base/base_internalhash_types",
"/home/jan/.opam/4.11.0/lib/base/caml",
"/home/jan/.opam/4.11.0/lib/base/shadow_stdlib",
"/home/jan/.opam/4.11.0/lib/sexplib0",
"/home/jan/.opam/4.11.0/lib/base",
"/home/jan/.opam/4.11.0/lib/fieldslib",
"/home/jan/.opam/4.11.0/lib/ppx_sexp_conv/runtime-lib",
"/home/jan/.opam/4.11.0/lib/stringext",
"/home/jan/.opam/4.11.0/lib/re/posix",
"/home/jan/.opam/4.11.0/lib/uri",
"/home/jan/.opam/4.11.0/lib/uri-sexp",
"/home/jan/.opam/4.11.0/lib/cohttp",
"/home/jan/.opam/4.11.0/lib/logs",
"/home/jan/.opam/4.11.0/lib/cohttp-lwt",
"/home/jan/.opam/4.11.0/lib/ipaddr-sexp",
"/home/jan/.opam/4.11.0/lib/parsexp",
"/home/jan/.opam/4.11.0/lib/sexplib",
"/home/jan/.opam/4.11.0/lib/conduit",
"/home/jan/.opam/4.11.0/lib/conduit-lwt",
"/home/jan/.opam/4.11.0/lib/ipaddr/unix",
"/home/jan/.opam/4.11.0/lib/uri/services",
"/home/jan/.opam/4.11.0/lib/conduit-lwt-unix",
"/home/jan/.opam/4.11.0/lib/magic-mime",
"/home/jan/.opam/4.11.0/lib/cohttp-lwt-unix",
"/home/jan/.opam/4.11.0/lib/xmlm",
"/home/jan/.opam/4.11.0/lib/ezxmlm",
"/home/jan/.opam/4.11.0/lib/easy-format",
"/home/jan/.opam/4.11.0/lib/biniou",
"/home/jan/.opam/4.11.0/lib/yojson",
"/home/jan/.opam/4.11.0/lib/bs-aws",
"/home/jan/.opam/4.11.0/lib/re/pcre",
"/home/jan/.opam/4.11.0/lib/re/str",
"/home/jan/.opam/4.11.0/lib/calendar",
"/home/jan/.opam/4.11.0/lib/ocsigen-toolkit/server",
"/home/jan/.opam/4.11.0/lib/syndic",
"/home/jan/.opam/4.11.0/lib/ocaml",
"/home/jan/.opam/4.11.0/lib/num",
"/home/jan/.opam/4.11.0/lib/batteries",
"/home/jan/.opam/4.11.0/lib/bigarray-compat",
"/home/jan/.opam/4.11.0/lib/cstruct",
"/home/jan/.opam/4.11.0/lib/hex",
"/home/jan/.opam/4.11.0/lib/jsonm",
"/home/jan/.opam/4.11.0/lib/ezjsonm",
"/home/jan/.opam/4.11.0/lib/ptime",
"/home/jan/.opam/4.11.0/lib/asn1-combinators",
"/home/jan/.opam/4.11.0/lib/gmap",
"/home/jan/.opam/4.11.0/lib/eqaf",
"/home/jan/.opam/4.11.0/lib/eqaf/bigstring",
"/home/jan/.opam/4.11.0/lib/eqaf/cstruct",
"/home/jan/.opam/4.11.0/lib/mirage-crypto",
"/home/jan/.opam/4.11.0/lib/mirage-crypto-rng",
"/home/jan/.opam/4.11.0/lib/rresult",
"/home/jan/.opam/4.11.0/lib/mirage-crypto-pk",
"/home/jan/.opam/4.11.0/lib/x509",
"/home/jan/.opam/4.11.0/lib/mysql",
"/home/jan/.opam/4.11.0/lib/ppx_sexp_conv",
"/home/jan/.opam/4.11.0/lib/resource-pooling",
"/home/jan/.opam/4.11.0/lib/camomile/default_config",
"/home/jan/.opam/4.11.0/lib/camomile/library",
"/home/jan/.opam/4.11.0/lib/camomile/lib_default",
"/home/jan/.opam/4.11.0/lib/camomile/dyn",
"/home/jan/.opam/4.11.0/lib/camomile",
"/home/jan/.opam/4.11.0/lib/integers",
"/home/jan/.opam/4.11.0/lib/ctypes",
"/home/jan/.opam/4.11.0/lib/unix-errno",
"/home/jan/.opam/4.11.0/lib/unix-sys-resource",
"/home/jan/.opam/4.11.0/lib/uunf",
"/home/jan/.opam/4.11.0/lib/uunf/string",
"/home/jan/.opam/4.11.0/lib/markup",
"/home/jan/.opam/4.11.0/lib/lambdasoup",
"/home/jan/.opam/4.11.0/lib/safepass",
"/home/jan/.opam/4.11.0/lib/csv",
"/home/jan/.opam/4.11.0/lib/pgocaml",
"/home/jan/.opam/4.11.0/lib/pgocaml_ppx",
"/home/jan/.opam/4.11.0/lib/ocsigen-start/server"
],
"cmi_path": [],
"cmt_path": [],
"flags_applied": [
{
"workdir": "/home/jan/besport/bs",
"workval": [
"-ppx",
"ocsigen-i18n-rewriter --prefix 'Bs_' --suffix '_i18n' Bs_i18n"
]
},
{
"workdir": "/home/jan/besport/bs",
"workval": [
"-w",
"@A-4-7-9-29-37-38-39-41-42-44-45-48"
]
},
{
"workdir": "/home/jan/besport/bs",
"workval": [
"-open",
"Bs_pervasives"
]
},
{
"workdir": "/home/jan/besport/bs",
"workval": [
"-ppx",
"/home/jan/.opam/4.11.0/lib/pgocaml_ppx/./ppx.exe --as-ppx /home/jan/.opam/4.11.0/lib/ppx_deriving/./ppx_deriving package:ppx_deriving.show package:ppx_deriving.ord package:js_of_ocaml-ppx_deriving_json package:ppx_sexp_conv ppx_eliom_server /home/jan/.opam/4.11.0/lib/lwt_ppx/./ppx.exe --as-ppx"
]
}
],
"extensions": [],
"suffixes": [
{
"impl": ".eliom",
"intf": ".eliomi"
},
{
"impl": ".ml",
"intf": ".mli"
},
{
"impl": ".re",
"intf": ".rei"
}
],
"stdlib": null,
"reader": [],
"protocol": "json",
"log_file": null,
"log_sections": [],
"flags_to_apply": [],
"failures": [],
"assoc_suffixes": [
{
"extension": ".re",
"reader": "reason"
},
{
"extension": ".rei",
"reader": "reason"
}
]
},
"query": {
"filename": "bs_image.eliom",
"directory": "/home/jan/besport/bs",
"printer_width": 0,
"verbosity": 0
}
},
"notifications": [],
"timing": {
"clock": 90,
"cpu": 68,
"query": 2,
"pp": 0,
"reader": 21,
"ppx": 45,
"typer": 0,
"error": 0
}
}
Note that running this command also returned the following which is probably valuable:
ppx.exe: invalid argument "/home/jan/.opam/4.11.0/lib/ppx_deriving/./ppx_deriving".
ppx.exe [options] <input ast file> <output ast file>
--cookie NAME=EXPR Set the cookie NAME to EXPR
-help Display this list of options
--help Display this list of options
Hope this helps
@Zzull I just proposed a fix in PR #1181 However my setup is much less complicated than yours.
It would be great if you found the time to test it before merging !
All you have to to is pin both merlin
and dot-merlin-reader
:
opam pin add dot-merlin-reader.3.4.0 https://github.com/voodoos/merlin.git#issue1179
opam pin add merlin.3.4.0 https://github.com/voodoos/merlin.git#issue1179
It seems to have fixed it. Thanks
Hello,
I have an issue with syntax extensions since I upgraded to 3.4.0. They do not seem to be recognised any more. I have a
PKG lwt_ppx
in my .merlin that has been working up until now but not since I upgraded. Do you have any idea?Thank you for your dedicated work