-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build fails on ARM64 #110
Comments
Now I have:
|
@hhugo Any chance to get this fixed? |
FWIW, the build is stopped because of this line which asserts that if the platform is 64-bit, it must be x86: https://github.com/janestreet/core/blob/master/src/config/discover.ml#L207 If you comment out this check, it gets pretty far and then breaks as follows. I don't know enough ocaml or about the library to hazard a guess. Though I have applications I'd love to compile on the ARM64 that need it.
|
It seems that this variable is no longer used in our source tree, I'm removing it |
Here's my case.
|
While using core.v0.11.1 with the 4.06.1 release of ocaml, installed via opam on a Gentoo Linux install with glibc 2.26, linking of ocaml binaries fails with: [...]/.opam/4.06.1/lib/core/libcore_stubs.a(unix_stubs.o): In function `unix_mknod_stub': [...]/.opam/4.06.1/build/core.v0.11.1/_build/default/src/unix_stubs.c:281: undefined reference to `makedev' collect2: error: ld returned 1 exit status File "caml_startup", line 1: Error: Error during linking Command exited with code 2. Glibc had traditionally supported the BSD way of including makedev via <sys/types.h>, but 2.25 has deprecated this behavior. The macro is now imported via <sys/sysmacros.h>. I have tested compilation of this patch both on Linux and MacOS 10.13, but on top of the v0.11 branch; master is broken for me due to #110. I have replaced the libcore_stubs.a in my opam installation with the fixed one, and the 'undefined reference' error disappeared. Signed-off-by: Marco Leogrande <dark.knight.ita@gmail.com>
And here's mine root@cub:~# opam install core
[WARNING] Running as root is not recommended
The following actions will be performed:
∗ install core v0.11.3
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[core.v0.11.3] found in cache
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[ERROR] The compilation of core failed at "/root/.opam/default/bin/jbuilder build -p core -j 5".
#=== ERROR while compiling core.v0.11.3 =======================================#
# context 2.0.0 | linux/arm64 | ocaml-base-compiler.4.07.1 | https://opam.ocaml.org#b2024a11
# path ~/.opam/default/.opam-switch/build/core.v0.11.3
# command ~/.opam/default/bin/jbuilder build -p core -j 5
# exit-code 1
# env-file ~/.opam/log/core-25713-05296d.env
# output-file ~/.opam/log/core-25713-05296d.out
### output ###
# [...]
# -> stdout:
# -> stderr:
# run: /tmp/ocaml-configurator711ca3/c-test-28/test.exe
# -> process exited with code 0
# -> stdout:
# | ARCH_BIG_ENDIAN=b:false
# | ARCH_SIXTYFOUR=b:true
# -> stderr:
# Fatal error: exception (runtime-lib/runtime.ml.E "comparison failed"
# ((switch true) vs (switch false) (Loc src/config/discover.ml:205:15)))
# Raised at file "src/configurator.ml", line 511, characters 13-22
# Called from file "src/config/discover.ml", line 136, characters 2-1023
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
┌─ The following actions failed
│ λ build core v0.11.3
└─
╶─ No changes have been performed
|
Closing since this is fixed from v0.12.0 on. |
Currently
core.v0.11.0
(and previous versions) fail to build on ARM64. Here is the build log:Complete build log here: https://arm64.ci.ocamllabs.io/log/saved/docker-run-290f1d15e8c68cb17b235fea3615552c/9b25b672beab25dfc640707bea6a8541fa815f65
The text was updated successfully, but these errors were encountered: