Build:
- 0
2026-10-17 07:43.44: New job: build learn-ocaml.1.0.0 (0ddb8fe6e796)
2026-10-17 07:43.44: [profile odoc-master-mini] build learn-ocaml.1.0.0
2026-10-17 07:43.44: build learn-ocaml.1.0.0 (0ddb8fe6e796)
=== DEPENDENCIES (117 transitive) ===
angstrom.0.16.1 61b9aefacb0a
asak.0.5 862786c35bce
astring.0.8.5 8aa2cb64ef6a
base.v0.14.4 7aef551e459c
base-bigarray.base dce7dd6b7cf9
base-bytes.base f521c82d6112
base-threads.base 464810371b96
base-unix.base 4596d20d2cf7
base64.3.5.2 95a2d76f8d5d
bigarray-compat.1.1.0 5a08825a31be
bigstringaf.0.9.0 0b0b2767d068
camlp-streams.5.0.1 547c4efa385f
checkseum.0.5.4 31fb371fcfbe
cmdliner.1.3.0 41d6068a229c
cohttp.4.0.0 8a8e3d799710
cohttp-lwt.4.0.0 5f81608fb63e
cohttp-lwt-unix.4.0.0 7265ce6d86f9
conduit.1.3.0 098d9c56ff97
conduit-lwt.1.3.0 fc4261ffe658
conduit-lwt-unix.1.3.0 75bcd559f153
conf-git.1.1 51fc49d0ed0c
conf-libssl.4 811e020af475
conf-pkg-config.5 e39f7209b38f
cppo.1.8.0 bad420eab4b1
csexp.1.5.1 9554105a909f
cstruct.5.2.0 918fcaa621df
decompress.0.8.1 54bc5596a8b5
digestif.1.4.1 871e51168436
dune.2.9.3 504bf488506f
dune-configurator.2.9.3 a7bf78fe5749
easy-format.1.3.3 c46f53ee466e
eqaf.0.10 5c71c149ad7f
ezjsonm.1.3.0 fb4f2da06a67
fmt.0.11.0 a35c069903bb
fpath.0.7.3 a6bf07dd409f
gg.1.0.0 91fb2ae14ce8
hex.1.5.0 92486cd6a2e3
ipaddr.2.9.0 9c04ba0ce1a8
jane-street-headers.v0.14.0 a1a5207f49f6
js_of_ocaml.4.0.0 86a11a3d4010
js_of_ocaml-compiler.4.0.0 1d6d28fcdfb3
js_of_ocaml-lwt.4.0.0 6e91433180f7
js_of_ocaml-ppx.4.0.0 b4e6d4b62812
js_of_ocaml-toplevel.4.0.0 02ca6fd5c67b
js_of_ocaml-tyxml.4.0.0 e6abb417e7c6
jsonm.1.0.2 0973bdc8f673
jst-config.v0.14.1 7bdd44feccee
logs.0.7.0 e0374b3f8c97
lwt.5.9.1 edd1a4110af3
lwt_react.1.2.0 4fd43831e055
lwt_ssl.1.1.3 155fc4f54428
magic-mime.1.3.1 c406645b82e4
markup.1.0.3 db180909471b
markup-lwt.0.5.0 cb91c149c191
menhir.20260209 1eaa327f27d2
menhirCST.20260209 c61b893603b6
menhirGLR.20260209 55ffcad94fcc
menhirLib.20260209 0ec6adab7d93
menhirSdk.20260209 9d4b9ecf0f15
num.1.6 b4c27a2b46c8
ocaml.4.12.1 d66b7fd72df2
ocaml-base-compiler.4.12.1 1be8b907f61a
ocaml-compiler-libs.v0.12.4 9e1c7c80733a
ocaml-config.2 ec927ce23948
ocaml-migrate-parsetree.1.8.0 a67c522096d2
ocaml-syntax-shims.1.0.0 cb8bb11c017f
ocamlbuild.0.16.1 054829cd36bc
ocamlfind.1.9.8 5f7fba40dc93
ocp-indent-nlfork.1.5.5 310e2450c84e
ocp-ocamlres.0.4 e8c576bc646b
ocplib-endian.1.2 5681f68ba758
ocplib-json-typed.0.7.1 0248bcc2af28
ocplib-json-typed-browser.0.7.1 a72b08af1d11
octavius.1.2.2 ad6694fce8a7
odoc.2.1.1 d552a647653f
odoc-parser.1.0.1 5ed9b7bf95d5
omd.1.3.1 c1b91d56351e
optint.0.3.0 92630e0b5422
parsexp.v0.14.2 ea31ec4754e3
pprint.20230830 fcb49f8dc2d8
ppx_assert.v0.14.0 8cfb9981f6b9
ppx_base.v0.14.0 7e9be2d79f70
ppx_cold.v0.14.0 812e20b457ce
ppx_compare.v0.14.0 4f181ef6716d
ppx_cstruct.5.2.0 578e898541bf
ppx_derivers.1.2.1 73deaa38b7e1
ppx_enumerate.v0.14.0 11122b03b1fa
ppx_expect.v0.14.0 7b4297461bd5
ppx_hash.v0.14.0 df321741a4eb
ppx_here.v0.14.0 584ba3fef05c
ppx_inline_test.v0.14.1 115c1fee2d6e
ppx_js_style.v0.14.1 a04c4ec4771c
ppx_optcomp.v0.14.0 5dd4ccbb113c
ppx_sexp_conv.v0.14.1 0abef691b055
ppx_tools.6.6 b17945d867d7
ppx_tools_versioned.5.4.0 c51b23c842a0
ppxlib.0.15.0 65305e5bdd7d
re.1.12.0 04b7eb17b727
react.1.2.2 00dbd6c44b14
reactiveData.0.3.0 36c850f546d2
result.1.5 c3e5a69b45ff
seq.base a7e8db5165f7
sexplib.v0.14.0 34e363e8a464
sexplib0.v0.14.0 284b87ba3924
ssl.0.5.12 9b810957df52
stdio.v0.14.0 b7514069c251
stdlib-shims.0.3.0 871a38ad34c7
stringext.1.6.0 5cfac3f636a8
time_now.v0.14.0 a1657b18dc59
topkg.1.1.1 a2c205ba3975
tyxml.4.6.0 5fc063a96756
uchar.0.0.2 2596aa094253
uri.4.4.0 63f63b99b106
uri-sexp.4.4.0 259d95cb77eb
uutf.1.0.4 d52328f8c7a8
vg.0.9.4 81f5da8bd969
yojson.3.0.0 bf1f4945b60f
=== STDOUT ===
Processing: [default: loading data]
[learn-ocaml.1.0.0: dl]
[learn-ocaml.1.0.0: extract]
-> retrieved learn-ocaml.1.0.0 (https://opam.ocaml.org/cache)
[learn-ocaml: make static]
+ /usr/bin/make "static" (CWD=/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0)
- make[1]: Entering directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0/static'
- make[2]: Entering directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0/static/icons'
- sed "s/#000000/#000/g" icon_cleanup_src.svg > icon_cleanup_black.svg
- sed "s/#000000/#000/g" icon_down_src.svg > icon_down_black.svg
- sed "s/#000000/#000/g" icon_download_src.svg > icon_download_black.svg
- sed "s/#000000/#000/g" icon_left_src.svg > icon_left_black.svg
- sed "s/#000000/#000/g" icon_list_src.svg > icon_list_black.svg
- sed "s/#000000/#000/g" icon_logout_src.svg > icon_logout_black.svg
- sed "s/#000000/#000/g" icon_menu_src.svg > icon_menu_black.svg
- sed "s/#000000/#000/g" icon_reload_src.svg > icon_reload_black.svg
- sed "s/#000000/#000/g" icon_right_src.svg > icon_right_black.svg
- sed "s/#000000/#000/g" icon_run_src.svg > icon_run_black.svg
- sed "s/#000000/#000/g" icon_save_src.svg > icon_save_black.svg
- sed "s/#000000/#000/g" icon_sync_src.svg > icon_sync_black.svg
- sed "s/#000000/#000/g" icon_token_src.svg > icon_token_black.svg
- sed "s/#000000/#000/g" icon_typecheck_src.svg > icon_typecheck_black.svg
- sed "s/#000000/#000/g" icon_up_src.svg > icon_up_black.svg
- sed "s/#000000/#000/g" icon_upload_src.svg > icon_upload_black.svg
- sed "s/#000000/#FFF/g" icon_cleanup_src.svg > icon_cleanup_white.svg
- sed "s/#000000/#FFF/g" icon_down_src.svg > icon_down_white.svg
- sed "s/#000000/#FFF/g" icon_download_src.svg > icon_download_white.svg
- sed "s/#000000/#FFF/g" icon_left_src.svg > icon_left_white.svg
- sed "s/#000000/#FFF/g" icon_list_src.svg > icon_list_white.svg
- sed "s/#000000/#FFF/g" icon_logout_src.svg > icon_logout_white.svg
- sed "s/#000000/#FFF/g" icon_menu_src.svg > icon_menu_white.svg
- sed "s/#000000/#FFF/g" icon_reload_src.svg > icon_reload_white.svg
- sed "s/#000000/#FFF/g" icon_right_src.svg > icon_right_white.svg
- sed "s/#000000/#FFF/g" icon_run_src.svg > icon_run_white.svg
- sed "s/#000000/#FFF/g" icon_save_src.svg > icon_save_white.svg
- sed "s/#000000/#FFF/g" icon_sync_src.svg > icon_sync_white.svg
- sed "s/#000000/#FFF/g" icon_token_src.svg > icon_token_white.svg
- sed "s/#000000/#FFF/g" icon_typecheck_src.svg > icon_typecheck_white.svg
- sed "s/#000000/#FFF/g" icon_up_src.svg > icon_up_white.svg
- sed "s/#000000/#FFF/g" icon_upload_src.svg > icon_upload_white.svg
- sed "s/#000000/#222/g" icon_cleanup_src.svg > icon_cleanup_dark.svg
- sed "s/#000000/#222/g" icon_down_src.svg > icon_down_dark.svg
- sed "s/#000000/#222/g" icon_download_src.svg > icon_download_dark.svg
- sed "s/#000000/#222/g" icon_left_src.svg > icon_left_dark.svg
- sed "s/#000000/#222/g" icon_list_src.svg > icon_list_dark.svg
- sed "s/#000000/#222/g" icon_logout_src.svg > icon_logout_dark.svg
- sed "s/#000000/#222/g" icon_menu_src.svg > icon_menu_dark.svg
- sed "s/#000000/#222/g" icon_reload_src.svg > icon_reload_dark.svg
- sed "s/#000000/#222/g" icon_right_src.svg > icon_right_dark.svg
- sed "s/#000000/#222/g" icon_run_src.svg > icon_run_dark.svg
- sed "s/#000000/#222/g" icon_save_src.svg > icon_save_dark.svg
- sed "s/#000000/#222/g" icon_sync_src.svg > icon_sync_dark.svg
- sed "s/#000000/#222/g" icon_token_src.svg > icon_token_dark.svg
- sed "s/#000000/#222/g" icon_typecheck_src.svg > icon_typecheck_dark.svg
- sed "s/#000000/#222/g" icon_up_src.svg > icon_up_dark.svg
- sed "s/#000000/#222/g" icon_upload_src.svg > icon_upload_dark.svg
- sed "s/#000000/#EEE/g" icon_cleanup_src.svg > icon_cleanup_light.svg
- sed "s/#000000/#EEE/g" icon_down_src.svg > icon_down_light.svg
- sed "s/#000000/#EEE/g" icon_download_src.svg > icon_download_light.svg
- sed "s/#000000/#EEE/g" icon_left_src.svg > icon_left_light.svg
- sed "s/#000000/#EEE/g" icon_list_src.svg > icon_list_light.svg
- sed "s/#000000/#EEE/g" icon_logout_src.svg > icon_logout_light.svg
- sed "s/#000000/#EEE/g" icon_menu_src.svg > icon_menu_light.svg
- sed "s/#000000/#EEE/g" icon_reload_src.svg > icon_reload_light.svg
- sed "s/#000000/#EEE/g" icon_right_src.svg > icon_right_light.svg
- sed "s/#000000/#EEE/g" icon_run_src.svg > icon_run_light.svg
- sed "s/#000000/#EEE/g" icon_save_src.svg > icon_save_light.svg
- sed "s/#000000/#EEE/g" icon_sync_src.svg > icon_sync_light.svg
- sed "s/#000000/#EEE/g" icon_token_src.svg > icon_token_light.svg
- sed "s/#000000/#EEE/g" icon_typecheck_src.svg > icon_typecheck_light.svg
- sed "s/#000000/#EEE/g" icon_up_src.svg > icon_up_light.svg
- sed "s/#000000/#EEE/g" icon_upload_src.svg > icon_upload_light.svg
- make[2]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0/static/icons'
- make[1]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0/static'
[learn-ocaml: dune build]
+ /home/opam/.opam/default/bin/dune "build" "-p" "learn-ocaml" "-j" "39" (CWD=/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0)
- linking_flags src/main/linking_main.sexp
- ;; linking_main.sexp
- ;; generated by ./linking_flags.sh
- ()
- linking_flags src/main/linking_server.sexp
- ;; linking_server.sexp
- ;; generated by ./linking_flags.sh
- ()
- ocamlc src/ace-lib/.ace.objs/byte/ocaml_mode.{cmo,cmt}
- File "src/ace-lib/ocaml_mode.ml", line 154, characters 19-20:
- 154 | | LINE_DIRECTIVE _ -> "meta"
- ^
- Warning 28 [wildcard-arg-to-constant-constr]: wildcard pattern given as argument to a constant constructor
- ocamlc src/main/learnocaml_main.bc.exe
- + gcc -O2 -fno-strict-aliasing -fwrapv -Wall -Wdeclaration-after-statement -fno-common -fexcess-precision=standard -fno-tree-vrp -ffunction-sections -Wl,-E -o 'src/main/learnocaml_main.bc.exe' '-L/home/opam/.opam/default/lib/cstruct' '-L/home/opam/.opam/default/lib/ocaml' '-L/home/opam/.opam/default/lib/ocaml' '-L/home/opam/.opam/default/lib/ocaml' '-L/home/opam/.opam/default/lib/ocaml' '-L/home/opam/.opam/default/lib/lwt/unix' '-L/home/opam/.opam/default/lib/ocaml' '-L/home/opam/.opam/default/lib/bigstringaf' '-L/home/opam/.opam/default/lib/ssl' '-L/home/opam/.opam/default/lib/checkseum/c' '-L/home/opam/.opam/default/lib/ocaml' -Wl,-E '-fdebug-prefix-map=/tmp/build4d9d22.dune/camlobje915ad.c=camlprim.c' '/tmp/build4d9d22.dune/camlobje915ad.c' '-lcheckseum_c_stubs' '-lssl_stubs' '-lssl' '-lcrypto' '-lbigstringaf_stubs' '-llwt_unix_stubs' '-lthreads' '-lunix' '-lpthread' '-lunix' '-lcamlstr' '-lcstruct_stubs' '-lcamlrun' -I'/home/opam/.opam/default/lib/ocaml' -lm -lpthread
- js_of_ocaml src/app/learnocaml_description_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
- js_of_ocaml src/app/learnocaml_partition_view.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
- js_of_ocaml src/app/learnocaml_playground_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
- js_of_ocaml src/app/learnocaml_student_view.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
- js_of_ocaml src/app/learnocaml_exercise_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
- js_of_ocaml src/app/learnocaml_index_main.bc.js
- warning: free variables in primitive code "define_ocaml_mode" (/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0/_build/default/src/ace-lib/ace_bindings.js:19)
- vars: ace
- js_of_ocaml src/toplevel/learnocaml_toplevel_worker_main.bc.js
- Warning: Program not linked with -g, original variable names and locations not available.
- There are some missing primitives
- Dummy implementations (raising 'Failure' exception) will be used if they are not available at runtime.
- You can prevent the generation of dummy implementations with the commandline option '--disable genprim'
- Missing primitives:
- caml_unix_map_file_bytecode
- unix_accept
- unix_access
- unix_alarm
- unix_bind
- unix_chdir
- unix_chmod
- unix_chown
- unix_chroot
- unix_clear_close_on_exec
- unix_clear_nonblock
- unix_close
- unix_closedir
- unix_connect
- unix_dup
- unix_dup2
- unix_environment
- unix_environment_unsafe
- unix_error_message
- unix_execv
- unix_execve
- unix_execvp
- unix_execvpe
- unix_exit
- unix_fchmod
- unix_fchown
- unix_fork
- unix_fstat
- unix_fstat_64
- unix_fsync
- unix_ftruncate
- unix_ftruncate_64
- unix_getaddrinfo
- unix_getcwd
- unix_getegid
- unix_geteuid
- unix_getgid
- unix_getgrgid
- unix_getgrnam
- unix_getgroups
- unix_gethostbyaddr
- unix_gethostbyname
- unix_gethostname
- unix_getitimer
- unix_getlogin
- unix_getnameinfo
- unix_getpeername
- unix_getpid
- unix_getppid
- unix_getprotobyname
- unix_getprotobynumber
- unix_getpwnam
- unix_getservbyname
- unix_getservbyport
- unix_getsockname
- unix_getsockopt
- unix_inchannel_of_filedescr
- unix_initgroups
- unix_kill
- unix_link
- unix_listen
- unix_lockf
- unix_lseek
- unix_lseek_64
- unix_mkfifo
- unix_nice
- unix_open
- unix_opendir
- unix_outchannel_of_filedescr
- unix_pipe
- unix_putenv
- unix_read
- unix_readdir
- unix_recv
- unix_recvfrom
- unix_rename
- unix_rewinddir
- unix_select
- unix_send
- unix_sendto
- unix_set_close_on_exec
- unix_set_nonblock
- unix_setgid
- unix_setgroups
- unix_setitimer
- unix_setsid
- unix_setsockopt
- unix_setuid
- unix_shutdown
- unix_sigpending
- unix_sigprocmask
- unix_sigsuspend
- unix_single_write
- unix_sleep
- unix_socket
- unix_socketpair
- unix_spawn
- unix_string_of_inet_addr
- unix_tcdrain
- unix_tcflow
- unix_tcflush
- unix_tcgetattr
- unix_tcsendbreak
- unix_tcsetattr
- unix_times
- unix_truncate
- unix_truncate_64
- unix_umask
- unix_utimes
- unix_wait
- unix_waitpid
- unix_write
- js_of_ocaml src/grader/grader_jsoo_worker.bc.js
- Warning: Program not linked with -g, original variable names and locations not available.
- There are some missing primitives
- Dummy implementations (raising 'Failure' exception) will be used if they are not available at runtime.
- You can prevent the generation of dummy implementations with the commandline option '--disable genprim'
- Missing primitives:
- caml_unix_map_file_bytecode
- unix_accept
- unix_access
- unix_alarm
- unix_bind
- unix_chdir
- unix_chmod
- unix_chown
- unix_chroot
- unix_clear_close_on_exec
- unix_clear_nonblock
- unix_close
- unix_closedir
- unix_connect
- unix_dup
- unix_dup2
- unix_environment
- unix_environment_unsafe
- unix_error_message
- unix_execv
- unix_execve
- unix_execvp
- unix_execvpe
- unix_exit
- unix_fchmod
- unix_fchown
- unix_fork
- unix_fstat
- unix_fstat_64
- unix_fsync
- unix_ftruncate
- unix_ftruncate_64
- unix_getaddrinfo
- unix_getcwd
- unix_getegid
- unix_geteuid
- unix_getgid
- unix_getgrgid
- unix_getgrnam
- unix_getgroups
- unix_gethostbyaddr
- unix_gethostbyname
- unix_gethostname
- unix_getitimer
- unix_getlogin
- unix_getnameinfo
- unix_getpeername
- unix_getpid
- unix_getppid
- unix_getprotobyname
- unix_getprotobynumber
- unix_getpwnam
- unix_getservbyname
- unix_getservbyport
- unix_getsockname
- unix_getsockopt
- unix_inchannel_of_filedescr
- unix_initgroups
- unix_kill
- unix_link
- unix_listen
- unix_lockf
- unix_lseek
- unix_lseek_64
- unix_mkfifo
- unix_nice
- unix_open
- unix_opendir
- unix_outchannel_of_filedescr
- unix_pipe
- unix_putenv
- unix_read
- unix_readdir
- unix_recv
- unix_recvfrom
- unix_rename
- unix_rewinddir
- unix_select
- unix_send
- unix_sendto
- unix_set_close_on_exec
- unix_set_nonblock
- unix_setgid
- unix_setgroups
- unix_setitimer
- unix_setsid
- unix_setsockopt
- unix_setuid
- unix_shutdown
- unix_sigpending
- unix_sigprocmask
- unix_sigsuspend
- unix_single_write
- unix_sleep
- unix_socket
- unix_socketpair
- unix_spawn
- unix_string_of_inet_addr
- unix_tcdrain
- unix_tcflow
- unix_tcflush
- unix_tcgetattr
- unix_tcsendbreak
- unix_tcsetattr
- unix_times
- unix_truncate
- unix_truncate_64
- unix_umask
- unix_utimes
- unix_wait
- unix_waitpid
- unix_write
-> compiled learn-ocaml.1.0.0
[learn-ocaml: mkdir]
+ /usr/bin/mkdir "-p" "/home/opam/.opam/default/share/learn-ocaml" (CWD=/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0)
[learn-ocaml: cp demo-repository]
+ /usr/bin/cp "-r" "demo-repository" "/home/opam/.opam/default/share/learn-ocaml/repository" (CWD=/home/opam/.opam/default/.opam-switch/build/learn-ocaml.1.0.0)
-> installed learn-ocaml.1.0.0
[WARNING] Opam package conf-libssl.4 depends on the following system package that can no longer be found: libssl-dev
=== STDERR ===
2026-10-17 07:45.47: OK: build learn-ocaml.1.0.0 (runc: 118.7s, disk: 35KB)
2026-10-17 07:45.47: Job succeeded