Skip to content
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

cmxs files not installed #3889

Closed
nilsbecker opened this issue Oct 23, 2020 · 8 comments
Closed

cmxs files not installed #3889

nilsbecker opened this issue Oct 23, 2020 · 8 comments
Assignees

Comments

@nilsbecker
Copy link

Expected Behavior

the standard build of the library owlbarn/eigen should include eigen.cmxs

Actual Behavior

only eigen.cmxa is present

Reproduction

opam install eigen, then check the build directory

Specifications

dune 2.7.1
ocaml 4.10
macos catalina

Additional information

see owlbarn/eigen#27
for more information.

@nojb
Copy link
Collaborator

nojb commented Oct 24, 2020

Sorry, but I cannot reproduce the issue. The .cmxs is built fine in my machine. Do you have a build log that you may be able to share? (Look in _build/log after doing dune build).

@nojb nojb self-assigned this Oct 24, 2020
@nilsbecker
Copy link
Author

hi, i might have given incomplete info. i did not build eigen myself, i installed it via opam -- the list of installed files is the one i gave in owlbarn/eigen#27 . there, the cmxs seems to be missing.

the dune-package file in $OPAMROOT/<switch>/lib/eigen/dune-package is this:

(lang dune 2.7)
(name eigen)
(version 0.3.0)
(library
 (name eigen)
 (kind normal)
 (archives (byte eigen.cma) (native eigen.cmxa))
 (plugins (byte eigen.cma) (native eigen.cmxs))
 (foreign_objects eigen_utils_stubs.o ffi_eigen_generated_stub.o)
 (foreign_archives libeigen_stubs.a)
 (native_archives eigen.a)
 (requires ctypes eigen.cpp)
 (main_module_name Eigen)
 (modes byte native)
 (modules
  (wrapped
   (main_module_name Eigen)
   (modules
    ((name Eigen) (obj_name eigen) (visibility public) (impl))
    ((name Eigen_dsmat_c)
     (obj_name eigen__Eigen_dsmat_c)
     (visibility public)
     (impl))
    ((name Eigen_dsmat_d)
     (obj_name eigen__Eigen_dsmat_d)
     (visibility public)
     (impl))
    ((name Eigen_dsmat_s)
     (obj_name eigen__Eigen_dsmat_s)
     (visibility public)
     (impl))
    ((name Eigen_dsmat_z)
     (obj_name eigen__Eigen_dsmat_z)
     (visibility public)
     (impl))
    ((name Eigen_spmat_c)
     (obj_name eigen__Eigen_spmat_c)
     (visibility public)
     (impl))
    ((name Eigen_spmat_d)
     (obj_name eigen__Eigen_spmat_d)
     (visibility public)
     (impl))
    ((name Eigen_spmat_s)
     (obj_name eigen__Eigen_spmat_s)
     (visibility public)
     (impl))
    ((name Eigen_spmat_z)
     (obj_name eigen__Eigen_spmat_z)
     (visibility public)
     (impl))
    ((name Eigen_tensor_d)
     (obj_name eigen__Eigen_tensor_d)
     (visibility public)
     (impl))
    ((name Eigen_tensor_s)
     (obj_name eigen__Eigen_tensor_s)
     (visibility public)
     (impl))
    ((name Eigen_types)
     (obj_name eigen__Eigen_types)
     (visibility public)
     (impl))
    ((name Eigen_utils)
     (obj_name eigen__Eigen_utils)
     (visibility public)
     (impl))
    ((name Ffi_eigen_bindings)
     (obj_name eigen__Ffi_eigen_bindings)
     (visibility public)
     (impl))
    ((name Ffi_eigen_generated)
     (obj_name eigen__Ffi_eigen_generated)
     (visibility public)
     (impl)))
   (alias_module
    (name Eigen__)
    (obj_name eigen__)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))
(library
 (name eigen.cpp)
 (kind normal)
 (archives (byte cpp/eigen_cpp_stubs.cma) (native cpp/eigen_cpp_stubs.cmxa))
 (plugins (byte cpp/eigen_cpp_stubs.cma) (native cpp/eigen_cpp_stubs.cmxs))
 (foreign_objects cpp/eigen_dsmat.o cpp/eigen_spmat.o cpp/eigen_tensor.o)
 (foreign_archives cpp/libeigen_cpp_stubs_stubs.a)
 (native_archives cpp/eigen_cpp_stubs.a)
 (requires ctypes)
 (main_module_name Eigen_cpp_stubs)
 (modes byte native)
 (modules
  (wrapped
   (main_module_name Eigen_cpp_stubs)
   (modules
    ((name Eigen_cpp)
     (obj_name eigen_cpp_stubs__Eigen_cpp)
     (visibility public)
     (impl)))
   (alias_module
    (name Eigen_cpp_stubs)
    (obj_name eigen_cpp_stubs)
    (visibility public)
    (kind alias)
    (impl))
   (wrapped true))))

in fact, in $OPAMROOT/<switch>/.opam-switch/build/eigen/_build/install/default/eigen/ i have these files:

META
cpp
dune-package
eigen.a
eigen.cma
eigen.cmi
eigen.cmt
eigen.cmx
eigen.cmxa
eigen.cmxs
eigen.ml
eigen__.cmi
eigen__.cmt
eigen__.cmx
eigen__.ml
eigen__Eigen_dsmat_c.cmi
eigen__Eigen_dsmat_c.cmt
eigen__Eigen_dsmat_c.cmx
eigen__Eigen_dsmat_d.cmi
eigen__Eigen_dsmat_d.cmt
eigen__Eigen_dsmat_d.cmx
eigen__Eigen_dsmat_s.cmi
eigen__Eigen_dsmat_s.cmt
eigen__Eigen_dsmat_s.cmx
eigen__Eigen_dsmat_z.cmi
eigen__Eigen_dsmat_z.cmt
eigen__Eigen_dsmat_z.cmx
eigen__Eigen_spmat_c.cmi
eigen__Eigen_spmat_c.cmt
eigen__Eigen_spmat_c.cmx
eigen__Eigen_spmat_d.cmi
eigen__Eigen_spmat_d.cmt
eigen__Eigen_spmat_d.cmx
eigen__Eigen_spmat_s.cmi
eigen__Eigen_spmat_s.cmt
eigen__Eigen_spmat_s.cmx
eigen__Eigen_spmat_z.cmi
eigen__Eigen_spmat_z.cmt
eigen__Eigen_spmat_z.cmx
eigen__Eigen_tensor_d.cmi
eigen__Eigen_tensor_d.cmt
eigen__Eigen_tensor_d.cmx
eigen__Eigen_tensor_s.cmi
eigen__Eigen_tensor_s.cmt
eigen__Eigen_tensor_s.cmx
eigen__Eigen_types.cmi
eigen__Eigen_types.cmt
eigen__Eigen_types.cmx
eigen__Eigen_utils.cmi
eigen__Eigen_utils.cmt
eigen__Eigen_utils.cmx
eigen__Ffi_eigen_bindings.cmi
eigen__Ffi_eigen_bindings.cmt
eigen__Ffi_eigen_bindings.cmx
eigen__Ffi_eigen_generated.cmi
eigen__Ffi_eigen_generated.cmt
eigen__Ffi_eigen_generated.cmx
eigen_dsmat_c.ml
eigen_dsmat_d.ml
eigen_dsmat_s.ml
eigen_dsmat_z.ml
eigen_spmat_c.ml
eigen_spmat_d.ml
eigen_spmat_s.ml
eigen_spmat_z.ml
eigen_tensor_d.ml
eigen_tensor_s.ml
eigen_types.ml
eigen_utils.ml
ffi_eigen_bindings.ml
ffi_eigen_generated.ml
libeigen_stubs.a
opam

which does include eigen.cmxs ?!

in $OPAMROOT/<switch>/.opam-switch/build/eigen/_build/log i have this:

# dune build -p eigen -j 4
# OCAMLPARAM: "_,O3=1"
# Workspace root: /Users/nbecker/.opam/410nattop/.opam-switch/build/eigen.0.3.0
# disable binary cache
$ /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -config > /var/folders/gw/t2yd9m491cj_hx4zf6_4drk000011n/T/dune1e3796.output
# Dune context:
#  { name = "default"
#  ; kind = "default"
#  ; profile = Release
#  ; merlin = true
#  ; for_host = None
#  ; fdo_target_exe = None
#  ; build_dir = "default"
#  ; toplevel_path =
#      Some External "/Users/nbecker/.opam/410nattop/lib/toplevel"
#  ; ocaml_bin = External "/Users/nbecker/.opam/410nattop/bin"
#  ; ocaml = Ok External "/Users/nbecker/.opam/410nattop/bin/ocaml"
#  ; ocamlc = External "/Users/nbecker/.opam/410nattop/bin/ocamlc.opt"
#  ; ocamlopt = Ok External "/Users/nbecker/.opam/410nattop/bin/ocamlopt.opt"
#  ; ocamldep = Ok External "/Users/nbecker/.opam/410nattop/bin/ocamldep.opt"
#  ; ocamlmklib =
#      Ok External "/Users/nbecker/.opam/410nattop/bin/ocamlmklib.opt"
#  ; env =
#      map
#        { "INSIDE_DUNE" :
#            "/Users/nbecker/.opam/410nattop/.opam-switch/build/eigen.0.3.0/_build/default"
#        ; "MANPATH" :
#            "/Users/nbecker/.opam/410nattop/.opam-switch/build/eigen.0.3.0/_build/install/default/bin"
#        ; "OCAMLFIND_IGNORE_DUPS_IN" :
#            "/Users/nbecker/.opam/410nattop/.opam-switch/build/eigen.0.3.0/_build/install/default/lib"
#        ; "OCAMLPATH" :
#            "/Users/nbecker/.opam/410nattop/.opam-switch/build/eigen.0.3.0/_build/install/default/lib"
#        ; "OCAMLTOP_INCLUDE_PATH" :
#            "/Users/nbecker/.opam/410nattop/.opam-switch/build/eigen.0.3.0/_build/install/default/lib/toplevel"
#        }
#  ; findlib_path = [ External "/Users/nbecker/.opam/410nattop/lib" ]
#  ; arch_sixtyfour = true
#  ; natdynlink_supported = true
#  ; supports_shared_libraries = true
#  ; ocaml_config =
#      { version = "4.10.0"
#      ; standard_library_default = "/Users/nbecker/.opam/410nattop/lib/ocaml"
#      ; standard_library = "/Users/nbecker/.opam/410nattop/lib/ocaml"
#      ; standard_runtime = "the_standard_runtime_variable_was_deleted"
#      ; ccomp_type = "cc"
#      ; c_compiler = "cc"
#      ; ocamlc_cflags = [ "-O2"; "-fno-strict-aliasing"; "-fwrapv" ]
#      ; ocamlc_cppflags = [ "-D_FILE_OFFSET_BITS=64"; "-D_REENTRANT" ]
#      ; ocamlopt_cflags = [ "-O2"; "-fno-strict-aliasing"; "-fwrapv" ]
#      ; ocamlopt_cppflags = [ "-D_FILE_OFFSET_BITS=64"; "-D_REENTRANT" ]
#      ; bytecomp_c_compiler =
#          [ "cc"
#          ; "-O2"
#          ; "-fno-strict-aliasing"
#          ; "-fwrapv"
#          ; "-D_FILE_OFFSET_BITS=64"
#          ; "-D_REENTRANT"
#          ]
#      ; bytecomp_c_libraries = [ "-lm"; "-lpthread" ]
#      ; native_c_compiler =
#          [ "cc"
#          ; "-O2"
#          ; "-fno-strict-aliasing"
#          ; "-fwrapv"
#          ; "-D_FILE_OFFSET_BITS=64"
#          ; "-D_REENTRANT"
#          ]
#      ; native_c_libraries = [ "-lm" ]
#      ; cc_profile = []
#      ; architecture = "amd64"
#      ; model = "default"
#      ; int_size = 63
#      ; word_size = 64
#      ; system = "macosx"
#      ; asm = [ "clang"; "-arch"; "x86_64"; "-Wno-trigraphs"; "-c" ]
#      ; asm_cfi_supported = true
#      ; with_frame_pointers = false
#      ; ext_exe = ""
#      ; ext_obj = ".o"
#      ; ext_asm = ".s"
#      ; ext_lib = ".a"
#      ; ext_dll = ".so"
#      ; os_type = "Unix"
#      ; default_executable_name = "a.out"
#      ; systhread_supported = true
#      ; host = "x86_64-apple-darwin18.7.0"
#      ; target = "x86_64-apple-darwin18.7.0"
#      ; profiling = false
#      ; flambda = true
#      ; spacetime = false
#      ; safe_string = true
#      ; exec_magic_number = "Caml1999X027"
#      ; cmi_magic_number = "Caml1999I027"
#      ; cmo_magic_number = "Caml1999O027"
#      ; cma_magic_number = "Caml1999A027"
#      ; cmx_magic_number = "Caml1999y027"
#      ; cmxa_magic_number = "Caml1999z027"
#      ; ast_impl_magic_number = "Caml1999M027"
#      ; ast_intf_magic_number = "Caml1999N027"
#      ; cmxs_magic_number = "Caml1999D027"
#      ; cmt_magic_number = "Caml1999T027"
#      ; natdynlink_supported = true
#      ; supports_shared_libraries = true
#      ; windows_unicode = false
#      }
#  }
$ (cd eigen && /Users/nbecker/.opam/410nattop/bin/ocaml -I +compiler-libs /Users/nbecker/.opam/410nattop/.opam-switch/build/eigen.0.3.0/_build/.dune/default/eigen/dune.ml)
$ (cd eigen_cpp && /Users/nbecker/.opam/410nattop/bin/ocaml -I +compiler-libs /Users/nbecker/.opam/410nattop/.opam-switch/build/eigen.0.3.0/_build/.dune/default/eigen_cpp/dune.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -w -49 -nopervasives -nostdlib -g -bin-annot -I eigen_cpp/.eigen_cpp_stubs.objs/byte -no-alias-deps -o eigen_cpp/.eigen_cpp_stubs.objs/byte/eigen_cpp_stubs.cmo -c -impl eigen_cpp/eigen_cpp_stubs.ml-gen)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen_cpp/eigen_cpp.ml) > _build/default/eigen_cpp/.eigen_cpp_stubs.objs/eigen_cpp.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen.ml) > _build/default/eigen/.eigen.objs/eigen.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -w -49 -nopervasives -nostdlib -g -bin-annot -I eigen/.eigen.objs/byte -no-alias-deps -o eigen/.eigen.objs/byte/eigen__.cmo -c -impl eigen/eigen__.ml-gen)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_dsmat_c.ml) > _build/default/eigen/.eigen.objs/eigen_dsmat_c.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_dsmat_d.ml) > _build/default/eigen/.eigen.objs/eigen_dsmat_d.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_dsmat_s.ml) > _build/default/eigen/.eigen.objs/eigen_dsmat_s.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_dsmat_z.ml) > _build/default/eigen/.eigen.objs/eigen_dsmat_z.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_spmat_c.ml) > _build/default/eigen/.eigen.objs/eigen_spmat_c.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_spmat_d.ml) > _build/default/eigen/.eigen.objs/eigen_spmat_d.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_spmat_s.ml) > _build/default/eigen/.eigen.objs/eigen_spmat_s.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_spmat_z.ml) > _build/default/eigen/.eigen.objs/eigen_spmat_z.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_tensor_d.ml) > _build/default/eigen/.eigen.objs/eigen_tensor_d.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_tensor_s.ml) > _build/default/eigen/.eigen.objs/eigen_tensor_s.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_types.ml) > _build/default/eigen/.eigen.objs/eigen_types.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/eigen_utils.ml) > _build/default/eigen/.eigen.objs/eigen_utils.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/ffi_eigen_bindings.ml) > _build/default/eigen/.eigen.objs/ffi_eigen_bindings.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl bindings/ffi_eigen_bindings.ml) > _build/default/bindings/.ffi_eigen_stubgen.eobjs/ffi_eigen_bindings.ml.d
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl bindings/ffi_eigen_stubgen.ml) > _build/default/bindings/.ffi_eigen_stubgen.eobjs/ffi_eigen_stubgen.ml.d
$ (cd _build/default/eigen && /usr/bin/cc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -O2 -fno-strict-aliasing -fwrapv -O3 -Ofast -march=native -funroll-loops -ffast-math -I../eigen_cpp/lib -g -I /Users/nbecker/.opam/410nattop/lib/ocaml -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I ../eigen_cpp -o eigen_utils_stubs.o -c eigen_utils_stubs.c)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -w -49 -nopervasives -nostdlib -g -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml-gen -no-alias-deps -o eigen_cpp/.eigen_cpp_stubs.objs/native/eigen_cpp_stubs.cmx -c -impl eigen_cpp/eigen_cpp_stubs.ml-gen)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -no-alias-deps -open Eigen_cpp_stubs -o eigen_cpp/.eigen_cpp_stubs.objs/byte/eigen_cpp_stubs__Eigen_cpp.cmo -c -impl eigen_cpp/eigen_cpp.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -w -49 -nopervasives -nostdlib -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -intf-suffix .ml-gen -no-alias-deps -o eigen/.eigen.objs/native/eigen__.cmx -c -impl eigen/eigen__.ml-gen)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -w -49 -nopervasives -nostdlib -g -bin-annot -I bindings/.ffi_eigen_stubgen.eobjs/byte -no-alias-deps -o bindings/.ffi_eigen_stubgen.eobjs/byte/dune__exe.cmo -c -impl bindings/.ffi_eigen_stubgen.eobjs/dune__exe.ml-gen)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -intf-suffix .ml -no-alias-deps -open Eigen_cpp_stubs -o eigen_cpp/.eigen_cpp_stubs.objs/native/eigen_cpp_stubs__Eigen_cpp.cmx -c -impl eigen_cpp/eigen_cpp.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_utils.cmo -c -impl eigen/eigen_utils.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Ffi_eigen_bindings.cmo -c -impl eigen/ffi_eigen_bindings.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -a -o eigen_cpp/eigen_cpp_stubs.cma -dllib -leigen_cpp_stubs_stubs -cclib -leigen_cpp_stubs_stubs -cclib -lstdc++ eigen_cpp/.eigen_cpp_stubs.objs/byte/eigen_cpp_stubs.cmo eigen_cpp/.eigen_cpp_stubs.objs/byte/eigen_cpp_stubs__Eigen_cpp.cmo)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -w -49 -nopervasives -nostdlib -g -I bindings/.ffi_eigen_stubgen.eobjs/byte -I bindings/.ffi_eigen_stubgen.eobjs/native -intf-suffix .ml-gen -no-alias-deps -o bindings/.ffi_eigen_stubgen.eobjs/native/dune__exe.cmx -c -impl bindings/.ffi_eigen_stubgen.eobjs/dune__exe.ml-gen)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I bindings/.ffi_eigen_stubgen.eobjs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -no-alias-deps -open Dune__exe -o bindings/.ffi_eigen_stubgen.eobjs/byte/dune__exe__Ffi_eigen_bindings.cmo -c -impl bindings/ffi_eigen_bindings.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -a -o eigen_cpp/eigen_cpp_stubs.cmxa -cclib -leigen_cpp_stubs_stubs -cclib -lstdc++ eigen_cpp/.eigen_cpp_stubs.objs/native/eigen_cpp_stubs.cmx eigen_cpp/.eigen_cpp_stubs.objs/native/eigen_cpp_stubs__Eigen_cpp.cmx)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_utils.cmx -c -impl eigen/eigen_utils.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Ffi_eigen_bindings.cmx -c -impl eigen/ffi_eigen_bindings.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I bindings/.ffi_eigen_stubgen.eobjs/byte -I bindings/.ffi_eigen_stubgen.eobjs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -intf-suffix .ml -no-alias-deps -open Dune__exe -o bindings/.ffi_eigen_stubgen.eobjs/native/dune__exe__Ffi_eigen_bindings.cmx -c -impl bindings/ffi_eigen_bindings.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I bindings/.ffi_eigen_stubgen.eobjs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -no-alias-deps -open Dune__exe -o bindings/.ffi_eigen_stubgen.eobjs/byte/dune__exe__Ffi_eigen_stubgen.cmo -c -impl bindings/ffi_eigen_stubgen.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I bindings/.ffi_eigen_stubgen.eobjs/byte -I bindings/.ffi_eigen_stubgen.eobjs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -intf-suffix .ml -no-alias-deps -open Dune__exe -o bindings/.ffi_eigen_stubgen.eobjs/native/dune__exe__Ffi_eigen_stubgen.cmx -c -impl bindings/ffi_eigen_stubgen.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -o bindings/ffi_eigen_stubgen.exe /Users/nbecker/.opam/410nattop/lib/ocaml/unix.cmxa -I /Users/nbecker/.opam/410nattop/lib/ocaml /Users/nbecker/.opam/410nattop/lib/ocaml/bigarray.cmxa -I /Users/nbecker/.opam/410nattop/lib/ocaml /Users/nbecker/.opam/410nattop/lib/integers/integers.cmxa -I /Users/nbecker/.opam/410nattop/lib/integers /Users/nbecker/.opam/410nattop/lib/ctypes/ctypes.cmxa -I /Users/nbecker/.opam/410nattop/lib/ctypes /Users/nbecker/.opam/410nattop/lib/ocaml/str.cmxa -I /Users/nbecker/.opam/410nattop/lib/ocaml /Users/nbecker/.opam/410nattop/lib/ctypes/cstubs.cmxa -I /Users/nbecker/.opam/410nattop/lib/ctypes bindings/.ffi_eigen_stubgen.eobjs/native/dune__exe.cmx bindings/.ffi_eigen_stubgen.eobjs/native/dune__exe__Ffi_eigen_bindings.cmx bindings/.ffi_eigen_stubgen.eobjs/native/dune__exe__Ffi_eigen_stubgen.cmx)
$ (cd _build/default/eigen && ../bindings/ffi_eigen_stubgen.exe -ml) > _build/default/eigen/ffi_eigen_generated.ml
$ (cd _build/default/eigen && ../bindings/ffi_eigen_stubgen.exe -c) > _build/default/eigen/ffi_eigen_generated_stub.c
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamldep.opt -modules -impl eigen/ffi_eigen_generated.ml) > _build/default/eigen/.eigen.objs/ffi_eigen_generated.ml.d
$ (cd _build/default/eigen && /usr/bin/cc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT -O2 -fno-strict-aliasing -fwrapv -O3 -Ofast -march=native -funroll-loops -ffast-math -I../eigen_cpp/lib -g -I /Users/nbecker/.opam/410nattop/lib/ocaml -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I ../eigen_cpp -o ffi_eigen_generated_stub.o -c ffi_eigen_generated_stub.c)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Ffi_eigen_generated.cmo -c -impl eigen/ffi_eigen_generated.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlmklib.opt -g -o eigen/eigen_stubs eigen/eigen_utils_stubs.o eigen/ffi_eigen_generated_stub.o)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Ffi_eigen_generated.cmx -c -impl eigen/ffi_eigen_generated.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_types.cmo -c -impl eigen/eigen_types.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_types.cmx -c -impl eigen/eigen_types.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_dsmat_c.cmo -c -impl eigen/eigen_dsmat_c.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_dsmat_d.cmo -c -impl eigen/eigen_dsmat_d.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_dsmat_s.cmo -c -impl eigen/eigen_dsmat_s.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_dsmat_z.cmo -c -impl eigen/eigen_dsmat_z.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_spmat_c.cmo -c -impl eigen/eigen_spmat_c.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_spmat_d.cmo -c -impl eigen/eigen_spmat_d.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_spmat_s.cmo -c -impl eigen/eigen_spmat_s.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_spmat_z.cmo -c -impl eigen/eigen_spmat_z.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_tensor_d.cmo -c -impl eigen/eigen_tensor_d.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen__Eigen_tensor_s.cmo -c -impl eigen/eigen_tensor_s.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_dsmat_c.cmx -c -impl eigen/eigen_dsmat_c.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_dsmat_d.cmx -c -impl eigen/eigen_dsmat_d.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_dsmat_s.cmx -c -impl eigen/eigen_dsmat_s.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_dsmat_z.cmx -c -impl eigen/eigen_dsmat_z.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_spmat_c.cmx -c -impl eigen/eigen_spmat_c.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_spmat_d.cmx -c -impl eigen/eigen_spmat_d.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_spmat_s.cmx -c -impl eigen/eigen_spmat_s.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_spmat_z.cmx -c -impl eigen/eigen_spmat_z.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_tensor_d.cmx -c -impl eigen/eigen_tensor_d.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen__Eigen_tensor_s.cmx -c -impl eigen/eigen_tensor_s.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -bin-annot -I eigen/.eigen.objs/byte -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/byte/eigen.cmo -c -impl eigen/eigen.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -I eigen/.eigen.objs/byte -I eigen/.eigen.objs/native -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I eigen_cpp/.eigen_cpp_stubs.objs/byte -I eigen_cpp/.eigen_cpp_stubs.objs/native -intf-suffix .ml -no-alias-deps -open Eigen__ -o eigen/.eigen.objs/native/eigen.cmx -c -impl eigen/eigen.ml)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlc.opt -w -40 -g -a -o eigen/eigen.cma -dllib -leigen_stubs -cclib -leigen_stubs eigen/.eigen.objs/byte/eigen__.cmo eigen/.eigen.objs/byte/eigen__Ffi_eigen_generated.cmo eigen/.eigen.objs/byte/eigen__Ffi_eigen_bindings.cmo eigen/.eigen.objs/byte/eigen__Eigen_utils.cmo eigen/.eigen.objs/byte/eigen__Eigen_types.cmo eigen/.eigen.objs/byte/eigen__Eigen_tensor_s.cmo eigen/.eigen.objs/byte/eigen__Eigen_tensor_d.cmo eigen/.eigen.objs/byte/eigen__Eigen_spmat_z.cmo eigen/.eigen.objs/byte/eigen__Eigen_spmat_s.cmo eigen/.eigen.objs/byte/eigen__Eigen_spmat_d.cmo eigen/.eigen.objs/byte/eigen__Eigen_spmat_c.cmo eigen/.eigen.objs/byte/eigen__Eigen_dsmat_z.cmo eigen/.eigen.objs/byte/eigen__Eigen_dsmat_s.cmo eigen/.eigen.objs/byte/eigen__Eigen_dsmat_d.cmo eigen/.eigen.objs/byte/eigen__Eigen_dsmat_c.cmo eigen/.eigen.objs/byte/eigen.cmo)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -a -o eigen/eigen.cmxa -cclib -leigen_stubs eigen/.eigen.objs/native/eigen__.cmx eigen/.eigen.objs/native/eigen__Ffi_eigen_generated.cmx eigen/.eigen.objs/native/eigen__Ffi_eigen_bindings.cmx eigen/.eigen.objs/native/eigen__Eigen_utils.cmx eigen/.eigen.objs/native/eigen__Eigen_types.cmx eigen/.eigen.objs/native/eigen__Eigen_tensor_s.cmx eigen/.eigen.objs/native/eigen__Eigen_tensor_d.cmx eigen/.eigen.objs/native/eigen__Eigen_spmat_z.cmx eigen/.eigen.objs/native/eigen__Eigen_spmat_s.cmx eigen/.eigen.objs/native/eigen__Eigen_spmat_d.cmx eigen/.eigen.objs/native/eigen__Eigen_spmat_c.cmx eigen/.eigen.objs/native/eigen__Eigen_dsmat_z.cmx eigen/.eigen.objs/native/eigen__Eigen_dsmat_s.cmx eigen/.eigen.objs/native/eigen__Eigen_dsmat_d.cmx eigen/.eigen.objs/native/eigen__Eigen_dsmat_c.cmx eigen/.eigen.objs/native/eigen.cmx)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -shared -linkall -I eigen -o eigen/eigen.cmxs eigen/eigen.cmxa)
$ (cd _build/default/eigen_cpp && /usr/bin/cc -O2 -fno-strict-aliasing -fwrapv -fPIC -ansi -pedantic -O3 -std=c++11 -w -Wno-invalid-partial-specialization -Ofast -march=native -funroll-loops -ffast-math -g -I /Users/nbecker/.opam/410nattop/lib/ocaml -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I lib -I lib/unsupported -o eigen_spmat.o -c lib/eigen_spmat.cpp)
$ (cd _build/default/eigen_cpp && /usr/bin/cc -O2 -fno-strict-aliasing -fwrapv -fPIC -ansi -pedantic -O3 -std=c++11 -w -Wno-invalid-partial-specialization -Ofast -march=native -funroll-loops -ffast-math -g -I /Users/nbecker/.opam/410nattop/lib/ocaml -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I lib -I lib/unsupported -o eigen_dsmat.o -c lib/eigen_dsmat.cpp)
$ (cd _build/default/eigen_cpp && /usr/bin/cc -O2 -fno-strict-aliasing -fwrapv -fPIC -ansi -pedantic -O3 -std=c++11 -w -Wno-invalid-partial-specialization -Ofast -march=native -funroll-loops -ffast-math -g -I /Users/nbecker/.opam/410nattop/lib/ocaml -I /Users/nbecker/.opam/410nattop/lib/bytes -I /Users/nbecker/.opam/410nattop/lib/ctypes -I /Users/nbecker/.opam/410nattop/lib/integers -I lib -I lib/unsupported -o eigen_tensor.o -c lib/eigen_tensor.cpp)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlmklib.opt -g -o eigen_cpp/eigen_cpp_stubs_stubs eigen_cpp/eigen_dsmat.o eigen_cpp/eigen_spmat.o eigen_cpp/eigen_tensor.o -lstdc++)
$ (cd _build/default && /Users/nbecker/.opam/410nattop/bin/ocamlopt.opt -w -40 -g -shared -linkall -I eigen_cpp -o eigen_cpp/eigen_cpp_stubs.cmxs eigen_cpp/eigen_cpp_stubs.cmxa)

