core.linux_ext isn't usable on s390x
kit-ty-kate opened this issue · 2 comments
kit-ty-kate commented
#=== ERROR while compiling patdiff.v0.14.0 ====================================#
# context 2.1.0 | linux/s390x | ocaml-base-compiler.4.12.0 | file:///home/opam/opam-repository
# path ~/.opam/4.12/.opam-switch/build/patdiff.v0.14.0
# command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p patdiff -j 3
# exit-code 1
# env-file ~/.opam/log/patdiff-20-8f02e7.env
# output-file ~/.opam/log/patdiff-20-8f02e7.out
### output ###
# ocamlopt bin/main.exe (exit 2)
# (cd _build/default && /home/opam/.opam/4.12/bin/ocamlopt.opt -w -40 -g -o bin/main.exe /home/opam/.opam/4.12/lib/base/base_internalhash_types/base_internalhash_types.cmxa -I /home/opam/.opam/4.12/lib/base/base_internalhash_types /home/opam/.opam/4.12/lib/base/caml/caml.cmxa /home/opam/.opam/4.12/lib/sexplib0/sexplib0.cmxa /home/opam/.opam/4.12/lib/base/shadow_stdlib/shadow_stdlib.cmxa /home/opam/.opam/4.12/lib/base/base.cmxa -I /home/opam/.opam/4.12/lib/base /home/opam/.opam/4.12/lib/ppx_sexp_conv/runtime-lib/ppx_sexp_conv_lib.cmxa /home/opam/.opam/4.12/lib/ppx_here/runtime-lib/ppx_here_lib.cmxa /home/opam/.opam/4.12/lib/ppx_inline_test/config/inline_test_config.cmxa /home/opam/.opam/4.12/lib/jane-street-headers/jane_street_headers.cmxa /home/opam/.opam/4.12/lib/ppx_compare/runtime-lib/ppx_compare_lib.cmxa /home/opam/.opam/4.12/lib/ppx_enumerate/runtime-lib/ppx_enumerate_lib.cmxa /home/opam/.opam/4.12/lib/ppx_hash/runtime-lib/ppx_hash_lib.cmxa /home/opam/.opam/4.12/lib/time_now/time_now.cmxa -I /home/opam/.opam/4.12/lib/time_now /home/opam/.opam/4.12/lib/ppx_inline_test/runtime-lib/ppx_inline_test_lib.cmxa /home/opam/.opam/4.12/lib/ppx_bench/runtime-lib/ppx_bench_lib.cmxa /home/opam/.opam/4.12/lib/ppx_assert/runtime-lib/ppx_assert_lib.cmxa /home/opam/.opam/4.12/lib/splittable_random/splittable_random.cmxa /home/opam/.opam/4.12/lib/fieldslib/fieldslib.cmxa /home/opam/.opam/4.12/lib/base_quickcheck/base_quickcheck.cmxa /home/opam/.opam/4.12/lib/base/md5/md5_lib.cmxa /home/opam/.opam/4.12/lib/ocaml/unix.cmxa -I /home/opam/.opam/4.12/lib/ocaml /home/opam/.opam/4.12/lib/ocaml/bigarray.cmxa -I /home/opam/.opam/4.12/lib/ocaml /home/opam/.opam/4.12/lib/variantslib/variantslib.cmxa /home/opam/.opam/4.12/lib/bin_prot/shape/bin_shape_lib.cmxa /home/opam/.opam/4.12/lib/bin_prot/bin_prot.cmxa -I /home/opam/.opam/4.12/lib/bin_prot /home/opam/.opam/4.12/lib/stdio/stdio.cmxa /home/opam/.opam/4.12/lib/ppx_module_timer/runtime/ppx_module_timer_runtime.cmxa /home/opam/.opam/4.12/lib/typerep/typerep_lib.cmxa /home/opam/.opam/4.12/lib/ppx_expect/common/expect_test_common.cmxa /home/opam/.opam/4.12/lib/ppx_expect/config_types/expect_test_config_types.cmxa /home/opam/.opam/4.12/lib/ppx_expect/collector/expect_test_collector.cmxa -I /home/opam/.opam/4.12/lib/ppx_expect/collector /home/opam/.opam/4.12/lib/ppx_expect/config/expect_test_config.cmxa /home/opam/.opam/4.12/lib/base_bigstring/base_bigstring.cmxa -I /home/opam/.opam/4.12/lib/base_bigstring /home/opam/.opam/4.12/lib/core_kernel/base_for_tests/base_for_tests.cmxa /home/opam/.opam/4.12/lib/parsexp/parsexp.cmxa /home/opam/.opam/4.12/lib/sexplib/sexplib.cmxa /home/opam/.opam/4.12/lib/core_kernel/core_kernel.cmxa -I /home/opam/.opam/4.12/lib/core_kernel /home/opam/.opam/4.12/lib/ocaml/threads/threads.cmxa -I /home/opam/.opam/4.12/lib/ocaml /home/opam/.opam/4.12/lib/core/error_checking_mutex/error_checking_mutex.cmxa -I /home/opam/.opam/4.12/lib/core/error_checking_mutex /home/opam/.opam/4.12/lib/core_kernel/caml_unix/caml_unix.cmxa /home/opam/.opam/4.12/lib/core_kernel/flags/flags.cmxa /home/opam/.opam/4.12/lib/core_kernel/version_util/version_util.cmxa -I /home/opam/.opam/4.12/lib/core_kernel/version_util /home/opam/.opam/4.12/lib/sexplib/unix/sexplib_unix.cmxa /home/opam/.opam/4.12/lib/spawn/spawn.cmxa -I /home/opam/.opam/4.12/lib/spawn /home/opam/.opam/4.12/lib/timezone/timezone.cmxa /home/opam/.opam/4.12/lib/core/core.cmxa -I /home/opam/.opam/4.12/lib/core /home/opam/.opam/4.12/lib/core_kernel/composition_infix/composition_infix.cmxa /home/opam/.opam/4.12/lib/core_kernel/bounded_int_table/bounded_int_table.cmxa /home/opam/.opam/4.12/lib/core/linux_ext/linux_ext.cmxa -I /home/opam/.opam/4.12/lib/core/linux_ext /home/opam/.opam/4.12/lib/patience_diff/patience_diff_lib.cmxa /home/opam/.opam/4.12/lib/re/re.cmxa kernel/src/patdiff_kernel.cmxa lib/src/patdiff.cmxa /home/opam/.opam/4.12/lib/pcre/pcre.cmxa -I /home/opam/.opam/4.12/lib/pcre bin/.main.eobjs/native/make_config.cmx bin/.main.eobjs/native/text.cmx bin/.main.eobjs/native/readme.cmx bin/.main.eobjs/native/compare.cmx bin/.main.eobjs/native/main.cmx)
# /usr/bin/ld: /home/opam/.opam/4.12/lib/core/linux_ext/linux_ext.a(linux_ext.o): in function `camlLinux_ext__create_inner_106533':
# /home/opam/.opam/4.12/.opam-switch/build/core.v0.14.1/_build/default/linux_ext/src/linux_ext.ml:388: undefined reference to `core_linux_timerfd_create'
# /usr/bin/ld: /home/opam/.opam/4.12/lib/core/linux_ext/linux_ext.a(linux_ext.o): in function `camlLinux_ext__timerfd_settime_99385':
# /home/opam/.opam/4.12/.opam-switch/build/core.v0.14.1/_build/default/linux_ext/src/linux_ext.ml:422: undefined reference to `core_linux_timerfd_settime'
# /usr/bin/ld: /home/opam/.opam/4.12/lib/core/linux_ext/linux_ext.a(linux_ext.o): in function `camlLinux_ext__get_99851':
# /home/opam/.opam/4.12/.opam-switch/build/core.v0.14.1/_build/default/linux_ext/src/linux_ext.ml:470: undefined reference to `core_linux_timerfd_gettime'
# /usr/bin/ld: /home/opam/.opam/4.12/lib/core/linux_ext/linux_ext.a(linux_ext.o): in function `camlLinux_ext__unsafe_timerfd_settime_99855':
# /home/opam/.opam/4.12/.opam-switch/build/core.v0.14.1/_build/default/linux_ext/src/linux_ext.ml:481: undefined reference to `core_linux_timerfd_settime'
# /usr/bin/ld: /home/opam/.opam/4.12/lib/core/linux_ext/linux_ext.a(linux_ext.o): in function `camlLinux_ext__entry':
# /home/opam/.opam/4.12/.opam-switch/build/core.v0.14.1/_build/default/linux_ext/src/linux_ext.ml:349: undefined reference to `core_linux_timerfd_CLOCK_REALTIME'
# /usr/bin/ld: /home/opam/.opam/4.12/.opam-switch/build/core.v0.14.1/_build/default/linux_ext/src/linux_ext.ml:352: undefined reference to `core_linux_timerfd_CLOCK_MONOTONIC'
# /usr/bin/ld: /home/opam/.opam/4.12/.opam-switch/build/core.v0.14.1/_build/default/linux_ext/src/linux_ext.ml:357: undefined reference to `core_linux_timerfd_TFD_NONBLOCK'
# /usr/bin/ld: /home/opam/.opam/4.12/.opam-switch/build/core.v0.14.1/_build/default/linux_ext/src/linux_ext.ml:360: undefined reference to `core_linux_timerfd_TFD_CLOEXEC'
# /usr/bin/ld: /home/opam/.opam/4.12/lib/core/linux_ext/linux_ext.a(linux_ext.o): in function `camlLinux_ext__1':
# :(.data+0x26c0): undefined reference to `core_linux_timerfd_gettime'
# /usr/bin/ld: :(.data+0x26c8): undefined reference to `core_linux_timerfd_settime'
# /usr/bin/ld: :(.data+0x26d0): undefined reference to `core_linux_timerfd_create'
# /usr/bin/ld: :(.data+0x26d8): undefined reference to `core_linux_timerfd_TFD_CLOEXEC'
# /usr/bin/ld: :(.data+0x26e0): undefined reference to `core_linux_timerfd_TFD_NONBLOCK'
# /usr/bin/ld: :(.data+0x26e8): undefined reference to `core_linux_timerfd_CLOCK_MONOTONIC'
# /usr/bin/ld: :(.data+0x26f0): undefined reference to `core_linux_timerfd_CLOCK_REALTIME'
# collect2: error: ld returned 1 exit status
# File "caml_startup", line 1:
# Error: Error during linking (exit code 1)
kit-ty-kate commented
So the issue is that ocamlc -config
returns:
system: elf
And thus JSC_LINUX_EXT
is marked as undef
and disables the whole linux_ext/src/linux_ext_stubs.c
file.
kit-ty-kate commented
Closing given the issue was in jst-config