8000 Bytecode-only build does not work: build system tries to use missing `ocamlopt` and freezes · Issue #39 · ocaml/num · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Bytecode-only build does not work: build system tries to use missing ocamlopt and freezes #39
Open
@barracuda156

Description

@barracuda156

This is the same issue which was present in 1.4, and despite a PR #30 intending to fix it, it is still broken in 1.5, unfortunately.

This is what happens on ppc (where only bytecode is available):

--->  Configuring ocaml-num
--->  Building ocaml-num
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_ocaml_ocaml-num/ocaml-num/work/num-1.5" && /usr/bin/make -j6 -w all 
make: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_ocaml_ocaml-num/ocaml-num/work/num-1.5'
/usr/bin/make -C src all
make[1]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_ocaml_ocaml-num/ocaml-num/work/num-1.5/src'
ocamlc -ccopt -DBNG_ARCH_power -c bng.c
ocamlc -ccopt -DBNG_ARCH_power -c nat_stubs.c
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c int_misc.mli
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c nat.mli
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c arith_flags.mli
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c arith_status.mli
cp ../toplevel/num_top_printers.mli ../toplevel/num_top.mli ../toplevel/num_top_printers.ml ../toplevel/num_top.ml .
cp ../toplevel/num_top_printers.mli ../toplevel/num_top.mli ../toplevel/num_top_printers.ml ../toplevel/num_top.ml .
cp ../toplevel/num_top_printers.mli ../toplevel/num_top.mli ../toplevel/num_top_printers.ml ../toplevel/num_top.ml .
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c num_top.mli
echo 'version = "1.6~dev"' > META.top
cat META.num-top.in >> META.top
ocamlopt -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c int_misc.ml
make[1]: posix_spawn: ocamlopt: No such file or directory
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c int_misc.ml
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c nat.ml
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c big_int.mli
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c arith_flags.ml
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c ratio.mli
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c arith_status.ml
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c num_top.ml
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c big_int.ml
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c ratio.ml
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c num.mli
ocamlmklib -oc nums bng.o nat_stubs.o
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c num.ml
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c num_top_printers.mli
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c num_top_printers.ml
ocamlc -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -a -o num_top.cma num_top_printers.cmo num_top.cmo
ocamlmklib -o nums -oc nums -linkall int_misc.cmo nat.cmo big_int.cmo arith_flags.cmo ratio.cmo num.cmo arith_status.cmo

Notice what the build system tries:

ocamlopt -w +a-4-9-41-42-44-45-48  -bin-annot -g -safe-string -strict-sequence -strict-formats -I +compiler-libs -c int_misc.ml
make[1]: posix_spawn: ocamlopt: No such file or directory

In result the build just freezes and I have to interrupt the process. Libraries are in fact successfully built, but forcing ocamlopt call prevents it from completion.

@dra27 Could you please take a look? It should be pretty trivial to fix in the master: we just need it to check if ocamlopt is de facto available, or at least offer a configure option to switch off native code generation, if reliable detection during the build is problematic for some reason.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0