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

Build fails on ARM64 #110

Closed
kit-ty-kate opened this issue Apr 11, 2018 · 8 comments · Fixed by ocaml/opam-repository#17714
Closed

Build fails on ARM64 #110

kit-ty-kate opened this issue Apr 11, 2018 · 8 comments · Fixed by ocaml/opam-repository#17714
Labels
forwarded-to-js-devs This report has been forwarded to Jane Street's internal review system.

Comments

@kit-ty-kate
Copy link

kit-ty-kate commented Apr 11, 2018

Currently core.v0.11.0 (and previous versions) fail to build on ARM64. Here is the build log:

+ /home/opam/.opam/4.05.0/bin/jbuilder "build" "-p" "core" "-j" "95" (CWD=/home/opam/.opam/4.05.0/.opam-switch/build/core.v0.11.0)
-     discover src/config.h (exit 2)
- (cd _build/default/src && ./config/discover.exe -ocamlc /home/opam/.opam/4.05.0/bin/ocamlc.opt)
- run: /home/opam/.opam/4.05.0/bin/ocamlc.opt -config
- -> process exited with code 0
- -> stdout:
-  | version: 4.05.0
-  | standard_library_default: /home/opam/.opam/4.05.0/lib/ocaml
-  | standard_library: /home/opam/.opam/4.05.0/lib/ocaml
-  | standard_runtime: /home/opam/.opam/4.05.0/bin/ocamlrun
-  | ccomp_type: cc
-  | bytecomp_c_compiler: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC
-  | bytecomp_c_libraries: -lm  -ldl  -lpthread                  
-  | native_c_compiler: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT
-  | native_c_libraries: -lm  -ldl
-  | native_pack_linker: ld -r  -o 
-  | ranlib: ranlib
-  | cc_profile: -pg
-  | architecture: arm64
-  | model: default
-  | int_size: 63
-  | word_size: 64
-  | system: linux
-  | asm: as
-  | asm_cfi_supported: true
-  | with_frame_pointers: false
-  | ext_exe: 
-  | ext_obj: .o
-  | ext_asm: .s
-  | ext_lib: .a
-  | ext_dll: .so
-  | os_type: Unix
-  | default_executable_name: a.out
-  | systhread_supported: true
-  | host: aarch64-unknown-linux-gnu
-  | target: aarch64-unknown-linux-gnu
-  | profiling: false
-  | flambda: false
-  | spacetime: false
-  | safe_string: false
-  | exec_magic_number: Caml1999X011
-  | cmi_magic_number: Caml1999I021
-  | cmo_magic_number: Caml1999O011
-  | cma_magic_number: Caml1999A012
-  | cmx_magic_number: Caml1999Y015
-  | cmxa_magic_number: Caml1999Z014
-  | ast_impl_magic_number: Caml1999M020
-  | ast_intf_magic_number: Caml1999N018
-  | cmxs_magic_number: Caml2007D002
-  | cmt_magic_number: Caml2012T009
- -> stderr:
- compiling c program:
-  | 
-  | #include <time.h>
-  | 
-  | int main()
-  | {
-  |   struct timespec ts;
-  |   clock_gettime(CLOCK_REALTIME, &ts);
-  |   clock_settime(CLOCK_REALTIME, &ts);
-  |   clock_getres(CLOCK_REALTIME, &ts);
-  |   return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-1/test.exe' '/tmp/ocaml-configurator663edd/c-test-1/test.c' '-lrt'
- -> process exited with code 0
- -> stdout:
- -> stderr:
- compiling c program:
-  | 
-  | #define JSC_THREAD_ID_METHOD 1
-  | #include "/home/opam/.opam/4.05.0/.opam-switch/build/core.v0.11.0/_build/default/src/thread_id.h"
-  | 
-  | int main ()
-  | {
-  |   GET_THREAD_ID;
-  |   return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-3/test.exe' '/tmp/ocaml-configurator663edd/c-test-3/test.c'
- -> process exited with code 0
- -> stdout:
- -> stderr:
-  | In file included from /tmp/ocaml-configurator663edd/c-test-3/test.c:3:0:
-  | /tmp/ocaml-configurator663edd/c-test-3/test.c: In function 'main':
-  | /home/opam/.opam/4.05.0/.opam-switch/build/core.v0.11.0/_build/default/src/thread_id.h:11:23: warning: implicit declaration of function 'syscall' [-Wimplicit-function-declaration]
-  |  #define GET_THREAD_ID syscall(SYS_gettid)
-  |                        ^
-  | /tmp/ocaml-configurator663edd/c-test-3/test.c:7:3: note: in expansion of macro 'GET_THREAD_ID'
-  |    GET_THREAD_ID;
-  |    ^~~~~~~~~~~~~
- compiling c program:
-  | 
-  | #include <sys/eventfd.h>
-  | 
-  | int main()
-  | {
-  |   int fd = eventfd(0, 0);
-  |   return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-5/test.exe' '/tmp/ocaml-configurator663edd/c-test-5/test.c'
- -> process exited with code 0
- -> stdout:
- -> stderr:
- compiling c program:
-  | 
-  | #include <sys/timerfd.h>
-  | 
-  | int main()
-  | {
-  |   timerfd_create(0, 0);
-  |   return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-7/test.exe' '/tmp/ocaml-configurator663edd/c-test-7/test.c'
- -> process exited with code 0
- -> stdout:
- -> stderr:
- compiling c program:
-  | 
-  | #include <wordexp.h>
-  | 
-  | int main()
-  | {
-  |   wordexp_t w;
-  |   wordexp("", &w, 0);
-  |   return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-9/test.exe' '/tmp/ocaml-configurator663edd/c-test-9/test.c'
- -> process exited with code 0
- -> stdout:
- -> stderr:
- compiling c program:
-  | 
-  | #include <sys/types.h>
-  | #include <sys/socket.h>
-  | 
-  | int main()
-  | {
-  |    send(0, "", 0, MSG_NOSIGNAL);
-  |    return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-11/test.exe' '/tmp/ocaml-configurator663edd/c-test-11/test.c'
- -> process exited with code 0
- -> stdout:
- -> stderr:
- compiling c program:
-  | 
-  | #include <sys/types.h>
-  | #include <sys/socket.h>
-  | 
-  | int main()
-  | {
-  |    send(0, "", 0, SO_NOSIGPIPE);
-  |    return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-13/test.exe' '/tmp/ocaml-configurator663edd/c-test-13/test.c'
- -> process exited with code 1
- -> stdout:
- -> stderr:
-  | /tmp/ocaml-configurator663edd/c-test-13/test.c: In function 'main':
-  | /tmp/ocaml-configurator663edd/c-test-13/test.c:7:19: error: 'SO_NOSIGPIPE' undeclared (first use in this function)
-  |     send(0, "", 0, SO_NOSIGPIPE);
-  |                    ^~~~~~~~~~~~
-  | /tmp/ocaml-configurator663edd/c-test-13/test.c:7:19: note: each undeclared identifier is reported only once for each function it appears in
- compiling c program:
-  | 
-  | #include <unistd.h>
-  | 
-  | int main()
-  | {
-  |   fdatasync(0);
-  |   return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-15/test.exe' '/tmp/ocaml-configurator663edd/c-test-15/test.c'
- -> process exited with code 0
- -> stdout:
- -> stderr:
- compiling c program:
-  | 
-  | #define _GNU_SOURCE
-  | #include <sys/socket.h>
-  | 
-  | int main () {
-  |   recvmmsg(0, 0, 0, 0, 0);
-  |   return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-17/test.exe' '/tmp/ocaml-configurator663edd/c-test-17/test.c'
- -> process exited with code 0
- -> stdout:
- -> stderr:
- compiling c program:
-  | 
-  | #include <pthread.h>
-  | #include <time.h>
-  | 
-  | int main()
-  | {
-  |    pthread_mutex_t m;
-  |    struct timespec ts;
-  |    pthread_mutex_timedlock(&m, &ts);
-  |    return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-19/test.exe' '/tmp/ocaml-configurator663edd/c-test-19/test.c' '-lpthread'
- -> process exited with code 0
- -> stdout:
- -> stderr:
- compiling c program:
-  | 
-  | #include <pthread.h>
-  | #include <time.h>
-  | 
-  | int main()
-  | {
-  |    clockid_t clock;
-  |    pthread_getcpuclockid(pthread_self(), &clock);
-  |    return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-21/test.exe' '/tmp/ocaml-configurator663edd/c-test-21/test.c' '-lpthread'
- -> process exited with code 0
- -> stdout:
- -> stderr:
- compiling c program:
-  | 
-  | #include <stdlib.h>
-  | 
-  | int main () {
-  |   mkostemp("", 0);
-  |   return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-23/test.exe' '/tmp/ocaml-configurator663edd/c-test-23/test.c'
- -> process exited with code 0
- -> stdout:
- -> stderr:
-  | /tmp/ocaml-configurator663edd/c-test-23/test.c: In function 'main':
-  | /tmp/ocaml-configurator663edd/c-test-23/test.c:5:3: warning: implicit declaration of function 'mkostemp' [-Wimplicit-function-declaration]
-  |    mkostemp("", 0);
-  |    ^~~~~~~~
- compiling c program:
-  | #include <stdio.h>
-  | #include <sys/resource.h>
-  | 
-  | int main()
-  | {
-  | #if defined(RLIMIT_AS)
-  |   printf("RLIMIT_AS=b:true\n");
-  | #else
-  |   printf("RLIMIT_AS=b:false\n");
-  | #endif
-  | #if defined(RLIMIT_NICE)
-  |   printf("RLIMIT_NICE=b:true\n");
-  | #else
-  |   printf("RLIMIT_NICE=b:false\n");
-  | #endif
-  |   return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-25/test.exe' '/tmp/ocaml-configurator663edd/c-test-25/test.c'
- -> process exited with code 0
- -> stdout:
- -> stderr:
- run: /tmp/ocaml-configurator663edd/c-test-25/test.exe
- -> process exited with code 0
- -> stdout:
-  | RLIMIT_AS=b:true
-  | RLIMIT_NICE=b:true
- -> stderr:
- compiling c program:
-  | #include <stdio.h>
-  | #include <caml/config.h>
-  | 
-  | int main()
-  | {
-  | #if defined(ARCH_BIG_ENDIAN)
-  |   printf("ARCH_BIG_ENDIAN=b:true\n");
-  | #else
-  |   printf("ARCH_BIG_ENDIAN=b:false\n");
-  | #endif
-  | #if defined(ARCH_SIXTYFOUR)
-  |   printf("ARCH_SIXTYFOUR=b:true\n");
-  | #else
-  |   printf("ARCH_SIXTYFOUR=b:false\n");
-  | #endif
-  |   return 0;
-  | }
- run: gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC '-I' '/home/opam/.opam/4.05.0/lib/ocaml' '-o' '/tmp/ocaml-configurator663edd/c-test-28/test.exe' '/tmp/ocaml-configurator663edd/c-test-28/test.c'
- -> process exited with code 0
- -> stdout:
- -> stderr:
- run: /tmp/ocaml-configurator663edd/c-test-28/test.exe
- -> process exited with code 0
- -> stdout:
-  | ARCH_BIG_ENDIAN=b:false
-  | ARCH_SIXTYFOUR=b:true
- -> stderr:
- Fatal error: exception (runtime-lib/runtime.ml.E "comparison failed"
-   ((switch true) vs (switch false) (Loc src/config/discover.ml:205:15)))
- Raised at file "src/import0.ml" (inlined), line 351, characters 22-32
- Called from file "src/configurator.ml", line 511, characters 13-22
- Called from file "src/config/discover.ml", line 136, characters 2-1023
[ERROR] The compilation of core failed at "/home/opam/.opam/4.05.0/bin/jbuilder build -p core -j 95".

Complete build log here: https://arm64.ci.ocamllabs.io/log/saved/docker-run-290f1d15e8c68cb17b235fea3615552c/9b25b672beab25dfc640707bea6a8541fa815f65

@vbmithr
Copy link

vbmithr commented Jun 24, 2018

Now I have:

# context     2.0.0~rc3 | linux/arm64 | ocaml-base-compiler.4.06.1 | https://opam.ocaml.org/2.0#19a8c9ad
# path        ~/.opam/vb/.opam-switch/build/core.v0.11.1
# command     ~/.opam/opam-init/hooks/sandbox.sh build jbuilder build -p core -j 4
# exit-code   1
# env-file    ~/.opam/log/core-13385-d474c2.env
# output-file ~/.opam/log/core-13385-d474c2.out
### output ###
# [...]
# -> stderr:
# run: /tmp/ocaml-configurator0f1b65/c-test-28/test.exe
# -> process exited with code 0
# -> stdout:
#  | ARCH_BIG_ENDIAN=b:false
#  | ARCH_SIXTYFOUR=b:true
# -> stderr:
# Fatal error: exception (runtime-lib/runtime.ml.E "comparison failed"
#   ((switch true) vs (switch false) (Loc src/config/discover.ml:205:15)))
# Raised at file "src/import0.ml" (inlined), line 351, characters 22-32
# Called from file "src/configurator.ml", line 511, characters 13-22
# Called from file "src/config/discover.ml", line 136, characters 2-1023```

@vbmithr
Copy link

vbmithr commented Jun 24, 2018

@hhugo Any chance to get this fixed?

@billtohara
Copy link

FWIW, the build is stopped because of this line which asserts that if the platform is 64-bit, it must be x86:

https://github.com/janestreet/core/blob/master/src/config/discover.ml#L207

If you comment out this check, it gets pretty far and then breaks as follows. I don't know enough ocaml or about the library to hazard a guess. Though I have applications I'd love to compile on the ARM64 that need it.

jbuilder build @install
      ocamlc src/.core.objs/core__Core_time_intf.{cmi,cmo,cmt} (exit 2)
(cd _build/default && /opt/opam/4.06.1/bin/ocamlc.opt -w -40 -g -bin-annot -I src/.core.objs -I /opt/opam/4.06.1/lib/base -I /opt/opam/4.06.1/lib/base/caml -I /opt/opam/4.06.1/lib/base/md5 -I /opt/opam/4.06.1/lib/base/shadow_stdlib -I /opt/opam/4.06.1/lib/bin_prot -I /opt/opam/4.06.1/lib/bin_prot/shape -I /opt/opam/4.06.1/lib/core_kernel -I /opt/opam/4.06.1/lib/core_kernel/base_for_tests -I /opt/opam/4.06.1/lib/fieldslib -I /opt/opam/4.06.1/lib/jane-street-headers -I /opt/opam/4.06.1/lib/ocaml/threads -I /opt/opam/4.06.1/lib/parsexp -I /opt/opam/4.06.1/lib/ppx_assert/runtime-lib -I /opt/opam/4.06.1/lib/ppx_bench/runtime-lib -I /opt/opam/4.06.1/lib/ppx_compare/runtime-lib -I /opt/opam/4.06.1/lib/ppx_expect/collector -I /opt/opam/4.06.1/lib/ppx_expect/common -I /opt/opam/4.06.1/lib/ppx_expect/config -I /opt/opam/4.06.1/lib/ppx_hash/runtime-lib -I /opt/opam/4.06.1/lib/ppx_inline_test/config -I /opt/opam/4.06.1/lib/ppx_inline_test/runtime-lib -I /opt/opam/4.06.1/lib/ppx_sexp_conv/runtime-lib -I /opt/opam/4.06.1/lib/sexplib -I /opt/opam/4.06.1/lib/sexplib/unix -I /opt/opam/4.06.1/lib/sexplib0 -I /opt/opam/4.06.1/lib/spawn -I /opt/opam/4.06.1/lib/splittable_random -I /opt/opam/4.06.1/lib/stdio -I /opt/opam/4.06.1/lib/typerep -I /opt/opam/4.06.1/lib/variantslib -no-alias-deps -open Core__ -o src/.core.objs/core__Core_time_intf.cmo -c -impl src/core_time_intf.pp.ml)
File "src/core_time_intf.ml", line 10, characters 17-43:
Error: Unbound module type Time.S_kernel_without_zone
    ocamlopt src/.core.objs/core__Iobuf.{cmx,o}
File "src/iobuf.ml", line 998, characters 4-62:
Warning 55: Cannot inline: Function information unavailable
Makefile:5: recipe for target 'default' failed
make: *** [default] Error 1

@ghost
Copy link

ghost commented Jul 10, 2018

It seems that this variable is no longer used in our source tree, I'm removing it

@argent-smith
Copy link

Here's my case.

[ERROR] The compilation of core failed at "/home/dev/.opam/default/bin/jbuilder build -p core -j 3".

#=== ERROR while compiling core.v0.11.2 =======================================#
# context              2.0.0 | linux/arm64 | ocaml-base-compiler.4.07.0 | https://opam.ocaml.org/2.0#815ad398
# path                 ~/.opam/default/.opam-switch/build/core.v0.11.2
# command              ~/.opam/default/bin/jbuilder build -p core -j 3
# exit-code            1
# env-file             ~/.opam/log/core-8-283391.env
# output-file          ~/.opam/log/core-8-283391.out
### output ###
# [...]
# -> stdout:
# -> stderr:
# run: /tmp/ocaml-configurator0f1958/c-test-28/test.exe
# -> process exited with code 0
# -> stdout:
#  | ARCH_BIG_ENDIAN=b:false
#  | ARCH_SIXTYFOUR=b:true
# -> stderr:
# Fatal error: exception (runtime-lib/runtime.ml.E "comparison failed"
#   ((switch true) vs (switch false) (Loc src/config/discover.ml:205:15)))
# Raised at file "src/configurator.ml", line 511, characters 13-22
# Called from file "src/config/discover.ml", line 136, characters 2-1023

ghost pushed a commit that referenced this issue Sep 12, 2018
While using core.v0.11.1 with the 4.06.1 release of ocaml, installed
via opam on a Gentoo Linux install with glibc 2.26, linking of ocaml
binaries fails with:

 [...]/.opam/4.06.1/lib/core/libcore_stubs.a(unix_stubs.o): In function `unix_mknod_stub':
 [...]/.opam/4.06.1/build/core.v0.11.1/_build/default/src/unix_stubs.c:281: undefined reference to `makedev'
 collect2: error: ld returned 1 exit status
 File "caml_startup", line 1:
 Error: Error during linking
 Command exited with code 2.

Glibc had traditionally supported the BSD way of including makedev via
<sys/types.h>, but 2.25 has deprecated this behavior. The macro is now
imported via <sys/sysmacros.h>.

I have tested compilation of this patch both on Linux and MacOS 10.13,
but on top of the v0.11 branch; master is broken for me due to #110. I
have replaced the libcore_stubs.a in my opam installation with the
fixed one, and the 'undefined reference' error disappeared.

Signed-off-by: Marco Leogrande <dark.knight.ita@gmail.com>
@abhi18av
Copy link

And here's mine

root@cub:~# opam install core
[WARNING] Running as root is not recommended
The following actions will be performed:
  ∗ install core v0.11.3

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[core.v0.11.3] found in cache

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of core failed at "/root/.opam/default/bin/jbuilder build -p core -j 5".

#=== ERROR while compiling core.v0.11.3 =======================================#
# context     2.0.0 | linux/arm64 | ocaml-base-compiler.4.07.1 | https://opam.ocaml.org#b2024a11
# path        ~/.opam/default/.opam-switch/build/core.v0.11.3
# command     ~/.opam/default/bin/jbuilder build -p core -j 5
# exit-code   1
# env-file    ~/.opam/log/core-25713-05296d.env
# output-file ~/.opam/log/core-25713-05296d.out
### output ###
# [...]
# -> stdout:
# -> stderr:
# run: /tmp/ocaml-configurator711ca3/c-test-28/test.exe
# -> process exited with code 0
# -> stdout:
#  | ARCH_BIG_ENDIAN=b:false
#  | ARCH_SIXTYFOUR=b:true
# -> stderr:
# Fatal error: exception (runtime-lib/runtime.ml.E "comparison failed"
#   ((switch true) vs (switch false) (Loc src/config/discover.ml:205:15)))
# Raised at file "src/configurator.ml", line 511, characters 13-22
# Called from file "src/config/discover.ml", line 136, characters 2-1023



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
┌─ The following actions failed
│ λ build core v0.11.3
└─
╶─ No changes have been performed

@kit-ty-kate
Copy link
Author

Closing since this is fixed from v0.12.0 on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
forwarded-to-js-devs This report has been forwarded to Jane Street's internal review system.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants