Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reason V4 [Stack 4/n #2619] [Make merlin and rtop respect latest syntax by default] #2619

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

jordwalke
Copy link
Member

@jordwalke jordwalke commented Aug 6, 2020

Reason v4 rtop and merlin support


This is diff 3 in a stack of github PRs: Only examine the most recent commit in this PR to understand what this specific PR accomplishes. The whole stack is:

  1. Reason V4 [Stacked Diff 1/n Reason V4 [Stack 1/n #2605] [Allow multiple versions of Reason] #2605] [Allow multiple versions of Reason] …
  2. Reason V4 [Stacked Diff 2/n Reason V4 [Stack 2/n #2599] [String Template Literals] #2599] [String Template Literals] …
  3. Reason V4 [Stacked Diff 3/n Reason V4 [Stack 3/n] [Parse Hashtags for polymorphic variants] #2614] [Parse Hashtags for polymorphic va… …
  4. YOU ARE HERE --> Reason V4 [Stacked Diff 4/n Reason V4 [Stack 4/n #2619] [Make merlin and rtop respect latest syntax by default] #2619] [Make merlin and rtop respect late… …

Enables the new "v4 syntax" (actually marked v3.8) in merlin, and rtop. This should also make refmterr print the new syntax for types.

This is diff 4 in a stack of github PRs:
Only examine the most recent commit in this PR to understand what this specific PR accomplishes. The whole stack is:

  1. Reason V4 [Stacked Diff 1/n Reason V4 [Stack 1/n #2605] [Allow multiple versions of Reason] #2605] [Allow multiple versions of Reason] …
  2. Reason V4 [Stacked Diff 2/n Reason V4 [Stack 2/n #2599] [String Template Literals] #2599] [String Template Literals] …
  3. Reason V4 [Stacked Diff 3/n Reason V4 [Stack 3/n] [Parse Hashtags for polymorphic variants] #2614] [Parse Hashtags for polymorphic va… …
  4. YOU ARE HERE --> Reason V4 [Stacked Diff 4/n Reason V4 [Stack 4/n #2619] [Make merlin and rtop respect latest syntax by default] #2619] [Make merlin and rtop respect late… …

jordwalke added a commit that referenced this pull request Aug 6, 2020
@jordwalke jordwalke changed the title Merlin rtop new syntax Reason V4 [Stack 4/n #2619] [Make merlin and rtop respect latest syntax by default] Aug 6, 2020
jordwalke added a commit that referenced this pull request Aug 10, 2020
jordwalke added a commit that referenced this pull request Aug 10, 2020
jordwalke added a commit that referenced this pull request Aug 10, 2020
jordwalke added a commit that referenced this pull request Aug 10, 2020
jordwalke added a commit that referenced this pull request Aug 10, 2020
jordwalke added a commit that referenced this pull request Aug 10, 2020
jordwalke added a commit that referenced this pull request Aug 11, 2020
jordwalke added a commit that referenced this pull request Aug 17, 2020
jordwalke added a commit that referenced this pull request Aug 17, 2020
Summary:This allows multiple versions of Reason in a single project by
inferring and recording the version of syntax used into the file in an
attribute. The attribute allows us to switch the parser and lexer on the
fly. This attribute is not the only way we can infer the version, and we
can allow project level configuration, but this is the approach that is
guaranteed to work with any build system or tooling.

Test Plan:

Reviewers:

CC:
Summary:This diff implements string template literals.

Test Plan:

Reviewers:

CC:
This reverts commit f005630051aa47c2e2a51634229e8f26d7b56ab6.
@idkjs
Copy link

idkjs commented May 11, 2021

How does one build this if you wanted to hack on it? I dont know what to do after this error:

mando@mandalarian ~/Github> gh repo clone idkjs/reason
Cloning into 'reason'...
remote: Enumerating objects: 15697, done.
remote: Counting objects: 100% (36/36), done.
remote: Compressing objects: 100% (33/33), done.
remote: Total 15697 (delta 9), reused 3 (delta 0), pack-reused 15661
Receiving objects: 100% (15697/15697), 22.95 MiB | 9.58 MiB/s, done.
Resolving deltas: 100% (10358/10358), done.
Updating upstream
From https://github.com/reasonml/reason
 * [new branch]                master     -> upstream/master
mando@mandalarian ~/Github> cd reason
mando@mandalarian ~/G/reason (master)> gh pr checkout 2619
? Which should be the base repository (used for e.g. querying issues) for this directory? reasonml/reason
remote: Enumerating objects: 206, done.
remote: Counting objects: 100% (162/162), done.
remote: Total 206 (delta 162), reused 162 (delta 162), pack-reused 44
Receiving objects: 100% (206/206), 55.49 KiB | 11.10 MiB/s, done.
Resolving deltas: 100% (172/172), completed with 117 local objects.
From https://github.com/reasonml/reason
 * [new branch]                MerlinRtopNewSyntax -> upstream/MerlinRtopNewSyntax
Switched to a new branch 'MerlinRtopNewSyntax'
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> code .
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> make install
opam pin add reason . -y
[reason.3.7.0] synchronised from git+file:///Users/mando/Github/reason#MerlinRtopNewSyntax
reason is now pinned to git+file:///Users/mando/Github/reason#MerlinRtopNewSyntax (version 3.7.0)

The following dependencies couldn't be met:
  - reason -> ocaml < 4.12
      base of this switch (use `--unlock-base' to force)

[NOTE] Pinning command successful, but your installed packages may be out of sync.
make: *** [install] Error 20

So I then run ~/G/reason (MerlinRtopNewSyntax)> opam switch create . ocaml-base-compiler.4.11.0 --deps-only

then make install and make build which gets me to:

-> installed utop.2.7.0
Done.
# Run eval (opam env) to update the current shell environment
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> eval (opam env)
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> make install
opam pin add reason . -y
[reason.3.7.0] synchronised from git+file:///Users/mando/Github/reason#MerlinRtopNewSyntax
reason is now pinned to git+file:///Users/mando/Github/reason#MerlinRtopNewSyntax (version 3.7.0)

The following actions will be performed:
  - install reason 3.7.0*
[reason.3.7.0] synchronised from git+file:///Users/mando/Github/reason#MerlinRtopNewSyntax

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed reason.3.7.0
Done.
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> code .
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> make build
dune build
File "reason_syntax_util.cppo.ml", line 764, characters 8-26:
Error (warning 32): unused value last_index_rec_opt.
File "src/reason-parser/reason_parser.mly", line 2744, characters 19-34:
Error (alert deprecated): Reason_migrate_parsetree.OCaml_408.Ast.Longident.parse
this function may misparse its input,
use "Parse.longident" or "Longident.unflatten"
File "src/reason-parser/reason_pprint_ast.ml", line 1958, characters 9-17:
1958 |     let {stdAttrs; jsxAttrs; stylisticAttrs} = partitionAttributes x.pexp_attributes in
                ^^^^^^^^
Error (warning 27): unused variable stdAttrs.
File "src/reason-parser/reason_pprint_ast.ml", line 1958, characters 19-27:
1958 |     let {stdAttrs; jsxAttrs; stylisticAttrs} = partitionAttributes x.pexp_attributes in
                          ^^^^^^^^
Error (warning 27): unused variable jsxAttrs.
make: *** [build] Error 1

Maybe i should be using a different compiler?

Just to be thorough, I tried building with esy without success:

Details
 ~/Github> gh repo clone idkjs/reason reason-esy
Cloning into 'reason-esy'...
remote: Enumerating objects: 15697, done.
remote: Counting objects: 100% (36/36), done.
remote: Compressing objects: 100% (33/33), done.
remote: Total 15697 (delta 9), reused 3 (delta 0), pack-reused 15661
Receiving objects: 100% (15697/15697), 22.95 MiB | 14.04 MiB/s, done.
Resolving deltas: 100% (10358/10358), done.
Updating upstream
From https://github.com/reasonml/reason
 * [new branch]                master     -> upstream/master
mando@mandalarian ~/Github> cd reason-esy/
mando@mandalarian ~/G/reason-esy (master)> gh pr checkout 2619
? Which should be the base repository (used for e.g. querying issues) for this directory? reasonml/reason
remote: Enumerating objects: 206, done.
remote: Counting objects: 100% (162/162), done.
remote: Total 206 (delta 162), reused 162 (delta 162), pack-reused 44
Receiving objects: 100% (206/206), 55.49 KiB | 11.10 MiB/s, done.
Resolving deltas: 100% (172/172), completed with 117 local objects.
From https://github.com/reasonml/reason
 * [new branch]                MerlinRtopNewSyntax -> upstream/MerlinRtopNewSyntax
Switched to a new branch 'MerlinRtopNewSyntax'
mando@mandalarian ~/G/reason-esy (MerlinRtopNewSyntax)> esy
info esy 0.6.10 (using esy.json)
info fetching: done
info installing: done
info building ocaml@4.6.1000@d41d8cd9
error: build failed with exit code: 1
  build log:
    # esy-build-package: building: ocaml@4.6.1000
    # esy-build-package: pwd: /Users/mando/.esy/3/b/ocaml-4.6.1000-a4275564
    # esy-build-package: running: './esy-configure' '-no-cfi' '-prefix' '/Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564'
    [esy-configure] Detected OSX / Linux environment
    Configuring OCaml version 4.06.1
    Configuring for host x86_64-apple-darwin20.4.0 ...
    Configuring for target x86_64-apple-darwin20.4.0 ...
    Using compiler gcc.
    Compiler family and version: clang-12-0.
    The C compiler is ISO C99 compliant.
    Checking the sizes of integers and pointers...
    Wow! A 64 bit architecture!
    This is a little-endian architecture.
    Doubles can be word-aligned.
    64-bit integers can be word-aligned.
    ranlib found
    #! appears to work in shell scripts.
    Signals have the System V semantics.
    expm1(), log1p(), hypot(), copysign() found.
    issetugid() found.
    socklen_t is defined in <sys/socket.h>
    stdint.h found.
    unistd.h found.
    off_t is defined in <sys/types.h>
    dirent.h found.
    sys/select.h found.
    stat() supports nanosecond precision.
    sys/shm.h found.
    No replay debugger (missing system calls)
    System stack overflow can be detected.
    POSIX threads library supported.
    Options for linking with POSIX threads: -lpthread
    Bytecode threads library not supported (missing system calls)
    [WARNING] Cannot compile X11 program.
    [WARNING] X11 not found, the "graph" library will not be supported.
    [WARNING] BFD library not found, 'objinfo' will be unable to display info  on .cmxs files.
    CFI support: disabled by command-line option -no-cfi

    ** Configuration summary **

    Directories where OCaml will be installed:
            binaries.................. /Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564/bin
            standard library.......... /Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564/lib/ocaml
            manual pages.............. /Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564/man (with extension .1)
    Configuration for the bytecode compiler:
            C compiler used........... gcc
            options for compiling.....  -O2 -fno-strict-aliasing -fwrapv
            options for linking.......      -lpthread
            shared libraries not supported
    Configuration for the native-code compiler:
            hardware architecture..... amd64
            OS variant................ macosx
            C compiler used........... gcc
            options for compiling.....  -O2 -fno-strict-aliasing -fwrapv
            options for linking.......
            assembler ................ clang -arch x86_64 -Wno-trigraphs -c
            preprocessed assembler ... clang -arch x86_64 -Wno-trigraphs -c
            assembler supports CFI ... no
            with frame pointers....... no
            naked pointers forbidden.. no
            spacetime profiling....... no
            reserved bits in header... no
            C plugins................. no
            compile with -fPIC........ no
            native dynlink ........... true
            profiling with gprof ..... supported
            using flambda middle-end . no
            force safe strings ............. no
            (-safe-string is the default per-file option)
            flat float arrays ........ yes
            afl-fuzz always enabled .. no
    Source-level replay debugger: not supported
    Additional libraries supported:
            unix str dynlink bigarray raw_spacetime_lib systhreads
    The "graph" library: not supported

    ** OCaml configuration completed successfully **

    # esy-build-package: running: './esy-build'
    [esy-build] Detected OSX / Linux environment
    /Applications/Xcode.app/Contents/Developer/usr/bin/make -C byterun  all
    echo "/Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564/lib/ocaml/stublibs" > ld.conf
    sed -n -e '/^  /s/ \([A-Z]\)/ \&\&lbl_\1/gp' \
    	       -e '/^}/q' caml/instruct.h > caml/jumptbl.h
    ../tools/make-version-header.sh ../VERSION > caml/version.h
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  stacks.c
    echo "/Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564/lib/ocaml" >> ld.conf
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  fix_code.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  startup_aux.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  freelist.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  major_gc.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  minor_gc.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  memory.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  alloc.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  roots.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  globroots.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  fail.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  signals.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  signals_byt.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  printexc.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  backtrace_prim.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  backtrace.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  compare.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  ints.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  floats.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  str.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  array.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  io.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  extern.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  intern.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  hash.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  sys.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  meta.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  parsing.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  gc_ctrl.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  terminfo.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  md5.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  obj.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  lexing.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  callback.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  debugger.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  weak.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  compact.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  finalise.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  custom.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  dynlink.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  spacetime.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  afl.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  unix.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  bigarray.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  main.c
    sed -n -e "s/CAMLprim value \([a-z0-9_][a-z0-9_]*\).*/\1/p" alloc.c array.c compare.c extern.c floats.c gc_ctrl.c hash.c intern.c interp.c ints.c io.c lexing.c md5.c meta.c obj.c parsing.c signals.c str.c sys.c terminfo.c callback.c weak.c finalise.c stacks.c dynlink.c backtrace_prim.c backtrace.c spacetime.c afl.c \
    	  | LC_ALL=C sort | uniq > primitives
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  interp.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  misc.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  startup.c
    (echo '#define CAML_INTERNALS'; \
             echo '#include "caml/mlvalues.h"'; \
    	 echo '#include "caml/prims.h"'; \
    	 sed -e 's/.*/extern value &();/' primitives; \
    	 echo 'c_primitive caml_builtin_cprim[] = {'; \
    	 sed -e 's/.*/	&,/' primitives; \
    	 echo '	 0 };'; \
    	 echo 'char * caml_names_of_builtin_cprim[] = {'; \
    	 sed -e 's/.*/	"&",/' primitives; \
    	 echo '	 0 };') > prims.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  prims.c
    ar rc libcamlrun.a  interp.o misc.o stacks.o fix_code.o startup_aux.o startup.o freelist.o major_gc.o minor_gc.o memory.o alloc.o roots.o globroots.o fail.o signals.o signals_byt.o printexc.o backtrace_prim.o backtrace.o compare.o ints.o floats.o str.o array.o io.o extern.o intern.o hash.o sys.o meta.o parsing.o gc_ctrl.o terminfo.o md5.o obj.o lexing.o callback.o debugger.o weak.o compact.o finalise.o custom.o dynlink.o spacetime.o afl.o unix.o bigarray.o main.o; ranlib libcamlrun.a
    gcc -O2 -fno-strict-aliasing -fwrapv -Wall  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE   -Wl,-no_compact_unwind  -o ocamlrun prims.o libcamlrun.a -lpthread
    cp byterun/ocamlrun boot/ocamlrun
    /Applications/Xcode.app/Contents/Developer/usr/bin/make -C yacc  all
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o closure.o closure.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o error.o error.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o lalr.o lalr.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o lr0.o lr0.c
    echo "#define OCAML_VERSION \"`sed -e 1q ../VERSION | tr -d '\r'`\"" > version.h
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o mkpar.o mkpar.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o output.o output.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o reader.o reader.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o skeleton.o skeleton.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o symtab.o symtab.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o verbose.o verbose.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o warshall.o warshall.c
    gcc -c -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -I../byterun -o main.o main.c
    gcc -O2 -fno-strict-aliasing -fwrapv -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE   -Wl,-no_compact_unwind -o ocamlyacc closure.o error.o lalr.o lr0.o main.o mkpar.o output.o reader.o skeleton.o symtab.o verbose.o warshall.o
    cp yacc/ocamlyacc boot/ocamlyacc
    /Applications/Xcode.app/Contents/Developer/usr/bin/make -C stdlib  \
    	  COMPILER="../boot/ocamlc -use-prims ../byterun/primitives" all
    ../boot/ocamlrun ../boot/ocamlc -use-prims ../byterun/primitives -strict-sequence -absname -w +a-4-9-41-42-44-45-48 -g -warn-error A -bin-annot -nostdlib -safe-string -strict-formats `sh ./Compflags camlinternalFormatBasics.cmi` -c camlinternalFormatBasics.mli
    sed -e "s|%%VERSION%%|`sed -e 1q ../VERSION | tr -d '\r'`|" sys.mlp > sys.ml
    for suff in '' d i; do \
    	  echo '#!/Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564/bin/ocamlrun'$suff > camlheader$suff && \
    	  echo '#!/Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564/bin/ocamlrun'$suff >target_camlheader$suff; \
    	done && \
    	echo '#!' | tr -d '\012' > camlheader_ur;
    for suff in '' d i; do \
    	  echo '#!/Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564/bin/ocamlrun'$suff > camlheader$suff && \
    	  echo '#!/Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564/bin/ocamlrun'$suff >target_camlheader$suff; \
    	done && \
    	echo '#!' | tr -d '\012' > camlheader_ur;
    for suff in '' d i; do \
    	  echo '#!/Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564/bin/ocamlrun'$suff > camlheader$suff && \
    	  echo '#!/Users/mando/.esy/3__________________________________________________________________/s/ocaml-4.6.1000-a4275564/bin/ocamlrun'$suff >target_camlheader$suff; \
    	done && \
    	echo '#!' | tr -d '\012' > camlheader_ur;
    Fatal error: exception Invalid_argument("Sys.getcwd not implemented")
    make[1]: *** [camlinternalFormatBasics.cmi] Error 2
    make: *** [coldstart] Error 2
    error: command failed: './esy-build' (exited with 2)
    esy-build-package: exiting with errors above...

  building ocaml@4.6.1000
esy: exiting due to errors above
```

Any guidance will be greatly appreciated.

I'm looking forward to this release and am happy to help in any small way I can.

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants