lacaml
lacaml copied to clipboard
Install fails on FreeBSD 11.3
Hello,
I tried via opam using the public repositories. It can't find gcc & lapack:
opam install lacaml The following actions will be performed:
- install conf-lapack 1 [required by lacaml]
- install lacaml 11.0.6 ===== 2 to install ===== Do you want to continue? [Y/n] y
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><> [lacaml.11.0.6] downloaded from cache at https://opam.ocaml.org/cache
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> [ERROR] The compilation of conf-lapack failed at "/bin/sh -exc ${CC:-gcc} $CFLAGS test.c ${LACAML_LIBS:--llapack} $LDFLAGS".
#=== ERROR while compiling conf-lapack.1 ======================================#
context 2.0.6 | freebsd/x86_64 | ocaml-base-compiler.4.10.0 | https://opam.ocaml.org#1d8fdb21
path /usr/home/rmason/.opam/4.10.0/.opam-switch/build/conf-lapack.1
command /bin/sh -exc ${CC:-gcc} $CFLAGS test.c ${LACAML_LIBS:--llapack} $LDFLAGS
exit-code 1
env-file /usr/home/rmason/.opam/log/conf-lapack-70142-d0f245.env
output-file /usr/home/rmason/.opam/log/conf-lapack-70142-d0f245.out
output
[...]
/usr/local/bin/ld: /usr/local/lib/liblapack.so: undefined reference to `chbmv_'
/usr/local/bin/ld: /usr/local/lib/liblapack.so: undefined reference to `dsyr2_'
/usr/local/bin/ld: /usr/local/lib/liblapack.so: undefined reference to `zcopy_'
/usr/local/bin/ld: /usr/local/lib/liblapack.so: undefined reference to `dspr_'
/usr/local/bin/ld: /usr/local/lib/liblapack.so: undefined reference to `icamax_'
/usr/local/bin/ld: /usr/local/lib/liblapack.so: undefined reference to `dsymv_'
/usr/local/bin/ld: /usr/local/lib/liblapack.so: undefined reference to `zhemv_'
/usr/local/bin/ld: /usr/local/lib/liblapack.so: undefined reference to `ssyrk_'
/usr/local/bin/ld: /usr/local/lib/liblapack.so: undefined reference to `srotm_'
/usr/local/bin/ld: /usr/local/lib/liblapack.so: undefined reference to `drot_'
/usr/local/bin/ld: /usr/local/lib/liblapack.so: undefined reference to `ztbmv_'
collect2: error: ld returned 1 exit status
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> +- The following actions failed | - build conf-lapack 1 +-
- No changes have been performed
The packages you requested declare the following system dependencies. Please make sure they are installed before retrying: gcc lapack
I built the git version in the lacaml directory but utop can't find it. I tried 'opam install .' (https://opam.ocaml.org/doc/Packaging.html) but it can't find gcc & lapack. Dunno why it needs to given that the package is already built.
I'm an OCaml novice, so there may be something I'm missing. Meanwhile, back to some other language for LA.
I don't know about your particular system configuration, but it seems that your LAPACK library is not properly linking with the BLAS library, on which it depends. This is certainly not a problem with Lacaml, because the conf-lapack package, which tests for a properly working LAPACK library, already doesn't build.
Please verify the correct installation of BLAS and LAPACK on your system and try building a small test application to see whether they are linking properly. If they do, it should typically be possible to build Lacaml.