bs-platform: workaround -fno-common build failure on aarch64

Without the change -fno-common toolchain like llvm-11 fails as:

    ld: libcamlrun.a(minor_gc.o):/build/ocaml/byterun/caml/major_gc.h:67: multiple definition of
      `caml_major_ring'; libcamlrun.a(stacks.o):/build/ocaml/byterun/caml/major_gc.h:67: first defined here
main
Sergei Trofimovich 2 years ago
parent f9f61cdd89
commit ce6f0bee59
  1. 7
      pkgs/development/compilers/bs-platform/ocaml.nix

@ -5,6 +5,13 @@ stdenv.mkDerivation rec {
configurePhase = ''
./configure -prefix $out
'';
# Workaround ocaml-4.06 limitation of duplicate definitions.
# ld: libcamlrun.a(minor_gc.o):/build/ocaml/byterun/caml/major_gc.h:67: multiple definition of
# `caml_major_ring'; libcamlrun.a(stacks.o):/build/ocaml/byterun/caml/major_gc.h:67: first defined here
# Match -fcommon workaround in ocaml-4.06 itself.
NIX_CFLAGS_COMPILE = "-fcommon";
buildPhase = ''
make -j9 world.opt
'';

Loading…
Cancel
Save