janestreet / core

Jane Street Capital's standard library overlay
MIT License
1.11k stars 111 forks source link

dune utop link error (v0.12) #126

Closed jasone closed 5 years ago

jasone commented 5 years ago

dune utop fails as such with core v0.12, perhaps due to depending on an OCaml runtime symbol named caml_exn_Invalid_argument that is not exported anymore. I'm using OCaml 4.07.0+flambda via opam2. The latest revision of the offending files, which is labeled as v0.13-preview.120.26+17, appears to incorporate a fix, but if the release schedule is yearly, it's going to be a long wait. Can the fix be cherry-picked to the v0.12 branch and incorporated into an opam update?

je@maple:~/projects/OutWordZ [master]> dune utop
      ocamlc .utop/utop.exe (exit 2)
(cd _build/default && /home/je/.opam/4.07.0+flambda/bin/ocamlc.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -24 -g -o .utop/utop.exe -custom -linkall -warn-error -31 -I /home/je/.opam/4.07.0+flambda/lib/ANSITerminal -I /home/je/.opam/4.07.0+flambda/lib/base -I /home/je/.opam/4.07.0+flambda/lib/base/caml -I /home/je/.opam/4.07.0+flambda/lib/base/md5 -I /home/je/.opam/4.07.0+flambda/lib/base/shadow_stdlib -I /home/je/.opam/4.07.0+flambda/lib/base_bigstring -I /home/je/.opam/4.07.0+flambda/lib/base_quickcheck -I /home/je/.opam/4.07.0+flambda/lib/bin_prot -I /home/je/.opam/4.07.0+flambda/lib/bin_prot/shape -I /home/je/.opam/4.07.0+flambda/lib/bytes -I /home/je/.opam/4.07.0+flambda/lib/camomile -I /home/je/.opam/4.07.0+flambda/lib/camomile/default_config -I /home/je/.opam/4.07.0+flambda/lib/camomile/dyn -I /home/je/.opam/4.07.0+flambda/lib/camomile/lib_default -I /home/je/.opam/4.07.0+flambda/lib/camomile/library -I /home/je/.opam/4.07.0+flambda/lib/core -I /home/je/.opam/4.07.0+flambda/lib/core_kernel -I /home/je/.opam/4.07.0+flambda/lib/core_kernel/base_for_tests -I /home/je/.opam/4.07.0+flambda/lib/core_kernel/hash_heap -I /home/je/.opam/4.07.0+flambda/lib/cryptokit -I /home/je/.opam/4.07.0+flambda/lib/fieldslib -I /home/je/.opam/4.07.0+flambda/lib/findlib -I /home/je/.opam/4.07.0+flambda/lib/jane-street-headers -I /home/je/.opam/4.07.0+flambda/lib/lambda-term -I /home/je/.opam/4.07.0+flambda/lib/lwt -I /home/je/.opam/4.07.0+flambda/lib/lwt/unix -I /home/je/.opam/4.07.0+flambda/lib/lwt_log -I /home/je/.opam/4.07.0+flambda/lib/lwt_log/core -I /home/je/.opam/4.07.0+flambda/lib/lwt_react -I /home/je/.opam/4.07.0+flambda/lib/ocaml/compiler-libs -I /home/je/.opam/4.07.0+flambda/lib/ocaml/threads -I /home/je/.opam/4.07.0+flambda/lib/parsexp -I /home/je/.opam/4.07.0+flambda/lib/ppx_assert/runtime-lib -I /home/je/.opam/4.07.0+flambda/lib/ppx_bench/runtime-lib -I /home/je/.opam/4.07.0+flambda/lib/ppx_compare/runtime-lib -I /home/je/.opam/4.07.0+flambda/lib/ppx_enumerate/runtime-lib -I /home/je/.opam/4.07.0+flambda/lib/ppx_expect/collector -I /home/je/.opam/4.07.0+flambda/lib/ppx_expect/common -I /home/je/.opam/4.07.0+flambda/lib/ppx_expect/config -I /home/je/.opam/4.07.0+flambda/lib/ppx_hash/runtime-lib -I /home/je/.opam/4.07.0+flambda/lib/ppx_inline_test/config -I /home/je/.opam/4.07.0+flambda/lib/ppx_inline_test/runtime-lib -I /home/je/.opam/4.07.0+flambda/lib/ppx_module_timer/runtime -I /home/je/.opam/4.07.0+flambda/lib/ppx_sexp_conv/runtime-lib -I /home/je/.opam/4.07.0+flambda/lib/react -I /home/je/.opam/4.07.0+flambda/lib/result -I /home/je/.opam/4.07.0+flambda/lib/sexplib -I /home/je/.opam/4.07.0+flambda/lib/sexplib/unix -I /home/je/.opam/4.07.0+flambda/lib/sexplib0 -I /home/je/.opam/4.07.0+flambda/lib/spawn -I /home/je/.opam/4.07.0+flambda/lib/splittable_random -I /home/je/.opam/4.07.0+flambda/lib/stdio -I /home/je/.opam/4.07.0+flambda/lib/time_now -I /home/je/.opam/4.07.0+flambda/lib/typerep -I /home/je/.opam/4.07.0+flambda/lib/utop -I /home/je/.opam/4.07.0+flambda/lib/variantslib -I /home/je/.opam/4.07.0+flambda/lib/zarith -I /home/je/.opam/4.07.0+flambda/lib/zed -I src /home/je/.opam/4.07.0+flambda/lib/ocaml/compiler-libs/ocamlcommon.cma /home/je/.opam/4.07.0+flambda/lib/ocaml/compiler-libs/ocamlbytecomp.cma /home/je/.opam/4.07.0+flambda/lib/ocaml/compiler-libs/ocamltoplevel.cma /home/je/.opam/4.07.0+flambda/lib/findlib/findlib.cma /home/je/.opam/4.07.0+flambda/lib/findlib/findlib_top.cma /home/je/.opam/4.07.0+flambda/lib/result/result.cma /home/je/.opam/4.07.0+flambda/lib/lwt/lwt.cma /home/je/.opam/4.07.0+flambda/lib/ocaml/unix.cma /home/je/.opam/4.07.0+flambda/lib/ocaml/bigarray.cma /home/je/.opam/4.07.0+flambda/lib/ocaml/threads/threads.cma /home/je/.opam/4.07.0+flambda/lib/lwt/unix/lwt_unix.cma /home/je/.opam/4.07.0+flambda/lib/react/react.cma /home/je/.opam/4.07.0+flambda/lib/lwt_react/lwt_react.cma /home/je/.opam/4.07.0+flambda/lib/camomile/default_config/camomileDefaultConfig.cma /home/je/.opam/4.07.0+flambda/lib/camomile/library/camomileLibrary.cma /home/je/.opam/4.07.0+flambda/lib/camomile/lib_default/camomileLibraryDefault.cma /home/je/.opam/4.07.0+flambda/lib/camomile/dyn/camomileLibraryDyn.cma /home/je/.opam/4.07.0+flambda/lib/camomile/camomile_yuge.cma /home/je/.opam/4.07.0+flambda/lib/zed/zed.cma /home/je/.opam/4.07.0+flambda/lib/lwt_log/core/lwt_log_core.cma /home/je/.opam/4.07.0+flambda/lib/lwt_log/lwt_log.cma /home/je/.opam/4.07.0+flambda/lib/lambda-term/lambda_term.cma /home/je/.opam/4.07.0+flambda/lib/utop/uTop.cma /home/je/.opam/4.07.0+flambda/lib/sexplib0/sexplib0.cma /home/je/.opam/4.07.0+flambda/lib/ppx_sexp_conv/runtime-lib/ppx_sexp_conv_lib.cma /home/je/.opam/4.07.0+flambda/lib/base/caml/caml.cma /home/je/.opam/4.07.0+flambda/lib/base/shadow_stdlib/shadow_stdlib.cma /home/je/.opam/4.07.0+flambda/lib/base/base.cma /home/je/.opam/4.07.0+flambda/lib/fieldslib/fieldslib.cma /home/je/.opam/4.07.0+flambda/lib/ppx_inline_test/config/inline_test_config.cma /home/je/.opam/4.07.0+flambda/lib/ppx_inline_test/runtime-lib/ppx_inline_test_lib.cma /home/je/.opam/4.07.0+flambda/lib/ppx_compare/runtime-lib/ppx_compare_lib.cma /home/je/.opam/4.07.0+flambda/lib/ppx_expect/common/expect_test_common.cma /home/je/.opam/4.07.0+flambda/lib/ppx_expect/config/expect_test_config.cma /home/je/.opam/4.07.0+flambda/lib/ppx_expect/collector/expect_test_collector.cma /home/je/.opam/4.07.0+flambda/lib/ppx_hash/runtime-lib/ppx_hash_lib.cma /home/je/.opam/4.07.0+flambda/lib/ANSITerminal/ANSITerminal.cma /home/je/.opam/4.07.0+flambda/lib/ppx_enumerate/runtime-lib/ppx_enumerate_lib.cma /home/je/.opam/4.07.0+flambda/lib/ppx_assert/runtime-lib/ppx_assert_lib.cma /home/je/.opam/4.07.0+flambda/lib/ppx_bench/runtime-lib/ppx_bench_lib.cma /home/je/.opam/4.07.0+flambda/lib/splittable_random/splittable_random.cma /home/je/.opam/4.07.0+flambda/lib/base_quickcheck/base_quickcheck.cma /home/je/.opam/4.07.0+flambda/lib/base/md5/md5_lib.cma /home/je/.opam/4.07.0+flambda/lib/variantslib/variantslib.cma /home/je/.opam/4.07.0+flambda/lib/bin_prot/shape/bin_shape_lib.cma /home/je/.opam/4.07.0+flambda/lib/bin_prot/bin_prot.cma /home/je/.opam/4.07.0+flambda/lib/typerep/typerep_lib.cma /home/je/.opam/4.07.0+flambda/lib/stdio/stdio.cma /home/je/.opam/4.07.0+flambda/lib/jane-street-headers/jane_street_headers.cma /home/je/.opam/4.07.0+flambda/lib/time_now/time_now.cma /home/je/.opam/4.07.0+flambda/lib/ppx_module_timer/runtime/ppx_module_timer_runtime.cma /home/je/.opam/4.07.0+flambda/lib/base_bigstring/base_bigstring.cma /home/je/.opam/4.07.0+flambda/lib/core_kernel/base_for_tests/base_for_tests.cma /home/je/.opam/4.07.0+flambda/lib/parsexp/parsexp.cma /home/je/.opam/4.07.0+flambda/lib/sexplib/sexplib.cma /home/je/.opam/4.07.0+flambda/lib/core_kernel/core_kernel.cma /home/je/.opam/4.07.0+flambda/lib/sexplib/unix/sexplib_unix.cma /home/je/.opam/4.07.0+flambda/lib/spawn/spawn.cma /home/je/.opam/4.07.0+flambda/lib/core/core.cma /home/je/.opam/4.07.0+flambda/lib/core_kernel/hash_heap/hash_heap.cma /home/je/.opam/4.07.0+flambda/lib/zarith/zarith.cma /home/je/.opam/4.07.0+flambda/lib/cryptokit/cryptokit.cma src/OutWordZ.cma .utop/.utop.eobjs/byte/utop.cmo)
/home/je/.opam/4.07.0+flambda/lib/core/libcore_stubs.a(unix_stubs.o): In function `core_copy_to_c_string':
/home/je/.opam/4.07.0+flambda/.opam-switch/build/core.v0.12.0/_build/default/src/unix_stubs.c:173: undefined reference to `caml_exn_Invalid_argument'
/home/je/.opam/4.07.0+flambda/lib/core/libcore_stubs.a(ocaml_utils_stubs.o): In function `string_ocaml_to_c':
/home/je/.opam/4.07.0+flambda/.opam-switch/build/core.v0.12.0/_build/default/src/ocaml_utils_stubs.c:73: undefined reference to `caml_exn_Invalid_argument'
collect2: error: ld returned 1 exit status
File "_none_", line 1:
Error: Error while building custom runtime system
ghost commented 5 years ago

Fixed and released