@nojb
Copy link
Collaborator

nojb commented Oct 25, 2020

Given that you have eigen.cmxs in your installation and there isn't anything specific in the build log, it looks like you just had some transient issue in the past, and there is no actual problem. Can you confirm that you can use the .cmxs file normally?

@nilsbecker
Copy link
Author

no, sorry there is again a miscommunication -- the eigen.cmxs file exists in the _build directory hidden in the .opam-switch private build tree. however, it is still not installed (i.e. not in the lib/ directory of the public opam switch directory) and it's not available to users of the library. (check the directories i mentioned above)

so the issue persists. what i find confusing is that the file is indeed built but not installed

@nojb
Copy link
Collaborator

nojb commented Oct 25, 2020

Can you post the list of files that you have in the "eigen" lib directory of the OPAM switch directory $OPAMROOT/<switch>/lib/eigen/ ?

@nojb
Copy link
Collaborator

nojb commented Oct 25, 2020

For info, in owlbarn/eigen#27 the list of files is missing eigen.cmxs but contains eigen.cmxs.startup.o. This file is generated by the compiler during the linking phase of eigen.cmxs and normally it is deleted afterwards, so it is rather bizzare that it found its way to the installation directory.

@nilsbecker
Copy link
Author

aha this might be a lead.

yes, the list of files in the installation directory is the one i posted in owlbarn/eigen#27.
i now did a opam reinstall eigen with that switch activated.

