distributedcomponents / verdi-runtime Goto Github PK
View Code? Open in Web Editor NEWVerdi framework runtime library
License: BSD 2-Clause "Simplified" License
Verdi framework runtime library
License: BSD 2-Clause "Simplified" License
I've been following https://github.com/uwplse/verdi#Building instructions but command
opam install verdi-runtimefailed with a following error message.
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><> π« [ERROR] The compilation of verdi-runtime failed at "/Users/user/.opam/opam-init/hooks/sandbox.sh build ocaml pkg/pkg.ml build --pinned false". #=== ERROR while compiling verdi-runtime.dev ==================================# # context 2.0.3 | macos/x86_64 | ocaml-base-compiler.4.07.1 | http://opam-dev.distributedcomponents.net # path ~/.opam/default/.opam-switch/build/verdi-runtime.dev # command ~/.opam/opam-init/hooks/sandbox.sh build ocaml pkg/pkg.ml build --pinned false # exit-code 1 # env-file ~/.opam/log/verdi-runtime-13459-a71bb4.env # output-file ~/.opam/log/verdi-runtime-13459-a71bb4.out ### output ### # [...] # ocamlfind ocamlopt -c -g -bin-annot -safe-string -package cheerios-runtime -package yojson -package ppx_deriving_yojson -package base64 -I src -o src/DebugShim.cmx src/DebugShim.ml # + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package cheerios-runtime -package yojson -package ppx_deriving_yojson -package base64 -I src -o src/DebugShim.cmx src/DebugShim.ml # File "src/DebugShim.ml", line 100, characters 28-38: # Error: Unbound module B64 # Command exited with code 2. # pkg.ml: [ERROR] cmd ['ocamlbuild' '-use-ocamlfind' '-classic-display' '-j' '4' '-tag' 'debug' # '-build-dir' '_build' 'opam' 'pkg/META' 'CHANGES.md' 'LICENSE.md' # 'README.md' 'src/Util.cmi' 'src/Opts.cmi' 'src/Daemon.cmi' # 'src/Shim.cmi' 'src/DisklessShim.cmi' 'src/OrderedShim.cmi' # 'src/UnorderedShim.cmi' 'src/DynamicShim.cmi' 'src/DiskOpShim.cmi' # 'src/DebugShim.cmi' 'src/verdi_runtime.a' 'src/verdi_runtime.cma' # 'src/verdi_runtime.cmxa' 'src/verdi_runtime.cmxs']: exited with 10 <><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><> π« ββ The following actions failed β Ξ» build verdi-runtime dev ββ βΆβ No changes have been performe
is there any quick fix I can apply?
Current approaches to sending of TCP data in shims make one attempt to send everything at once, and gives up if that fails. A more reasonable approach is to keep trying to send until all is sent or a real error occurs.
More on this technique: https://beej.us/guide/bgnet/output/html/singlepage/bgnet.html#sendall
Everything should work even when string
and bytes
are considered different.
recv
doesn't always return with the amount of data required; in this case, a shim should save incomplete data in a buffer and attempt to fill up the buffer when the socket becomes readable again.
Version 2.3.0 and below of base64 are compatible, while versions above 3.0.0 are not. Probably some cross-compatible solution can be found.
OCaml allows setting sockets as non-blocking. Do this where reasonable, and handle the additional exceptions.
More on non-blocking sockets:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.