Skip to content

Macintosh developer install instructions fail #22

@ronquist

Description

@ronquist

I am following the instructions at https://treeppl.org/docs/for-developers/install_apple_silicon

I needed to uninstall OpenBLAS and manually reinstall it. The uninstall seemed to work.

When manually reinstalling OpenBLAS according to the instructions, I get the following errors

ld: -lto_library library filename must be 'libLTO.dylib'
collect2: error: ld returned 1 exit status
make[1]: *** [sblat1] Error 1
make[1]: *** Waiting for unfinished jobs....
ld: -lto_library library filename must be 'libLTO.dylib'
collect2: error: ld returned 1 exit status
make[1]: *** [dblat1] Error 1
make: *** [tests] Error 2

It still reports Install OK! after that, so trying to continue...

opam init -y --bare

gives a warning about setting up the shell, so you probably should use

opam init -y --bare --shell-setup

Running the next command

opam update

asks you to run opam upgrade, which is not included in the instructions. It probably should be included there, or a comment should be added about this.

Next, running

opam install -y --no-depexts dune ocamlfind linenoise owl menhir

gives the following error report

[ERROR] The compilation of owl.1.2 failed at "dune build -p owl -j 7".

#=== ERROR while compiling owl.1.2 ============================================#
# context     2.4.1 | macos/arm64 | ocaml-base-compiler.5.3.0 | https://opam.ocaml.org#551314ad1550478ec6be39bb0eaadd2569190464
# path        ~/.opam/treeppl-ocaml/.opam-switch/build/owl.1.2
# command     ~/.opam/opam-init/hooks/sandbox.sh build dune build -p owl -j 7
# exit-code   1
# env-file    ~/.opam/log/owl-95532-077aa6.env
# output-file ~/.opam/log/owl-95532-077aa6.out
### output ###
# Undefined symbols for architecture arm64:
# [...]
#       std::__1::__throw_length_error[abi:ne200100](char const*) in libowl_stubs.a[85](owl_fftpack_float64.o)
#       std::__throw_bad_array_new_length[abi:ne200100]() in libowl_stubs.a[85](owl_fftpack_float64.o)
#       pocketfft::detail::util::sanity_check(std::__1::vector<unsigned long, std::__1::allocator<unsigned long>> const&, std::__1::vector<long, std::__1::allocator<long>> const&, std::__1::vector<long, std::__1::allocator<long>> const&, bool, std::__1::vector<unsigned long, std::__1::allocator<unsigned long>> const&) in libowl_stubs.a[85](owl_fftpack_float64.o)
#       pocketfft::detail::util::sanity_check(std::__1::vector<unsigned long, std::__1::allocator<unsigned long>> const&, std::__1::vector<long, std::__1::allocator<long>> const&, std::__1::vector<long, std::__1::allocator<long>> const&, bool) in libowl_stubs.a[85](owl_fftpack_float64.o)
#       ...
#   "___gxx_personality_v0", referenced from:
#       /Users/ronquist/.opam/treeppl-ocaml/.opam-switch/build/owl.1.2/_build/default/src/owl/libowl_stubs.a[86](owl_fftpack_float32.o)
# ld: symbol(s) not found for architecture arm64
# clang: error: linker command failed with exit code 1 (use -v to see invocation)
# File "caml_startup", line 1:
# Error: Error during linking (exit code 1)

Recompiling miking failed with the following message:

ocamlfind: Package `pyml' not found - required by `boot'
make: *** [bootstrap] Error 1

Not so surprisingly, perhaps, recompiling miking-dppl then fails with

time mi compile coreppl/src/cppl.mc --output /var/folders/l_/qvqb8ll148sdfwwnq26g2hqh0000gp/T/tmp.xuEGoIcUC1
ERROR </Users/ronquist/dev/miking-dppl/coreppl/src/infer-method.mc 3:0-3:33>: No such file: "optparse-applicative.mc"

        1,21 real         0,35 user         0,20 sys
make: *** [build/cppl] Error 1

And recompiling treeppl then fails with

mi syn src/treeppl.syn src/treeppl-ast.mc
Writing the generated code to file 'src/treeppl-ast.mc'
Done
mkdir -p build
time mi compile src/tpplc.mc --output build/tpplc
ERROR </Users/ronquist/dev/treeppl/src/treeppl-to-coreppl/compile.mc 20:0-20:28>: No such file: "mexpr/uncurried.mc"

        0,62 real         0,34 user         0,18 sys
make: *** [build/tpplc] Error 1
```

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions