Git Product home page Git Product logo

core_kernel's People

Contributors

aalekseyev avatar bmillwood avatar d-kalinichenko avatar dkalinichenko-js avatar dra27 avatar jeremiedimino avatar jonahbeckford avatar lpw25 avatar public-release avatar sinic avatar staronj avatar tkaden4 avatar trefis avatar xclerc avatar ysulsky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

core_kernel's Issues

installation of core_kernel.112.06.00 failed

I installed opam on Ubuntu 14.04(Mininet 2.1.0 on Ubuntu 14.04) on virtualbox, as the http://opam.ocaml.org/doc/Install.html requires:

1、add-apt-repository ppa:avsm/ppa
2、apt-get update
3、apt-get install ocaml ocaml-native-compilers camlp4-extra opam
4、opam init
5、opam install async
in the 5th step, async installation failed, it shows "the comilation of core_kernel.112.06.00 failed". following is the detail, how should i fix this problem?

=== ERROR while installing core_kernel.112.06.00 =============================

1、add-apt-repository ppa:avsm/ppa
2、apt-get update
3、apt-get install ocaml ocaml-native-compilers camlp4-extra opam
4、opam init
5、opam install async
in the 5th step, async installation failed, it shows "the comilation of core_kernel.112.06.00 failed". following is the detail, how should i fix this problem?

=== ERROR while installing core_kernel.112.06.00 =============================

opam-version 1.2.0

os linux

command make

path /home/mininet/.opam/system/build/core_kernel.112.06.00

compiler system (4.02.1)

exit-code 2

env-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.env

stdout-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.out

stderr-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.err

stdout

...[truncated]

/home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/flat_queue_unit_tests.ml > lib/flat_queue_unit_tests.ml.depends

/home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/float.ml > lib/float.ml.depends

+ /home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/float.ml > lib/float.ml.depends

File "lib/float.ml", line 985, characters 46-58:

Integer literal exceeds the range of representable integers of type int

File "lib/float.ml", line 1:

Error: Error while running external preprocessor

Command line: camlp4 '-I' '/usr/lib/ocaml/camlp4' '-I' '/home/mininet/.opam/system/lib/type_conv' '-I' '/home/mininet/.opam/system/lib/variantslib' '-I' '/home/mininet/.opam/system/lib/variantslib' '-I' '/home/mininet/.opam/system/lib/typerep_lib' '-I' '/usr/lib/ocaml' '-I' '/usr/lib/ocaml' '-I' '/home/mininet/.opam/system/lib/sexplib' '-I' '/home/mininet/.opam/system/lib/sexplib' '-I' '/home/mininet/.opam/system/lib/comparelib' '-I' '/home/mininet/.opam/system/lib/comparelib' '-I' '/home/mininet/.opam/system/lib/pa_test' '-I' '/home/mininet/.opam/system/lib/pa_pipebang' '-I' '/home/mininet/.opam/system/lib/pa_ounit' '-I' '/home/mininet/.opam/system/lib/oUnit' '-I' '/home/mininet/.opam/system/lib/oUnit' '-I' '/home/mininet/.opam/system/lib/pa_ounit' '-I' '/home/mininet/.opam/system/lib/pa_bench' '-I' '/home/mininet/.opam/system/lib/herelib' '-I' '/home/mininet/.opam/system/lib/fieldslib' '-I' '/home/mininet/.opam/system/lib/fieldslib' '-I' '/home/mininet/.opam/system/lib/enumerate' '-I' '/home/mininet/.opam/system/lib/bin_prot' '-I' '/home/mininet/.opam/system/lib/bin_prot' '-parser' 'o' '-parser' 'op' '-printer' 'p' 'pa_type_conv.cma' 'variantslib.cma' 'pa_variants_conv.cma' 'typerep_syntax.cma' 'unix.cma' 'bigarray.cma' 'sexplib.cma' 'pa_sexp_conv.cma' 'comparelib.cma' 'pa_compare.cma' 'pa_test_syntax.cma' 'pa_pipebang.cma' 'pa_ounit_syntax.cma' 'oUnitAdvanced.cma' 'oUnit.cma' 'pa_ounit_lib.cma' 'pa_bench_syntax.cma' 'pa_herelib.cma' 'fieldslib.cma' 'pa_fields_conv.cma' 'enumerate.cma' 'bin_prot.cma' 'pa_bin_prot.cma' '-pa-ounit-lib' 'core_kernel' 'lib/float.ml' > /tmp/ocamlpp28df8d

Command exited with code 2.

stderr

W: Cannot find source file matching module 'check_caml_modify' in library check_caml_modify

W: Cannot find source file matching module 'core_kernel' in library core_kernel

E: Failure("Command ''/usr/bin/ocamlbuild' lib/libcore_kernel_stubs.a lib/dllcore_kernel_stubs.so lib/core_kernel.cma lib/core_kernel.cmxa lib/core_kernel.a lib/core_kernel.cmxs check_caml_modify/libcheck_caml_modify_stubs.a check_caml_modify/dllcheck_caml_modify_stubs.so check_caml_modify/check_caml_modify.cma check_caml_modify/check_caml_modify.cmxa check_caml_modify/check_caml_modify.a check_ca...[truncated]

make: *** [build] Error 1

=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following failed

  • install core_kernel.112.06.00
    Due to the errors, the following have been cancelled
  • install async_extra.112.06.00
  • install async.112.06.00
  • install core.112.06.01
  • install async_kernel.112.06.00
  • install async_unix.112.06.00
    mininet@mininet-vm:~$

missing Caml.Bytes

A deeply uninteresting Bytes module was introduced in 112.35.00. It would be nice if the stdlib's version were exported as Caml.Bytes.

lib/binary_packing.ml has duplicate exception definitions

There are two identical definitions of Pack_signed_32_argument_out_of_range, which breaks the build with ocaml trunk:

File "lib/binary_packing.ml", line 327, characters 0-63:
Error: Multiple definition of the extension constructor name Pack_signed_32_argument_out_of_range.
       Names must be unique in a given structure or signature.

Diff is:

--- a/lib/binary_packing.ml
+++ b/lib/binary_packing.ml
@@ -324,7 +324,6 @@ let check_signed_32_in_range n =
       raise (Pack_signed_32_argument_out_of_range n)
   ENDIF

-exception Pack_signed_32_argument_out_of_range of int with sexp
 let pack_signed_32_int ~byte_order ~buf ~pos n =
   assert (Sys.word_size = 64);
   check_signed_32_in_range n;

Documentation/implementation mismatch for List.exists2_exn etc.

I've been migrating some list-processing code to use Core_kernel instead of the standard library and noticed that the documentation strings for the two libraries have somehow become interchanged. The standard library documentation for List.exists2 says:

Same as List.exists, but for a two-argument predicate. Raise Invalid_argument if the two lists have different lengths.

In fact, List.exists2 does not always raise Invalid_argument if the two lists have different lengths:

# List.exists2 (>) [1; 2] [3; 1; 0];;
- : bool = true

On the other hand, the documentation for Core.Std.List.exists2_exn says:

Same as List.exists, but for a two-argument predicate. Raise Invalid_argument if the end of one list is reached before the end of the other.

In fact, Core.Std.List.exists2_exn can fail even if the predicate is satisfied (which should mean that the ends of the lists are not reached):

# Core_kernel.Std.List.exists2_exn ~f:(>) [1; 2] [3; 1; 0];; 
Exception: Invalid_argument "length mismatch in exists2_exn: 2 <> 3 ".

I'd submit a pull request fixing the documentation (as for the standard library), but wonder if the implementation might be changed instead. It seems a bit inefficient to traverse both lists before starting when the function is supposed to be short-circuiting.

`ident` function is not primitive

Core defines ident function available in the global namespace, as a regular OCaml function not as an "%identity" primitive. As a result this doesn't allow certain kinds of optimization performed by a compiler, and may affect performance.

Fn.id on the other hand is a primitive.

Is it intended? If not then I can provide a PR to fix this.

Core_kernel still depends on "unix"

Core_kernel's META file references unix and pa_ounit.

And among its dependencies, there a few more unix requires:

for i in bin_prot variantslib sexplib fieldslib bigarray pa_ounit res ; do
    cd ../$i ; pwd; cat META | grep unix ; cd - > /dev/null ;
done

OPAMROOT/4.00.1/lib/bin_prot
requires = "unix bigarray"
OPAMROOT/4.00.1/lib/variantslib
OPAMROOT/4.00.1/lib/sexplib
requires = "unix bigarray num"
OPAMROOT/4.00.1/lib/fieldslib
OPAMROOT/4.00.1/lib/bigarray
requires = "unix"
OPAMROOT/4.00.1/lib/pa_ounit
OPAMROOT/4.00.1/lib/res

So I removed unix (and pa_onuit) from all the META files, and
then I got a linking error:

File "_none_", line 1:
Error: Error on dynamically loaded library:
OPAMROOT/4.00.1/lib/stublibs/dllcore_kernel_stubs.so:
OPAMROOT/4.00.1/lib/stublibs/dllcore_kernel_stubs.so:
undefined symbol: uerror

It seems to be (at least) in lib/channel_stubs.c:62.

Improve js_of_ocaml support

Problems

I'm trying to use core_kernel together with js_of_ocaml, but currently
there are few issues.

  1. Core_kernel requires 32bit compiler

    Although we should use 32bit compiler, OCaml's support for 32bit
    compiler on 64bit architecture is very poor. I'm trying to add
    support for 32bit compiler on OSX, but it is a hard task to me.

  2. Core_kernel includes unit tests in its implementation

    pa_ounit embeds unit tests as implementations so that unit tests
    can be ran from command-line with special argument
    inline-test-runner. This is useful, but this also prevents
    js_of_ocaml from doing dead-code-elimination. As a result,
    js_of_ocaml outputs a huge JavaScript even though a source code is
    tiny.

Workaround

Here is an installation script of a customized core_kernel (named
core_kernel_js) that solves the issues above.

https://github.com/m2ym/core_kernel_js/blob/master/Makefile

What this script does are

  • forcing 32bit architecture by replacing ARCH_SIXTYFOUR
  • removing an assertion of arhictecture located at lib/pool.ml
  • compiling with pseudo pa_ounit that never generate unit tests

Result

By this workaround, the following program becomes runnable even on
64bit architecture, though it is risky.

(* a.ml *)
open Core_kernel.Std
(* open Core_kernel_js.Std *)

let () =
  let h = Int.Table.create ~size:32 () in
  for i = 1 to 100 do
    Hashtbl.set h i i
  done;
  Format.printf "%a@." Sexp.pp_hum (Int.Table.sexp_of_t sexp_of_int h)

Plus, thanks to dead-code-elimination, the size of JavaScript
generated by js_of_ocaml becomes reasonable and js_of_ocaml finishes
the job quickly. Here is a comparison.

core_kernel:

$ ocamlfind ocamlc -package core_kernel -linkpkg a.ml
$ time js_of_ocaml +weak.js core_kernel_runtime.js a.out
...
js_of_ocaml +weak.js core_kernel_runtime.js a.out  8.47s user 0.18s system 99% cpu 8.650 total
$ wc -c a.js
855567 a.js

core_kernel_js:

$ ocamlfind ocamlc -package core_kernel_js -linkpkg a.ml
$ time js_of_ocaml +weak.js core_kernel_runtime.js a.out
...
js_of_ocaml +weak.js core_kernel_runtime.js a.out  3.41s user 0.07s system 99% cpu 3.492 total
$ wc -c a.js
303229 a.js

Request

It might be good if core_kernel has a compilation flag (something like
PREFER_THIRTYTWO_WORD_SIZE) that tells compiler that users prefer
32bit word size even on 64bit architecture. This may encourage people
to adopt core_kernel for web-browser-based applications.

It must be great if pa_ounit and pa_bench have a compile-time/runtime
control flag that controls the generation of unit tests and benchmark
code. This may convince people that the adoption of core_kernel is
reasonable.

Can't install 114.20+69 on switch 4.03.0+32bit

Hi all,

Attempting to install core_kernel via opam on the switch 4.03.0+32bit gives the following error

File "src/core_int63.ml", line 13, characters 42-216:
Error: Signature mismatch:
       ...
       Values do not match:
         val to_binable : Base__Int63_emul.t -> int64
       is not included in
         val to_binable : t -> Core_kernel.Core_int64.t
       File "src/core_int63.ml", line 16, characters 8-18: Actual declaration

The actual type as written in core_int63.ml of to_binable is Base.Int63.t, which this file seems to be expecting to be Base__Int63_emul.t. However, as far as I can gather, it is in fact Int63_backends.Dynamic.t, as selected by this file because PORTABLE_INT63 is hardcoded to true in jbuilder.

'make test' doesn't appear to run all tests

Not when I first do ./configure --enable-tests, either.

Tested by intentionally breaking a test (time_ns.ml:374) and running ./configure --enable-tests; make clean; make test

I'm probably missing something, but perhaps that can be better documented? :)

can't install core_kernel using opam on bsd

$ opam install core --use-internal-solver   
The following actions will be performed:
  - install core_kernel v0.9.0                          [required by core]
  - install core        v0.9.1
===== 2 to install =====
Do you want to continue ? [Y/n] y

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[core] Archive in cache
[core_kernel] Archive in cache

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[ERROR] The compilation of core_kernel failed at "jbuilder build -p core_kernel -j 4".

#=== ERROR while installing core_kernel.v0.9.0 ================================#
# opam-version 1.2.2
# os           openbsd
# command      jbuilder build -p core_kernel -j 4
# path         /home/nullx002/.opam/4.04.1/build/core_kernel.v0.9.0
# compiler     4.04.1
# exit-code    1
# env-file     /home/nullx002/.opam/4.04.1/build/core_kernel.v0.9.0/core_kernel-36008-5f1023.env
# stdout-file  /home/nullx002/.opam/4.04.1/build/core_kernel.v0.9.0/core_kernel-36008-5f1023.out
# stderr-file  /home/nullx002/.opam/4.04.1/build/core_kernel.v0.9.0/core_kernel-36008-5f1023.err
### stderr ###
# [...]
#     ocamlopt src/config/discover.{cmx,o}
#     ocamlopt src/config/discover.exe
# /usr/bin/ld: warning: creating a DT_TEXTREL in a shared object.
#     discover src/config.h,src/rt-flags
#       ocamlc src/bigstring_stubs.o (exit 2)
# (cd _build/default/src && /home/nullx002/.opam/4.04.1/bin/ocamlc.opt -g -I /home/nullx002/.opam/4.04.1/lib/base -I /home/nullx002/.opam/4.04.1/lib/base/caml -I /home/nullx002/.opam/4.04.1/lib/base/shadow_stdlib -I /home/nullx002/.opam/4.04.1/lib/bin_prot -I /home/nullx002/.opam/4.04.1/lib/bin_prot/shape -I /home/nullx002/.opam/4.04.1/lib/fieldslib -I /home/nullx002/.opam/4.04.1/lib/jane-street-headers -I /home/nullx002/.opam/4.04.1/lib/num -I /home/nullx002/.opam/4.04.1/lib/ocaml -I /home/nullx002/.opam/4.04.1/lib/ppx_assert/runtime-lib -I /home/nullx002/.opam/4.04.1/lib/ppx_bench/runtime-lib -I /home/nullx002/.opam/4.04.1/lib/ppx_compare/runtime-lib -I /home/nullx002/.opam/4.04.1/lib/ppx_expect/collector -I /home/nullx002/.opam/4.04.1/lib/ppx_expect/common -I /home/nullx002/.opam/4.04.1/lib/ppx_expect/config -I /home/nullx002/.opam/4.04.1/lib/ppx_hash/runtime-lib -I /home/nullx002/.opam/4.04.1/lib/ppx_inline_test/config -I /home/nullx002/.opam/4.04.1/lib/ppx_inline_test/runtime-lib -I /home/nullx002/.opam/4.04.1/lib/sexplib -I /home/nullx002/.opam/4.04.1/lib/sexplib/0 -I /home/nullx002/.opam/4.04.1/lib/stdio -I /home/nullx002/.opam/4.04.1/lib/typerep -I /home/nullx002/.opam/4.04.1/lib/variantslib -I ../base_for_tests/src -ccopt -g -ccopt -D_LARGEFILE64_SOURCE -ccopt -mpopcnt -o bigstring_stubs.o bigstring_stubs.c)
# cc1: error: unrecognized command line option "-mpopcnt"
#       ocamlc src/bigstring_marshal_stubs.o (exit 2)
# (cd _build/default/src && /home/nullx002/.opam/4.04.1/bin/ocamlc.opt -g -I /home/nullx002/.opam/4.04.1/lib/base -I /home/nullx002/.opam/4.04.1/lib/base/caml -I /home/nullx002/.opam/4.04.1/lib/base/shadow_stdlib -I /home/nullx002/.opam/4.04.1/lib/bin_prot -I /home/nullx002/.opam/4.04.1/lib/bin_prot/shape -I /home/nullx002/.opam/4.04.1/lib/fieldslib -I /home/nullx002/.opam/4.04.1/lib/jane-street-headers -I /home/nullx002/.opam/4.04.1/lib/num -I /home/nullx002/.opam/4.04.1/lib/ocaml -I /home/nullx002/.opam/4.04.1/lib/ppx_assert/runtime-lib -I /home/nullx002/.opam/4.04.1/lib/ppx_bench/runtime-lib -I /home/nullx002/.opam/4.04.1/lib/ppx_compare/runtime-lib -I /home/nullx002/.opam/4.04.1/lib/ppx_expect/collector -I /home/nullx002/.opam/4.04.1/lib/ppx_expect/common -I /home/nullx002/.opam/4.04.1/lib/ppx_expect/config -I /home/nullx002/.opam/4.04.1/lib/ppx_hash/runtime-lib -I /home/nullx002/.opam/4.04.1/lib/ppx_inline_test/config -I /home/nullx002/.opam/4.04.1/lib/ppx_inline_test/runtime-lib -I /home/nullx002/.opam/4.04.1/lib/sexplib -I /home/nullx002/.opam/4.04.1/lib/sexplib/0 -I /home/nullx002/.opam/4.04.1/lib/stdio -I /home/nullx002/.opam/4.04.1/lib/typerep -I /home/nullx002/.opam/4.04.1/lib/variantslib -I ../base_for_tests/src -ccopt -g -ccopt -D_LARGEFILE64_SOURCE -ccopt -mpopcnt -o bigstring_marshal_stubs.o bigstring_marshal_stubs.c)
# cc1: error: unrecognized command line option "-mpopcnt"



=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following actions were aborted
  - install core v0.9.1
The following actions failed
  - install core_kernel v0.9.0
No changes have been performed

additional info

OCAML_TOPLEVEL_PATH=/home/nullx002/.opam/4.04.1/lib/toplevel

i think there is problem with gcc version available for compilation on bsd. i tried to set it to eg++ using export CXX=/usr/local/bin/eg++ but it fails with same mpopcnt error, used ktrace but still not able to find how opam uses gcc.

Error compiling on Cygwin

When I attempt to install from opam, I get the following error:

#=== ERROR while installing core_kernel.113.00.00 =============================#
# opam-version         1.2.2
# os                   cygwin
# command              make
# path                 /home/crd/.opam/4.02.3/build/core_kernel.113.00.00
# compiler             4.02.3
# exit-code            2
# env-file             /home/crd/.opam/4.02.3/build/core_kernel.113.00.00/core_kernel-8856-5f1023.en
v
# stdout-file          /home/crd/.opam/4.02.3/build/core_kernel.113.00.00/core_kernel-8856-5f1023.ou
t
# stderr-file          /home/crd/.opam/4.02.3/build/core_kernel.113.00.00/core_kernel-8856-5f1023.er
r
### stdout ###
# [...]
# /home/crd/.opam/4.02.3/bin/ocamlfind ocamlc -g -c src/bigstring_marshal_stubs.c
# mv bigstring_marshal_stubs.o src/bigstring_marshal_stubs.o
# /home/crd/.opam/4.02.3/bin/ocamlfind ocamlc -g -c src/bigstring_stubs.c
# + /home/crd/.opam/4.02.3/bin/ocamlfind ocamlc -g -c src/bigstring_stubs.c
# src/bigstring_stubs.c:34:24: fatal error: sys/endian.h: No such file or directory
#  #include <sys/endian.h>
#                         ^
# compilation terminated.
# Command exited with code 2.
# Makefile:21: recipe for target 'build' failed
### stderr ###
# W: Cannot find source file matching module 'core_kernel' in library core_kernel
# E: Failure("Command ''/home/crd/.opam/4.02.3/bin/ocamlbuild' src/libcore_kernel_stubs.a src/dllcore_kernel_stubs.so src/core_kernel.cma src/core_kernel.cmxa src/core_kernel.a src/core_kernel.cmxs -use-ocamlfind -tag debug' terminated with error code 10")
# make: *** [build] Error 1

The following patch allows building:

--- src/bigstring_stubs.c.orig       2015-08-18 07:14:45.000000000 -0400
+++ src/bigstring_stubs.c       2016-01-15 21:01:17.687776600 -0500
@@ -29,6 +29,8 @@
 #define bswap_16 swap16
 #define bswap_32 swap32
 #define bswap_64 swap64
+#elif __CYGWIN__
+#include <endian.h>
 #else
 #include <sys/types.h>
 #include <sys/endian.h>

I haven't figured out what the correct way to apply this through opam is but I did manage to get core_kernel to install via opam through the hack of rerolling the tarball and changing checksum in the urls.txt file.

Inline tests are included in binaries built with js_of_ocaml

For example:

(executable
  ((name test)
   (js_of_ocaml ((flags (:standard --opt 3 --pretty +weak.js))))
   (libraries (js_of_ocaml core_kernel))))

With test.ml containing:

let _ = Core_kernel.Time.now ()

And building with jbuilder build test.bc.js.

The generated test.bc.js contains quite a few calls similar to the ones below:

                    test_unit
                     (_u4_,
                      _aCq_,
                      0,
                      _aCp_,
                      793,
                      4,
                      63,
                      function(param){return test(1,3609444,_aCo_)});
                    test_unit
                     (_u4_,
                      _auK_,
                      0,
                      _auJ_,
                      333,
                      4,
                      214,
                      function(param)
                       {return round_trip$0
                                (to_parts$1(create$31(0,0,[0,hr],0,0,0,0,0,0)))});
     _avr_=caml_new_string(": <<test true 71 1666750235549516973L>>"),
     _avt_=caml_new_string("src/time_ns.ml"),
     _avu_=caml_new_string(": <<test true 4398 1232807081547132235L>>"),
     _avw_=caml_new_string("src/time_ns.ml"),
     _avx_=caml_new_string(": <<test false 702561 1233263206897519979L>>"),
     _avz_=caml_new_string("src/time_ns.ml"),

Note that this is at the maximum optimisation level that jsoo supports (as far as I know). jsoo is able to remove the entire module if it isn't referenced (for example when test.ml is empty), but it doesn't seem to be able to remove the values exported for the inline tests.

List.nth_exn documentation/implementation mismatch.

The documentation says:

Raise [Failure "nth"] if the list is too short.

but the implementation raises Invalid_argument, not Failure:

# Core_kernel.Std.List.nth_exn [1] 2;;
Exception: Invalid_argument "List.nth_exn 2 called on list of length 1".

The documentation about negative arguments is wrong as well; it says

Raise [Invalid_argument "List.nth"] if [n] is negative.

but the actual argument to Invalid_argument is more descriptive:

# Core_kernel.Std.List.nth_exn [1] (-1);;
Exception: Invalid_argument "List.nth_exn -1 called on list of length 1".

installation of core_kernel.112.06.00 failed

I installed opam on Ubuntu 14.04(Mininet 2.1.0 on Ubuntu 14.04) on virtualbox, as the http://opam.ocaml.org/doc/Install.html requires:

1、add-apt-repository ppa:avsm/ppa
2、apt-get update
3、apt-get install ocaml ocaml-native-compilers camlp4-extra opam
4、opam init
5、opam install async
in the 5th step, async installation failed, it shows "the comilation of core_kernel.112.06.00 failed". following is the detail, how should i fix this problem?

=== ERROR while installing core_kernel.112.06.00 =============================

opam-version 1.2.0

os linux

command make

path /home/mininet/.opam/system/build/core_kernel.112.06.00

compiler system (4.02.1)

exit-code 2

env-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.env

stdout-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.out

stderr-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.err

stdout

...[truncated]

/home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/flat_queue_unit_tests.ml > lib/flat_queue_unit_tests.ml.depends

/home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/float.ml > lib/float.ml.depends

+ /home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/float.ml > lib/float.ml.depends

File "lib/float.ml", line 985, characters 46-58:

Integer literal exceeds the range of representable integers of type int

File "lib/float.ml", line 1:

Error: Error while running external preprocessor

Command line: camlp4 '-I' '/usr/lib/ocaml/camlp4' '-I' '/home/mininet/.opam/system/lib/type_conv' '-I' '/home/mininet/.opam/system/lib/variantslib' '-I' '/home/mininet/.opam/system/lib/variantslib' '-I' '/home/mininet/.opam/system/lib/typerep_lib' '-I' '/usr/lib/ocaml' '-I' '/usr/lib/ocaml' '-I' '/home/mininet/.opam/system/lib/sexplib' '-I' '/home/mininet/.opam/system/lib/sexplib' '-I' '/home/mininet/.opam/system/lib/comparelib' '-I' '/home/mininet/.opam/system/lib/comparelib' '-I' '/home/mininet/.opam/system/lib/pa_test' '-I' '/home/mininet/.opam/system/lib/pa_pipebang' '-I' '/home/mininet/.opam/system/lib/pa_ounit' '-I' '/home/mininet/.opam/system/lib/oUnit' '-I' '/home/mininet/.opam/system/lib/oUnit' '-I' '/home/mininet/.opam/system/lib/pa_ounit' '-I' '/home/mininet/.opam/system/lib/pa_bench' '-I' '/home/mininet/.opam/system/lib/herelib' '-I' '/home/mininet/.opam/system/lib/fieldslib' '-I' '/home/mininet/.opam/system/lib/fieldslib' '-I' '/home/mininet/.opam/system/lib/enumerate' '-I' '/home/mininet/.opam/system/lib/bin_prot' '-I' '/home/mininet/.opam/system/lib/bin_prot' '-parser' 'o' '-parser' 'op' '-printer' 'p' 'pa_type_conv.cma' 'variantslib.cma' 'pa_variants_conv.cma' 'typerep_syntax.cma' 'unix.cma' 'bigarray.cma' 'sexplib.cma' 'pa_sexp_conv.cma' 'comparelib.cma' 'pa_compare.cma' 'pa_test_syntax.cma' 'pa_pipebang.cma' 'pa_ounit_syntax.cma' 'oUnitAdvanced.cma' 'oUnit.cma' 'pa_ounit_lib.cma' 'pa_bench_syntax.cma' 'pa_herelib.cma' 'fieldslib.cma' 'pa_fields_conv.cma' 'enumerate.cma' 'bin_prot.cma' 'pa_bin_prot.cma' '-pa-ounit-lib' 'core_kernel' 'lib/float.ml' > /tmp/ocamlpp28df8d

Command exited with code 2.

stderr

W: Cannot find source file matching module 'check_caml_modify' in library check_caml_modify

W: Cannot find source file matching module 'core_kernel' in library core_kernel

E: Failure("Command ''/usr/bin/ocamlbuild' lib/libcore_kernel_stubs.a lib/dllcore_kernel_stubs.so lib/core_kernel.cma lib/core_kernel.cmxa lib/core_kernel.a lib/core_kernel.cmxs check_caml_modify/libcheck_caml_modify_stubs.a check_caml_modify/dllcheck_caml_modify_stubs.so check_caml_modify/check_caml_modify.cma check_caml_modify/check_caml_modify.cmxa check_caml_modify/check_caml_modify.a check_ca...[truncated]

make: *** [build] Error 1

=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following failed

  • install core_kernel.112.06.00
    Due to the errors, the following have been cancelled
  • install async_extra.112.06.00
  • install async.112.06.00
  • install core.112.06.01
  • install async_kernel.112.06.00
  • install async_unix.112.06.00
    mininet@mininet-vm:~$

Preprocessing error on trunk (nonrec)

When building with trunk, there is a preprocessing error at the line:

type nonrec nobody = nobody with bin_io, compare, sexp
+ /opt/opam/4.03.0+flambda+5/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/perms.mli > lib/perms.mli.depends
File "lib/perms.mli", line 141, characters 4-8:
Parse error: [nonrec] expected after "type" (in [sig_item])
File "lib/perms.mli", line 1:
Error: Error while running external preprocessor
Command line: camlp4 '-I' '/opt/opam/4.03.0+flambda+5/lib/ocaml/camlp4' '-I' '/opt/opam/4.03.0+flambda+5/lib/type_conv' '-I' '/opt/opam/4.03.0+flambda+5/lib/variantslib' '-I' '/opt/opam/4.03.0+flambda+5/lib/variantslib' '-I' '/opt/opam/4.03.0+flambda+5/lib/typerep_lib' '-I' '/opt/opam/4.03.0+flambda+5/lib/ocaml' '-I' '/opt/opam/4.03.0+flambda+5/lib/ocaml' '-I' '/opt/opam/4.03.0+flambda+5/lib/sexplib' '-I' '/opt/opam/4.03.0+flambda+5/lib/sexplib' '-I' '/opt/opam/4.03.0+flambda+5/lib/comparelib' '-I' '/opt/opam/4.03.0+flambda+5/lib/comparelib' '-I' '/opt/opam/4.03.0+flambda+5/lib/pa_test' '-I' '/opt/opam/4.03.0+flambda+5/lib/pa_pipebang' '-I' '/opt/opam/4.03.0+flambda+5/lib/pa_ounit' '-I' '/opt/opam/4.03.0+flambda+5/lib/oUnit' '-I' '/opt/opam/4.03.0+flambda+5/lib/oUnit' '-I' '/opt/opam/4.03.0+flambda+5/lib/pa_ounit' '-I' '/opt/opam/4.03.0+flambda+5/lib/pa_bench' '-I' '/opt/opam/4.03.0+flambda+5/lib/herelib' '-I' '/opt/opam/4.03.0+flambda+5/lib/fieldslib' '-I' '/opt/opam/4.03.0+flambda+5/lib/fieldslib' '-I' '/opt/opam/4.03.0+flambda+5/lib/enumerate' '-I' '/opt/opam/4.03.0+flambda+5/lib/bin_prot' '-I' '/opt/opam/4.03.0+flambda+5/lib/bin_prot' '-parser' 'o' '-parser' 'op' '-printer' 'p' 'pa_type_conv.cma' 'variantslib.cma' 'pa_variants_conv.cma' 'typerep_syntax.cma' 'unix.cma' 'bigarray.cma' 'sexplib.cma' 'pa_sexp_conv.cma' 'comparelib.cma' 'pa_compare.cma' 'pa_test_syntax.cma' 'pa_pipebang.cma' 'pa_ounit_syntax.cma' 'oUnitAdvanced.cma' 'oUnit.cma' 'pa_ounit_lib.cma' 'pa_bench_syntax.cma' 'pa_herelib.cma' 'fieldslib.cma' 'pa_fields_conv.cma' 'enumerate.cma' 'bin_prot.cma' 'pa_bin_prot.cma' '-pa-ounit-lib' 'core_kernel' 'lib/perms.mli' > /tmp/ocamlpp0040ce

List.init and side effects

List.init initializes lists in the opposite order of Array.init, i.e. it will call the passed function f with the highest number first. It would be nice to have the same order, but I don't have a problem with the current implementation per se. Using the "correct" order would either require reversing the result or unsafe list construction. But I think the initialization order should at least be documented so that users won't be surprised if their f depends on the order of side effects.

Int32.of_int variant without range check

Int32.of_int versions(option and exn) currently perform range check. Can the stdlib of_int be provided as unsafe_of_int for convenience without having to do local open? The range check really hits performance.

exception `Gc.finalise` with OCaml 4.02

Hi. After installing 4.02 using opam I'm getting strange exception Invalid_argument Gc.finalise. I'm using GNU/Linux but I'm not sure is it core_kernel's error or sexplib's one (gdb points on line where with sexp syntax extension is used). Can anybody test it on your machine, please?

Demo project:
git clone https://github.com/Kakadu/core_kernel_4.02_test

Doesn't compile on 4.06.0+flambda: Fatal error: Assignment of a float to a specialised non-float array

On a clean 4.06.0+flamda switch:

#=== ERROR while installing core_kernel.v0.9.1 ================================#
# opam-version 1.2.2
# os           linux
# command      jbuilder build -p core_kernel -j 4
# path         /home/fabian/.opam/4.06.0-test-core-kernel/build/core_kernel.v0.9.1
# compiler     4.06.0+flambda
# exit-code    1
# env-file     /home/fabian/.opam/4.06.0-test-core-kernel/build/core_kernel.v0.9.1/core_kernel-14964-9f6e76.env
# stdout-file  /home/fabian/.opam/4.06.0-test-core-kernel/build/core_kernel.v0.9.1/core_kernel-14964-9f6e76.out
# stderr-file  /home/fabian/.opam/4.06.0-test-core-kernel/build/core_kernel.v0.9.1/core_kernel-14964-9f6e76.err
### stderr ###
# Unix.map_file raises Unix_error.
# [...]
#     ocamlopt src/core_kernel__Bigsubstring.{cmx,o}
#     ocamlopt src/core_kernel__Option_array.{cmx,o} (exit 2)
# (cd _build/default && /home/fabian/.opam/4.06.0-test-core-kernel/bin/ocamlopt.opt -w -40 -unsafe-string -g -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/base -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/base/caml -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/base/shadow_stdlib -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/bin_prot -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/bin_prot/shape -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/fieldslib -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/jane-street-headers -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/num -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/ocaml -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/ppx_assert/runtime-lib -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/ppx_bench/runtime-lib -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/ppx_compare/runtime-lib -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/ppx_expect/collector -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/ppx_expect/common -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/ppx_expect/config -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/ppx_hash/runtime-lib -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/ppx_inline_test/config -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/ppx_inline_test/runtime-lib -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/sexplib -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/sexplib/0 -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/stdio -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/typerep -I /home/fabian/.opam/4.06.0-test-core-kernel/lib/variantslib -I base_for_tests/src -no-alias-deps -I src -open Core_kernel__ -o src/core_kernel__Option_array.cmx -c -impl src/option_array.pp.ml)
# >> Fatal error: Assignment of a float to a specialised non-float array: (array.unsafe_set[int]<{src/option_array.ml:207,14-43;src/option_array.ml:145,21-79;src/uniform_array.ml:50,6-28;src/uniform_array.ml:33,27-66;src/obj_array.ml:79,4-74}>
#                                                           res/5490 i/5494
#                                                           obj/5504)
# Fatal error: exception Misc.Fatal_error
# 
# Waiting for 3 jobs to finish.

Provide Base's M functor for collections

In Base, collection modules such as Set and Map contain a functor M which is useful for referring to the type of a collection produced by a comparator:

type 'a int_map = 'a Map.M(Int).t

However, this doesn't appear to be a part of the Core versions of Set and Map. It would be nice to have, especially now that Core is going in Base's direction of not requiring a new module for each key type.

Bigbuffer and bigstring questions

Just started using Bigbuffer and bigstring and I quite like them. I have few questions/concerns that I note here to not forget them.

  • Bigbuffer.volatile_contents is quite confusing. I would expect it to return a consistent subview of the underlying bigarray (with the right length), not the whole bigarray. I had to wrap it into something like Bigstring.sub_share ~len:(Bigbuffer.length b) (Bigbuffer.volatile_contents b);
  • There are no Bigbuffer.add_bigstring. I had to do Bigbuffer.add_string (Bigstring.to_string s) which means extra allocations;
  • slighlty related, there are no Bigstring.concat: t list -> t;
  • bigstrings and bigbuffers are not comparable, and bigbuffers are not binable;
  • a more general concern is that would be very handy to have an good way to interface bigbuffers and ocplib-endian to be able to add ints whithout having to allocate an intermediate string everytime.

installation of core_kernel.112.06.00 failed

I installed opam on Ubuntu 14.04(Mininet 2.1.0 on Ubuntu 14.04) on virtualbox, as the http://opam.ocaml.org/doc/Install.html requires:

1、add-apt-repository ppa:avsm/ppa
2、apt-get update
3、apt-get install ocaml ocaml-native-compilers camlp4-extra opam
4、opam init
5、opam install async
in the 5th step, async installation failed, it shows "the comilation of core_kernel.112.06.00 failed". following is the detail, how should i fix this problem?

=== ERROR while installing core_kernel.112.06.00 =============================

opam-version 1.2.0

os linux

command make

path /home/mininet/.opam/system/build/core_kernel.112.06.00

compiler system (4.02.1)

exit-code 2

env-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.env

stdout-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.out

stderr-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.err

stdout

...[truncated]

/home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/flat_queue_unit_tests.ml > lib/flat_queue_unit_tests.ml.depends

/home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/float.ml > lib/float.ml.depends

+ /home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/float.ml > lib/float.ml.depends

File "lib/float.ml", line 985, characters 46-58:

Integer literal exceeds the range of representable integers of type int

File "lib/float.ml", line 1:

Error: Error while running external preprocessor

Command line: camlp4 '-I' '/usr/lib/ocaml/camlp4' '-I' '/home/mininet/.opam/system/lib/type_conv' '-I' '/home/mininet/.opam/system/lib/variantslib' '-I' '/home/mininet/.opam/system/lib/variantslib' '-I' '/home/mininet/.opam/system/lib/typerep_lib' '-I' '/usr/lib/ocaml' '-I' '/usr/lib/ocaml' '-I' '/home/mininet/.opam/system/lib/sexplib' '-I' '/home/mininet/.opam/system/lib/sexplib' '-I' '/home/mininet/.opam/system/lib/comparelib' '-I' '/home/mininet/.opam/system/lib/comparelib' '-I' '/home/mininet/.opam/system/lib/pa_test' '-I' '/home/mininet/.opam/system/lib/pa_pipebang' '-I' '/home/mininet/.opam/system/lib/pa_ounit' '-I' '/home/mininet/.opam/system/lib/oUnit' '-I' '/home/mininet/.opam/system/lib/oUnit' '-I' '/home/mininet/.opam/system/lib/pa_ounit' '-I' '/home/mininet/.opam/system/lib/pa_bench' '-I' '/home/mininet/.opam/system/lib/herelib' '-I' '/home/mininet/.opam/system/lib/fieldslib' '-I' '/home/mininet/.opam/system/lib/fieldslib' '-I' '/home/mininet/.opam/system/lib/enumerate' '-I' '/home/mininet/.opam/system/lib/bin_prot' '-I' '/home/mininet/.opam/system/lib/bin_prot' '-parser' 'o' '-parser' 'op' '-printer' 'p' 'pa_type_conv.cma' 'variantslib.cma' 'pa_variants_conv.cma' 'typerep_syntax.cma' 'unix.cma' 'bigarray.cma' 'sexplib.cma' 'pa_sexp_conv.cma' 'comparelib.cma' 'pa_compare.cma' 'pa_test_syntax.cma' 'pa_pipebang.cma' 'pa_ounit_syntax.cma' 'oUnitAdvanced.cma' 'oUnit.cma' 'pa_ounit_lib.cma' 'pa_bench_syntax.cma' 'pa_herelib.cma' 'fieldslib.cma' 'pa_fields_conv.cma' 'enumerate.cma' 'bin_prot.cma' 'pa_bin_prot.cma' '-pa-ounit-lib' 'core_kernel' 'lib/float.ml' > /tmp/ocamlpp28df8d

Command exited with code 2.

stderr

W: Cannot find source file matching module 'check_caml_modify' in library check_caml_modify

W: Cannot find source file matching module 'core_kernel' in library core_kernel

E: Failure("Command ''/usr/bin/ocamlbuild' lib/libcore_kernel_stubs.a lib/dllcore_kernel_stubs.so lib/core_kernel.cma lib/core_kernel.cmxa lib/core_kernel.a lib/core_kernel.cmxs check_caml_modify/libcheck_caml_modify_stubs.a check_caml_modify/dllcheck_caml_modify_stubs.so check_caml_modify/check_caml_modify.cma check_caml_modify/check_caml_modify.cmxa check_caml_modify/check_caml_modify.a check_ca...[truncated]

make: *** [build] Error 1

=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following failed

  • install core_kernel.112.06.00
    Due to the errors, the following have been cancelled
  • install async_extra.112.06.00
  • install async.112.06.00
  • install core.112.06.01
  • install async_kernel.112.06.00
  • install async_unix.112.06.00
    mininet@mininet-vm:~$

fails to build with jbuilder error

Latest commit 39d72cf fails to build:

$ jbuilder build-package core_kernel
File "src/jbuild", line 29, characters 3-14:
Error: Unknown field c_libraries

Also, this package and some others have multiple commits with the same comment "114.20+69". Is that simply an error?

-mpopcnt causes trouble on OpenBSD

Hi,

I was trying to install core_kernel on my OpenBSD 6.1 box with OCaml 4.05.0 and got the following error:

$ opam install  core_kernel --use-internal-solver                                                                                                                                       [247/1940]
The following actions will be performed:
  ∗  install core_kernel v0.9.0

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[ERROR] The compilation of core_kernel failed at "jbuilder build -p core_kernel -j 4".

#=== ERROR while installing core_kernel.v0.9.0 ================================#
# opam-version 1.2.2
# os           openbsd
# command      jbuilder build -p core_kernel -j 4
# path         /home/wsg/.opam/4.05.0/build/core_kernel.v0.9.0
# compiler     4.05.0
# exit-code    1
# env-file     /home/wsg/.opam/4.05.0/build/core_kernel.v0.9.0/core_kernel-79091-42bb52.env
# stdout-file  /home/wsg/.opam/4.05.0/build/core_kernel.v0.9.0/core_kernel-79091-42bb52.out
# stderr-file  /home/wsg/.opam/4.05.0/build/core_kernel.v0.9.0/core_kernel-79091-42bb52.err
### stderr ###
# [...]
#     ocamlopt .ppx/ppx_base+ppx_inline_test+ppx_sexp_conv+ppx_sexp_message+ppx_driver.runner/ppx.exe
#       ocamlc src/bigstring_marshal_stubs.o (exit 2)
# (cd _build/default/src && /home/wsg/.opam/4.05.0/bin/ocamlc.opt -g -I /home/wsg/.opam/4.05.0/lib/base -I /home/wsg/.opam/4.05.0/lib/base/caml -I /home/wsg/.opam/4.05.0/lib/base/shadow_stdlib $
I /home/wsg/.opam/4.05.0/lib/bin_prot -I /home/wsg/.opam/4.05.0/lib/bin_prot/shape -I /home/wsg/.opam/4.05.0/lib/fieldslib -I /home/wsg/.opam/4.05.0/lib/jane-street-headers -I /home/wsg/.opam/4$
05.0/lib/num -I /home/wsg/.opam/4.05.0/lib/ocaml -I /home/wsg/.opam/4.05.0/lib/ppx_assert/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_bench/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_compa$
e/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_expect/collector -I /home/wsg/.opam/4.05.0/lib/ppx_expect/common -I /home/wsg/.opam/4.05.0/lib/ppx_expect/config -I /home/wsg/.opam/4.05.0/lib/pp$
_hash/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_inline_test/config -I /home/wsg/.opam/4.05.0/lib/ppx_inline_test/runtime-lib -I /home/wsg/.opam/4.05.0/lib/sexplib -I /home/wsg/.opam/4.05.0/l
ib/sexplib/0 -I /home/wsg/.opam/4.05.0/lib/stdio -I /home/wsg/.opam/4.05.0/lib/typerep -I /home/wsg/.opam/4.05.0/lib/variantslib -I ../base_for_tests/src -ccopt -g -ccopt -D_LARGEFILE64_SOURCE -
ccopt -mpopcnt -o bigstring_marshal_stubs.o bigstring_marshal_stubs.c)
# cc1: error: unrecognized command line option "-mpopcnt"
#       ocamlc src/bigstring_stubs.o (exit 2)
# (cd _build/default/src && /home/wsg/.opam/4.05.0/bin/ocamlc.opt -g -I /home/wsg/.opam/4.05.0/lib/base -I /home/wsg/.opam/4.05.0/lib/base/caml -I /home/wsg/.opam/4.05.0/lib/base/shadow_stdlib -
I /home/wsg/.opam/4.05.0/lib/bin_prot -I /home/wsg/.opam/4.05.0/lib/bin_prot/shape -I /home/wsg/.opam/4.05.0/lib/fieldslib -I /home/wsg/.opam/4.05.0/lib/jane-street-headers -I /home/wsg/.opam/4.
05.0/lib/num -I /home/wsg/.opam/4.05.0/lib/ocaml -I /home/wsg/.opam/4.05.0/lib/ppx_assert/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_bench/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_compar
e/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_expect/collector -I /home/wsg/.opam/4.05.0/lib/ppx_expect/common -I /home/wsg/.opam/4.05.0/lib/ppx_expect/config -I /home/wsg/.opam/4.05.0/lib/ppx
_hash/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_inline_test/config -I /home/wsg/.opam/4.05.0/lib/ppx_inline_test/runtime-lib -I /home/wsg/.opam/4.05.0/lib/sexplib -I /home/wsg/.opam/4.05.0/l
ib/sexplib/0 -I /home/wsg/.opam/4.05.0/lib/stdio -I /home/wsg/.opam/4.05.0/lib/typerep -I /home/wsg/.opam/4.05.0/lib/variantslib -I ../base_for_tests/src -ccopt -g -ccopt -D_LARGEFILE64_SOURCE -
ccopt -mpopcnt -o bigstring_stubs.o bigstring_stubs.c)
# cc1: error: unrecognized command line option "-mpopcnt"
#       ocamlc src/core_array_stubs.o (exit 2)
# (cd _build/default/src && /home/wsg/.opam/4.05.0/bin/ocamlc.opt -g -I /home/wsg/.opam/4.05.0/lib/base -I /home/wsg/.opam/4.05.0/lib/base/caml -I /home/wsg/.opam/4.05.0/lib/base/shadow_stdlib -
I /home/wsg/.opam/4.05.0/lib/bin_prot -I /home/wsg/.opam/4.05.0/lib/bin_prot/shape -I /home/wsg/.opam/4.05.0/lib/fieldslib -I /home/wsg/.opam/4.05.0/lib/jane-street-headers -I /home/wsg/.opam/4.
05.0/lib/num -I /home/wsg/.opam/4.05.0/lib/ocaml -I /home/wsg/.opam/4.05.0/lib/ppx_assert/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_bench/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_compar
e/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_expect/collector -I /home/wsg/.opam/4.05.0/lib/ppx_expect/common -I /home/wsg/.opam/4.05.0/lib/ppx_expect/config -I /home/wsg/.opam/4.05.0/lib/ppx
_hash/runtime-lib -I /home/wsg/.opam/4.05.0/lib/ppx_inline_test/config -I /home/wsg/.opam/4.05.0/lib/ppx_inline_test/runtime-lib -I /home/wsg/.opam/4.05.0/lib/sexplib -I /home/wsg/.opam/4.05.0/l
ib/sexplib/0 -I /home/wsg/.opam/4.05.0/lib/stdio -I /home/wsg/.opam/4.05.0/lib/typerep -I /home/wsg/.opam/4.05.0/lib/variantslib -I ../base_for_tests/src -ccopt -g -ccopt -D_LARGEFILE64_SOURCE -
ccopt -mpopcnt -o core_array_stubs.o core_array_stubs.c)
# cc1: error: unrecognized command line option "-mpopcnt"

=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following actions failed
  ∗  install core_kernel v0.9.0
No changes have been performed

I pinned the package, edited src/jbuild removing mention of -mpopcnt and the installation succeeded. I don't know how essential this flag is, but a subsequent installation of core on that machine seems to be working fine.

Core_kernel still has some Unix references lurking

Notably:

lib/pooled_hashtbl.ml:      let unix_time_before = Unix.time () in

This forces the pack to depend on Unix even if only Core_kernel is linked. Most of the other references are just type-level (Unix.file_descr) and less bad since they dont introduce a cma/x dependency.

weird behavior of the result type

After moving to the new result type I have a strange behavior. Looks like the trick with namespace_wrappers confused the typechecker:

The following program typechecks:

    type ('a,'b) result = ('a,'b) Result.result = Ok of 'a | Error of 'b
    type ab = [`a | `b]
    type abc = [ab| `c]
    let a : ab = `a
    let x = Error a
    let _ = (x :> ('a,abc) result)

But, if I will use core_kernel 113.33.01, then the program doesn't typecheck:

    open Core_kernel.Std

    type ab = [`a | `b]
    type abc = [ab| `c]

    let a : ab = `a

    let x = Error a

    let _ = (x :> ('a,abc) Result.t)

With the following error:

ocamlfind c -package core_kernel abc.ml
File "abc.ml", line 10, characters 9-10:
Error: This expression cannot be coerced to type
         ('a, abc) Core_kernel.Std.Result.t =
           ('a, abc) Result_lib.Result.result;
       it has type
         ('a, ab) Core_kernel.Std._result = ('a, ab) Result_lib.Result.result
       but is here used with type
         ('a, abc) Core_kernel.Std.Result.t =
           ('a, abc) Result_lib.Result.result
       Type ab = [ `a | `b ] is not compatible with type
         abc = [ `a | `b | `c ] 
       The first variant type does not allow tag(s) `c

install core_kernel.mli in opam

At some point of time you stopped to install mli files at all.
First of all, many people use mli files as a documentation. Second, merlin uses it to show documentation, for example C-c C-l on List.filter results in an error:

if: 'List.filter' seems to originate from 'Core_list' whose MLI file could not be found

Some Unix references

Unix is referenced from core_kernel.cmxa - probably due to the Unix references in src/time_ns.ml?

ocam build failure

# + touch src/core_kernel.mli  ; if  /home/jim/.opam/4.02.3/bin/ocamlfind ocamlopt -pack -g -annot -bin-annot -I src src/applicative_intf.cmx src/core_random.cmx src/array_permute.cmx src/stringable.cmx src/binable0.cmx src/caml.cmx src/commutative_group.cmx src/core_printf.cmx src/fn.cmx src/nothing0.cmx src/never_returns.cmx src/pretty_printer.cmx src/exn.cmx src/perms.cmx src/t.cmx src/with_return.cmx src/container.cmx src/monad.cmx src/stable_module_types.cmx src/stable_unit_test_intf.cmx src/result.cmx src/ordered_collection_common.cmx src/polymorphic_compare.cmx src/poly.cmx src/core_list.cmx src/applicative.cmx src/avltree.cmx src/binary_searchable_intf.cmx src/source_code_position0.cmx src/invariant_intf.cmx src/sexpable.cmx src/info.cmx src/error.cmx src/polymorphic_compare_intf.cmx src/int_replace_polymorphic_compare.cmx src/invariant.cmx src/or_error.cmx src/validate.cmx src/option.cmx src/binary_searchable.cmx src/blit_intf.cmx src/blit.cmx src/comparator.cmx src/sequence.cmx src/core_array.cmx src/core_map_intf.cmx src/core_map.cmx src/either_intf.cmx src/either.cmx src/core_set_intf.cmx src/core_set.cmx src/comparable_intf.cmx src/comparable.cmx src/core_hashtbl_intf.cmx src/int_pow2.cmx src/core_hashtbl.cmx src/union_find.cmx src/doubly_linked.cmx src/floatable.cmx src/hash_queue.cmx src/hash_set_intf.cmx src/hash_set.cmx src/hashable.cmx src/identifiable.cmx src/intable.cmx src/robustly_comparable.cmx src/interfaces.cmx src/bool.cmx src/staged.cmx src/common.cmx src/core_char.cmx src/core_field.cmx src/core_string.cmx src/hex_lexer.cmx src/int_intf.cmx src/word_size.cmx src/int_conversions.cmx src/core_sexp.cmx src/pow_overflow_bounds.cmx src/int_math.cmx src/core_int.cmx src/core_int32.cmx src/core_int63.cmx src/core_int64.cmx src/core_lazy.cmx src/core_nativeint.cmx src/core_queue.cmx src/float_intf.cmx src/float_robust_compare.cmx src/float.cmx src/linked_queue.cmx src/ordering.cmx src/ref.cmx src/unit.cmx src/std_internal.cmx src/backtrace.cmx src/bag.cmx src/byte_units.cmx src/heap_block.cmx src/core_gc.cmx src/bigstring.cmx src/bigbuffer_internal.cmx src/bigbuffer.cmx src/bigstring_marshal.cmx src/substring_intf.cmx src/make_substring.cmx src/bigsubstring.cmx src/binable.cmx src/binary_packing.cmx src/stable_unit_test.cmx src/blang.cmx src/equal.cmx src/bounded_int_table.cmx src/bucket.cmx src/constrained_float.cmx src/stack_intf.cmx src/core_stack.cmx src/linked_stack.cmx src/container_unit_tests.cmx src/core_arg.cmx src/core_bin_prot.cmx src/core_bytes.cmx src/core_printexc.cmx src/core_weak.cmx src/stable_internal.cmx src/stable_containers.cmx src/day_of_week.cmx src/debug.cmx src/decimal.cmx src/deque.cmx src/dequeue.cmx src/fdeque.cmx src/fheap.cmx src/flags_intf.cmx src/flags.cmx src/obj_array.cmx src/tuple_type_intf.cmx src/tuple_type.cmx src/flat_array.cmx src/flat_queue.cmx src/force_once.cmx src/fqueue.cmx src/heap_intf.cmx src/pool_intf.cmx src/pool.cmx src/heap.cmx src/hash_heap.cmx src/host_and_port.cmx src/in_channel.cmx src/int_set.cmx src/interned_string.cmx src/memo.cmx src/month.cmx src/no_polymorphic_compare.cmx src/nothing.cmx src/only_in_test.cmx src/out_channel.cmx src/percent.cmx src/pid.cmx src/pooled_hashtbl.cmx src/set_once.cmx src/source_code_position.cmx src/time_ns.cmx src/std_common.cmx src/string_id.cmx src/substring.cmx src/thread_safe_queue.cmx src/time_ns_alternate_sexp.cmx src/timing_wheel_intf.cmx src/validated_intf.cmx src/validated.cmx src/timing_wheel_ns.cmx src/tuple.cmx src/type_equal.cmx src/type_immediacy.cmx src/unique_id_intf.cmx src/unique_id.cmx src/univ.cmx src/univ_map_intf.cmx src/univ_map.cmx src/unpack_buffer.cmx src/std_kernel.cmx src/std.cmx src/core_map_unit_tests.cmx src/core_queue_debug.cmx src/core_queue_unit_tests.cmx src/core_set_unit_tests.cmx src/flat_array_debug.cmx src/flat_array_unit_tests.cmx src/flat_queue_debug.cmx src/flat_queue_unit_tests.cmx src/hashtbl_unit_tests.cmx src/pool_unit_tests.cmx src/pooled_hashtbl_unit_test.cmx src/stable.cmx src/stack_unit_tests.cmx src/timing_wheel_unit_tests.cmx src/timing_wheel_ns_unit_tests.cmx src/type_immediacy_conv_unit_tests.cmx src/type_immediacy_witness_unit_tests.cmx -o src/core_kernel.cmx  ; then  rm -f src/core_kernel.mli  ; else  rm -f src/core_kernel.mli  ; exit 1; fi
# File "src/core_kernel.cmx", line 1:
# Error: I/O error: as -o '/tmp/camlCore_kernel__c67986.o' '/tmp/camlasma918b8.s': Cannot allocate memory
# Command exited with code 1.
# Makefile:21: recipe for target 'build' failed
### stderr ###
# W: Cannot find source file matching module 'check_caml_modify' in library check_caml_modify
# W: Cannot find source file matching module 'core_kernel' in library core_kernel
# E: Failure("Command ''/home/jim/.opam/4.02.3/bin/ocamlbuild' src/libcore_kernel_stubs.a src/dllcore_kernel_stubs.so src/core_kernel.cma src/core_kernel.cmxa src/core_kernel.a src/core_kernel.cmxs check_caml_modify/libcheck_caml_modify_stubs.a check_caml_modify/dllcheck_caml_modify_stubs.so check_caml_modify/check_caml_modify.cma check_caml_modify/check_caml_modify.cmxa check_caml_modify/check_caml_modify.a check_caml_modify/check_caml_modify.cmxs -use-ocamlfind -tag debug' terminated with error code 10")
# make: *** [build] Error 1



=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following actions failed
  ∗  install core_kernel 112.35.00
No changes have been performed
jim@jim-VirtualBox:~/project/Batsh$ uname -a
Linux jim-VirtualBox 3.19.0-28-generic #30-Ubuntu SMP Mon Aug 31 15:52:51 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Build/Install Failure on Mac OS-X Lion (64-bit)

Due to some errors while processing core_kernel.109.34.00, the following actions will NOT be proceeded:

  • install core.109.34.00

==== ERROR [while installing core_kernel.109.34.00] ====

opam-version 1.0.0

os darwin

command make

path /Users/barney/.opam/4.01.0dev+trunk/build/core_kernel.109.34.00

exit-code 2

env-file /Users/barney/.opam/4.01.0dev+trunk/build/core_kernel.109.34.00/core_kernel-5f1023.env

stdout-file /Users/barney/.opam/4.01.0dev+trunk/build/core_kernel.109.34.00/core_kernel-5f1023.out

stderr-file /Users/barney/.opam/4.01.0dev+trunk/build/core_kernel.109.34.00/core_kernel-5f1023.err

stdout

...[truncated]
| False
| And of 'a t * 'a t
| Or of 'a t * 'a t
| Not of 'a t
| If of 'a t * 'a t * 'a t
| Base of 'a
File "lib/blang.mli", line 143, characters 9-161: Expected declaration
File "lib/blang.mli", line 152, characters 11-35: Actual declaration
Their kinds differ.
Command exited with code 2.

stderr

E: Failure("Command ''/Users/barney/.opam/4.01.0dev+trunk/bin/ocamlbuild' lib/libcore_kernel_stubs.a lib/dllcore_kernel_stubs.so lib/core_kernel.cma lib/core_kernel.cmxa lib/core_kernel.a lib/core_kernel.cmxs -tag debug' terminated with error code 10")
make: *** [build] Error 1

How to use identifiable properly ?

Following what is said in the mli, I'm trying to do:

open Core_kernel.Std

module T = struct
  include String
  let module_name = "Node"
end
include T
include Identifiable.Make(T)

But I get:

Error: Multiple definition of the module name Replace_polymorphic_compare.
       Names must be unique in a given structure or signature.

Is this expected ?

Use result package

Are there any plans for core_kernel to use the result package as a dependency? As I gather most people do, I have a result type floating around in my libraries and I've slowly begun transitioning them to use the result package as a dependency. Having core and async use the same type would make life in a pre-4.03 world much easier.

Core_kernel.Core_result.t not compatible with the new Pervasives.result

utop # #require "result";;
utop # Result.Ok () = Pervasives.Ok ();;
- : bool = true
utop # #require "core_kernel";;
utop # Core_kernel.Core_result.Ok () = Pervasives.Ok ();;
Error: The constructor Pervasives.Ok belongs to the variant type result
       but a constructor was expected belonging to the variant type
         Core_kernel.Core_result.t = Result_lib.Result.result

I'm using 4.03.0 with:

core_kernel     113.33.01+4.03
result  1.2

4.03.0 switch

base-bigarray   base    root
base-bytes  base    installed
base-threads    base    root
base-unix   base    root
bin_prot    113.33.00+4.03  installed
camomile    0.8.5   installed
conf-m4 1   installed
core_kernel 113.33.01+4.03  root
cppo    1.3.2   installed
fieldslib   113.24.00   installed
lambda-term 1.10    installed
lwt 2.5.2   installed
menhir  20160526    root
ocamlbuild  0.9.2   installed
ocamlfind   1.6.2   installed
ocp-ocamlres    0.3 root
pprint  20140424    installed
ppx_assert  113.33.00   installed
ppx_bench   113.33.00+4.03  installed
ppx_bin_prot    113.33.00+4.03  installed
ppx_compare 113.33.00+4.03  installed
ppx_core    113.33.01+4.03  installed
ppx_custom_printf   113.33.00+4.03  installed
ppx_deriving    3.3 root
ppx_driver  113.33.01+4.03  installed
ppx_enumerate   113.33.00+4.03  installed
ppx_expect  113.33.01+4.03  installed
ppx_fail    113.33.00+4.03  installed
ppx_fields_conv 113.33.00+4.03  installed
ppx_here    113.33.00   installed
ppx_inline_test 113.33.00+4.03  installed
ppx_jane    113.33.00   installed
ppx_let 113.33.00+4.03  root
ppx_optcomp 113.33.00+4.03  installed
ppx_pipebang    113.33.00+4.03  installed
ppx_sexp_conv   113.33.01+4.03  root
ppx_sexp_message    113.33.00+4.03  installed
ppx_sexp_value  113.33.00+4.03  installed
ppx_tools   5.0+4.03.0  installed
ppx_type_conv   113.33.01+4.03  root
ppx_typerep_conv    113.33.00+4.03  installed
ppx_variants_conv   113.33.00+4.03  installed
re  1.6.1   installed
react   1.2.0   installed
result  1.2 installed
sexplib 113.33.00+4.03  installed
typerep 113.24.00   installed
utop    1.19.2  root
variantslib 113.24.00   installed
zed 1.4 installed

installation of core_kernel.112.06.00 failed

I installed opam on Ubuntu 14.04(Mininet 2.1.0 on Ubuntu 14.04) on virtualbox, as the http://opam.ocaml.org/doc/Install.html requires:

1、add-apt-repository ppa:avsm/ppa
2、apt-get update
3、apt-get install ocaml ocaml-native-compilers camlp4-extra opam
4、opam init
5、opam install async
in the 5th step, async installation failed, it shows "the comilation of core_kernel.112.06.00 failed". following is the detail, how should i fix this problem?

#=== ERROR while installing core_kernel.112.06.00 =============================#

opam-version 1.2.0

os linux

command make

path /home/mininet/.opam/system/build/core_kernel.112.06.00

compiler system (4.02.1)

exit-code 2

env-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.env

stdout-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.out

stderr-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.err

stdout

...[truncated]

/home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/flat_queue_unit_tests.ml > lib/flat_queue_unit_tests.ml.depends

/home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/float.ml > lib/float.ml.depends

+ /home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/float.ml > lib/float.ml.depends

File "lib/float.ml", line 985, characters 46-58:

Integer literal exceeds the range of representable integers of type int

File "lib/float.ml", line 1:

Error: Error while running external preprocessor

Command line: camlp4 '-I' '/usr/lib/ocaml/camlp4' '-I' '/home/mininet/.opam/system/lib/type_conv' '-I' '/home/mininet/.opam/system/lib/variantslib' '-I' '/home/mininet/.opam/system/lib/variantslib' '-I' '/home/mininet/.opam/system/lib/typerep_lib' '-I' '/usr/lib/ocaml' '-I' '/usr/lib/ocaml' '-I' '/home/mininet/.opam/system/lib/sexplib' '-I' '/home/mininet/.opam/system/lib/sexplib' '-I' '/home/mininet/.opam/system/lib/comparelib' '-I' '/home/mininet/.opam/system/lib/comparelib' '-I' '/home/mininet/.opam/system/lib/pa_test' '-I' '/home/mininet/.opam/system/lib/pa_pipebang' '-I' '/home/mininet/.opam/system/lib/pa_ounit' '-I' '/home/mininet/.opam/system/lib/oUnit' '-I' '/home/mininet/.opam/system/lib/oUnit' '-I' '/home/mininet/.opam/system/lib/pa_ounit' '-I' '/home/mininet/.opam/system/lib/pa_bench' '-I' '/home/mininet/.opam/system/lib/herelib' '-I' '/home/mininet/.opam/system/lib/fieldslib' '-I' '/home/mininet/.opam/system/lib/fieldslib' '-I' '/home/mininet/.opam/system/lib/enumerate' '-I' '/home/mininet/.opam/system/lib/bin_prot' '-I' '/home/mininet/.opam/system/lib/bin_prot' '-parser' 'o' '-parser' 'op' '-printer' 'p' 'pa_type_conv.cma' 'variantslib.cma' 'pa_variants_conv.cma' 'typerep_syntax.cma' 'unix.cma' 'bigarray.cma' 'sexplib.cma' 'pa_sexp_conv.cma' 'comparelib.cma' 'pa_compare.cma' 'pa_test_syntax.cma' 'pa_pipebang.cma' 'pa_ounit_syntax.cma' 'oUnitAdvanced.cma' 'oUnit.cma' 'pa_ounit_lib.cma' 'pa_bench_syntax.cma' 'pa_herelib.cma' 'fieldslib.cma' 'pa_fields_conv.cma' 'enumerate.cma' 'bin_prot.cma' 'pa_bin_prot.cma' '-pa-ounit-lib' 'core_kernel' 'lib/float.ml' > /tmp/ocamlpp28df8d

#

Command exited with code 2.

stderr

W: Cannot find source file matching module 'check_caml_modify' in library check_caml_modify

W: Cannot find source file matching module 'core_kernel' in library core_kernel

E: Failure("Command ''/usr/bin/ocamlbuild' lib/libcore_kernel_stubs.a lib/dllcore_kernel_stubs.so lib/core_kernel.cma lib/core_kernel.cmxa lib/core_kernel.a lib/core_kernel.cmxs check_caml_modify/libcheck_caml_modify_stubs.a check_caml_modify/dllcheck_caml_modify_stubs.so check_caml_modify/check_caml_modify.cma check_caml_modify/check_caml_modify.cmxa check_caml_modify/check_caml_modify.a check_ca...[truncated]

make: *** [build] Error 1

=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following failed

install core_kernel.112.06.00 Due to the errors, the following have been cancelled
install async_extra.112.06.00
install async.112.06.00
install core.112.06.01
install async_kernel.112.06.00
install async_unix.112.06.00
mininet@mininet-vm:~$

Something completely wrong with reference assignment in bytecode

The program prints "ERROR" instead of "OK".
It prints "OK", as expected, if you remove open Core_kernel.Std or build native version of the program.

Reproducible on both Mac OS X 10.10 and CentOS 7.

airbook:bug stas$ ocamlc -version
4.02.1
airbook:bug stas$ opam list | grep core
core               112.24.00  Industrial strength alternative to OCaml's standar
core_extended      112.24.00  Extra components that are not as closely vetted or
core_kernel        112.24.00  Industrial strength alternative to OCaml's standar
airbook:bug stas$ cat _tags
true: package(core_kernel)
true: thread,debug,annot
true: bin_annot

airbook:bug stas$ cat bug.ml

open Core_kernel.Std

let _ =
  let cont = ref (fun x -> Printf.printf "ERROR\n"; x) in
  (cont := (fun x -> Printf.printf "OK\n"; x); ())
  |> !cont

airbook:bug stas$ ocamlbuild -use-ocamlfind bug.byte && ./bug.byte
Finished, 3 targets (3 cached) in 00:00:00.
ERROR
airbook:bug stas$

-mpopcnt breaks compilation on armv7 (arm32v7), debian-stretch and 4.06.0

Hello. opam install core fails with this error:

[ERROR] The compilation of core_kernel failed at "jbuilder build -p core_kernel
        -j 4".

#=== ERROR while installing core_kernel.v0.9.1 ================================#
# opam-version         1.2.2
# os                   linux
# command              jbuilder build -p core_kernel -j 4
# path                 /home/dev/.opam/4.06.0/build/core_kernel.v0.9.1
# compiler             4.06.0
# exit-code            1
# env-file             /home/dev/.opam/4.06.0/build/core_kernel.v0.9.1/core_kernel-7-0f9439.env
# stdout-file          /home/dev/.opam/4.06.0/build/core_kernel.v0.9.1/core_kernel-7-0f9439.out
# stderr-file          /home/dev/.opam/4.06.0/build/core_kernel.v0.9.1/core_kernel-7-0f9439.err
### stderr ###
# [...]
#     ocamlopt src/config/discover.exe
#     discover src/config.h,src/rt-flags
#       ocamlc src/bigstring_stubs.o (exit 2)
# (cd _build/default/src && /home/dev/.opam/4.06.0/bin/ocamlc.opt -g -I /home/dev/.opam/4.06.0/lib/base -I /home/dev/.opam/4.06.0/lib/base/caml -I /home/dev/.opam/4.06.0/lib/base/shadow_stdlib -I /home/dev/.opam/4.06.0/lib/bin_prot -I /home/dev/.opam/4.06.0/lib/bin_prot/shape -I /home/dev/.opam/4.06.0/lib/fieldslib -I /home/dev/.opam/4.06.0/lib/jane-street-headers -I /home/dev/.opam/4.06.0/lib/num -I /home/dev/.opam/4.06.0/lib/ocaml -I /home/dev/.opam/4.06.0/lib/ppx_assert/runtime-lib -I /home/dev/.opam/4.06.0/lib/ppx_bench/runtime-lib -I /home/dev/.opam/4.06.0/lib/ppx_compare/runtime-lib -I /home/dev/.opam/4.06.0/lib/ppx_expect/collector -I /home/dev/.opam/4.06.0/lib/ppx_expect/common -I /home/dev/.opam/4.06.0/lib/ppx_expect/config -I /home/dev/.opam/4.06.0/lib/ppx_hash/runtime-lib -I /home/dev/.opam/4.06.0/lib/ppx_inline_test/config -I /home/dev/.opam/4.06.0/lib/ppx_inline_test/runtime-lib -I /home/dev/.opam/4.06.0/lib/sexplib -I /home/dev/.opam/4.06.0/lib/sexplib/0 -I /home/dev/.opam/4.06.0/lib/stdio -I /home/dev/.opam/4.06.0/lib/typerep -I /home/dev/.opam/4.06.0/lib/variantslib -I ../base_for_tests/src -ccopt -g -ccopt -D_LARGEFILE64_SOURCE -ccopt -mpopcnt -o bigstring_stubs.o bigstring_stubs.c)
# gcc: error: unrecognized command line option '-mpopcnt'
#       ocamlc src/bigstring_marshal_stubs.o (exit 2)
# (cd _build/default/src && /home/dev/.opam/4.06.0/bin/ocamlc.opt -g -I /home/dev/.opam/4.06.0/lib/base -I /home/dev/.opam/4.06.0/lib/base/caml -I /home/dev/.opam/4.06.0/lib/base/shadow_stdlib -I /home/dev/.opam/4.06.0/lib/bin_prot -I /home/dev/.opam/4.06.0/lib/bin_prot/shape -I /home/dev/.opam/4.06.0/lib/fieldslib -I /home/dev/.opam/4.06.0/lib/jane-street-headers -I /home/dev/.opam/4.06.0/lib/num -I /home/dev/.opam/4.06.0/lib/ocaml -I /home/dev/.opam/4.06.0/lib/ppx_assert/runtime-lib -I /home/dev/.opam/4.06.0/lib/ppx_bench/runtime-lib -I /home/dev/.opam/4.06.0/lib/ppx_compare/runtime-lib -I /home/dev/.opam/4.06.0/lib/ppx_expect/collector -I /home/dev/.opam/4.06.0/lib/ppx_expect/common -I /home/dev/.opam/4.06.0/lib/ppx_expect/config -I /home/dev/.opam/4.06.0/lib/ppx_hash/runtime-lib -I /home/dev/.opam/4.06.0/lib/ppx_inline_test/config -I /home/dev/.opam/4.06.0/lib/ppx_inline_test/runtime-lib -I /home/dev/.opam/4.06.0/lib/sexplib -I /home/dev/.opam/4.06.0/lib/sexplib/0 -I /home/dev/.opam/4.06.0/lib/stdio -I /home/dev/.opam/4.06.0/lib/typerep -I /home/dev/.opam/4.06.0/lib/variantslib -I ../base_for_tests/src -ccopt -g -ccopt -D_LARGEFILE64_SOURCE -ccopt -mpopcnt -o bigstring_marshal_stubs.o bigstring_marshal_stubs.c)
# gcc: error: unrecognized command line option '-mpopcnt'
#
# Waiting for 2 jobs to finish.

pack_signed_32_big_endian (and other omissions)

There are a number of functions missing from Binary_packing. E.g. I have to do pack_signed_32 ~byte_order:Big_endian`, which the documentation suggests is up to 3 times slower than a 32 bit _big_endian function. Given that there is a pack_signed_64_big_endian, I see no reason why there shouldn't be one for 32 bit. I'm aware that there is a pack_unsigned_32_int_big_endian (I want unsigned, but for fixed width 32 bit, signed works as well), but I'd like to be portable to 32 bit platforms, where int is signed 31 bit.

32-bit build failure

Related to: ocaml/opam-repository#2764
I have the same problem, but it is independent of the opam package, building it manually fails for the same reason.

The 64-bit version does compile and the test case don't report anything suspicious. But I cannot build core_kernel, if i use a 32-bit version of ocaml (tested with 4.02.0 from opam / i686 linux kernel)

Circular dependencies: "lib/hashable.cmo" already seen in
  [ "lib/identifiable.cmo"; "lib/core_char.cmo"; "lib/core_string.cmo";
    "lib/int_conversions.cmo"; "lib/invariant_intf.cmo"; "lib/invariant.cmo";
    "lib/debug.cmo"; "lib/core_field.cmo"; "lib/pool.cmo";
    "lib/pooled_hashtbl.cmo"; "lib/hash_set_intf.cmo"; "lib/hash_set.cmo";
    "lib/hash_queue.cmo"; "lib/int_pow2.cmo"; "lib/core_hashtbl_intf.cmo";
    "lib/core_hashtbl.cmo"; "lib/hashable.cmo"; "lib/core_set_intf.cmo";
    "lib/core_set.cmo"; "lib/core_map_intf.cmo"; "lib/core_map.cmo";
    "lib/comparator.cmo"; "lib/comparable_intf.cmo"; "lib/comparable.cmo";
    "lib/bool.cmo"; "lib/std_internal.cmo"; "lib/sequence.cmo";
    "lib/blit_intf.cmo"; "lib/blit.cmo"; "lib/polymorphic_compare_intf.cmo";
    "lib/int_replace_polymorphic_compare.cmo";
    "lib/binary_searchable_intf.cmo"; "lib/binary_searchable.cmo";
    "lib/core_array.cmo"; "lib/union_find.cmo"; "lib/doubly_linked.cmo";
    "lib/bag.cmo"; "lib/or_error.cmo"; "lib/validate.cmo";
    "lib/source_code_position0.cmo"; "lib/polymorphic_compare.cmo";
    "lib/poly.cmo"; "lib/stable_unit_test_intf.cmo"; "lib/result.cmo";
    "lib/ordered_collection_common.cmo"; "lib/monad.cmo"; "lib/caml.cmo";
    "lib/core_list.cmo"; "lib/stringable.cmo"; "lib/binable0.cmo";
    "lib/info.cmo"; "lib/error.cmo";
    "raise_without_backtrace/raise_without_backtrace.cmo";
    "lib/pretty_printer.cmo"; "lib/nothing0.cmo"; "lib/never_returns.cmo";
    "lib/fn.cmo"; "lib/exn.cmo"; "lib/with_return.cmo"; "lib/t.cmo";
    "lib/core_printf.cmo"; "lib/perms.cmo"; "lib/container.cmo";
    "lib/commutative_group.cmo"; "lib/option.cmo"; "lib/avltree.cmo";
    "lib/core_random.cmo"; "lib/array_permute.cmo" ]

Compilation unsuccessful after building 649 targets (0 cached) in 00:04:16.
E: Failure("Command ''/home/fdopen/.opam/4.02.0/bin/ocamlbuild' check_caml_modify/libcheck_caml_modify_stubs.a check_caml_modify/dllcheck_caml_modify_stubs.so check_caml_modify/check_caml_modify.cma check_caml_modify/check_caml_modify.cmxa check_caml_modify/check_caml_modify.a check_caml_modify/check_caml_modify.cmxs raise_without_backtrace/raise_without_backtrace.cma raise_without_backtrace/raise_without_backtrace.cmxa raise_without_backtrace/raise_without_backtrace.a raise_without_backtrace/raise_without_backtrace.cmxs lib/libcore_kernel_stubs.a lib/dllcore_kernel_stubs.so lib/core_kernel.cma lib/core_kernel.cmxa lib/core_kernel.a lib/core_kernel.cmxs -use-ocamlfind -tag debug' terminated with error code 9")

installation of core_kernel.112.06.00 failed

I installed opam on Ubuntu 14.04(Mininet 2.1.0 on Ubuntu 14.04) on virtualbox, as thehttp://opam.ocaml.org/doc/Install.html requires:
1、add-apt-repository ppa:avsm/ppa
2、apt-get update
3、apt-get install ocaml ocaml-native-compilers camlp4-extra opam
4、opam init
5、opam install async 
in the 5th step, async installation failed, it shows "the comilation of core_kernel.112.06.00 failed". following is the detail, how should i fix this problem?

=== ERROR while installing core_kernel.112.06.00 =============================

opam-version 1.2.0
os linux
command make
path /home/mininet/.opam/system/build/core_kernel.112.06.00
compiler system (4.02.1)
exit-code 2
env-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.env
stdout-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.out
stderr-file /home/mininet/.opam/system/build/core_kernel.112.06.00/core_kernel-15383-a00279.err
stdout
...[truncated]
/home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/flat_queue_unit_tests.ml > lib/flat_queue_unit_tests.ml.depends
/home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/float.ml > lib/float.ml.depends

  • /home/mininet/.opam/system/bin/ocamlfind ocamldep -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -syntax camlp4o -package variantslib.syntax -package variantslib -package unix -package typerep_lib.syntax -package typerep_lib -package sexplib.syntax -package sexplib -package pa_test.syntax -package pa_test -package pa_pipebang -package pa_ounit.syntax -package pa_ounit -package pa_bench.syntax -package pa_bench -package herelib.syntax -package herelib -package fieldslib.syntax -package fieldslib -package enumerate.syntax -package enumerate -package comparelib.syntax -package bin_prot.syntax -package bin_prot -package bigarray -ppopt -pa-ounit-lib -ppopt core_kernel -modules lib/float.ml > lib/float.ml.depends
    File "lib/float.ml", line 985, characters 46-58:
    Integer literal exceeds the range of representable integers of type int
    File "lib/float.ml", line 1:
    Error: Error while running external preprocessor
    Command line: camlp4 '-I' '/usr/lib/ocaml/camlp4' '-I' '/home/mininet/.opam/system/lib/type_conv' '-I' '/home/mininet/.opam/system/lib/variantslib' '-I' '/home/mininet/.opam/system/lib/variantslib' '-I' '/home/mininet/.opam/system/lib/typerep_lib' '-I' '/usr/lib/ocaml' '-I' '/usr/lib/ocaml' '-I' '/home/mininet/.opam/system/lib/sexplib' '-I' '/home/mininet/.opam/system/lib/sexplib' '-I' '/home/mininet/.opam/system/lib/comparelib' '-I' '/home/mininet/.opam/system/lib/comparelib' '-I' '/home/mininet/.opam/system/lib/pa_test' '-I' '/home/mininet/.opam/system/lib/pa_pipebang' '-I' '/home/mininet/.opam/system/lib/pa_ounit' '-I' '/home/mininet/.opam/system/lib/oUnit' '-I' '/home/mininet/.opam/system/lib/oUnit' '-I' '/home/mininet/.opam/system/lib/pa_ounit' '-I' '/home/mininet/.opam/system/lib/pa_bench' '-I' '/home/mininet/.opam/system/lib/herelib' '-I' '/home/mininet/.opam/system/lib/fieldslib' '-I' '/home/mininet/.opam/system/lib/fieldslib' '-I' '/home/mininet/.opam/system/lib/enumerate' '-I' '/home/mininet/.opam/system/lib/bin_prot' '-I' '/home/mininet/.opam/system/lib/bin_prot' '-parser' 'o' '-parser' 'op' '-printer' 'p' 'pa_type_conv.cma' 'variantslib.cma' 'pa_variants_conv.cma' 'typerep_syntax.cma' 'unix.cma' 'bigarray.cma' 'sexplib.cma' 'pa_sexp_conv.cma' 'comparelib.cma' 'pa_compare.cma' 'pa_test_syntax.cma' 'pa_pipebang.cma' 'pa_ounit_syntax.cma' 'oUnitAdvanced.cma' 'oUnit.cma' 'pa_ounit_lib.cma' 'pa_bench_syntax.cma' 'pa_herelib.cma' 'fieldslib.cma' 'pa_fields_conv.cma' 'enumerate.cma' 'bin_prot.cma' 'pa_bin_prot.cma' '-pa-ounit-lib' 'core_kernel' 'lib/float.ml' > /tmp/ocamlpp28df8d

    Command exited with code 2.
    stderr
    W: Cannot find source file matching module 'check_caml_modify' in library check_caml_modify
    W: Cannot find source file matching module 'core_kernel' in library core_kernel
    E: Failure("Command ''/usr/bin/ocamlbuild' lib/libcore_kernel_stubs.a lib/dllcore_kernel_stubs.so lib/core_kernel.cma lib/core_kernel.cmxa lib/core_kernel.a lib/core_kernel.cmxs check_caml_modify/libcheck_caml_modify_stubs.a check_caml_modify/dllcheck_caml_modify_stubs.so check_caml_modify/check_caml_modify.cma check_caml_modify/check_caml_modify.cmxa check_caml_modify/check_caml_modify.a check_ca...[truncated]
    make: *** [build] Error 1
    =-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    The following failed
    install core_kernel.112.06.00 Due to the errors, the following have been cancelled
    install async_extra.112.06.00
    install async.112.06.00
    install core.112.06.01
    install async_kernel.112.06.00
    install async_unix.112.06.00 mininet@mininet-vm:~$

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.