i got one warning message:

[NOTE] While removing eigen.0.3.0: not removing non-empty directories:
         - lib/eigen

so i deinstalled eigen with opam, which left the .startup.o file in there.
i then manually removed that directory and did opam install eigen. voila, the eigen.cmxs is there.
there might have been a failed installation procedure at some point before which created the persistent startup.o. file?

anyway, now the file is installed!
my original intent was to load eigen from the native toplevel using omod.
when i do

#use "omod.nattop";;
Omod.load "Eigen";;

this now finds eigen.cmxs. however, i get a linking error:

Error while loading /Users/nbecker/.opam/410nattop/lib/eigen/eigen.cmxs: error loading shared library: Dynlink.Error (Dynlink.Cannot_open_dll "Failure(\"dlopen(/Users/nbecker/.opam/410nattop/lib/eigen/eigen.cmxs, 10): Symbol not found: _c_eigen_dsmat_c_cols\\n  Referenced from: /Users/nbecker/.opam/410nattop/lib/eigen/eigen.cmxs\\n  Expected in: flat namespace\\n in /Users/nbecker/.opam/410nattop/lib/eigen/eigen.cmxs\")").

but that is probably not a dune problem. i might report back at owlbarn/eigen ...

@nojb
Copy link
Collaborator

nojb commented Oct 25, 2020

Great, thanks for letting us know. Indeed, for your follow-up problem, it looks like something you should take up with the maintainers of eigen. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants