Closed abhi18av closed 5 years ago
Hi @abhi18av, the eigen
library indeed has installation issue on across platforms. Here the error is caused by that SSE instructions are not available on ARM. There is plan to remove the eigen library from dependencies in the future. For now, to install and run Owl on ARM, I would suggest installing Owl from source code. The dockerfile could be of help. I would be glad to help if you have any further problem on installation.
Thanks for the update @jzstark 👍
While doing my own troubleshooting I came across a similar issue people face while building tensorflow on R-Pi.
Here's link to that https://gist.github.com/EKami/9869ae6347f68c592c5b5cd181a3b205
You can search for the eigen
word and it'll lead you to this bitbucket URL https://bitbucket.org/eigen/eigen/get/5a0156e40feb.tar.gz
I don't exactly know what this means, but I thought it might be informative for people who have the right knowledge :)
Following the manual installation instruction leads me to the following status
root@cub:~/projects/code/scratch/owl# jbuilder external-lib-deps --missing @install
Error: The following libraries are missing in the default context:
- eigen
Hint: try: opam install eigen
Am I doing something wrong?
The manual instruction assumes prerequisites such as BLAS library and Eigen are already properly installed. I would generally follow the steps listed in the Dockerfile : install required libraries and opam packages, then install eigen, and then install Owl -- like Tensorflow, installation on RPi is not quite straightforward sometimes :)
Hi @jzstark , I tried following the instructions in the Dockerfile
but at the very end, it's not really able to find the libraries still.
dune external-lib-deps --missing @install @runtest
dune build @install
ocamlc bin/owl_bin_zoo.bc (exit 2)
(cd _build/default && /root/.opam/default/bin/ocamlc.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -safe-string -g -o bin/owl_bin_zoo.bc -linkall -I /root/.opam/default/lib/bytes -I /root/.opam/default/lib/ctypes -I /root/.opam/default/lib/eigen -I /root/.opam/default/lib/integers -I /root/.opam/default/lib/ocaml-compiler-libs/toplevel -I /root/.opam/default/lib/ocaml/compiler-libs -I /root/.opam/default/lib/plplot -I src/base -I src/owl -I src/zoo /root/.opam/default/lib/ocaml/unix.cma /root/.opam/default/lib/ocaml/bigarray.cma /root/.opam/default/lib/integers/integers.cma /root/.opam/default/lib/ctypes/ctypes.cma /root/.opam/default/lib/ocaml/str.cma /root/.opam/default/lib/ctypes/cstubs.cma /root/.opam/default/lib/eigen/eigen.cma src/base/owl_base.cma /root/.opam/default/lib/plplot/plplot.cma src/owl/owl.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamlcommon.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamlbytecomp.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamltoplevel.cma /root/.opam/default/lib/ocaml-compiler-libs/toplevel/ocaml_toplevel.cma src/zoo/owl_zoo.cma bin/.owl_bin_zoo.eobjs/owl_bin_zoo.cmo)
File "_none_", line 1:
Error: Error on dynamically loaded library: ./src/owl/dllowl_stubs.so: ./src/owl/dllowl_stubs.so: undefined symbol: LAPACKE_dlagsy
ocamlopt bin/owl_bin_viz.exe (exit 2)
(cd _build/default && /root/.opam/default/bin/ocamlopt.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -safe-string -g -o bin/owl_bin_viz.exe -linkall -I /root/.opam/default/lib/bytes -I /root/.opam/default/lib/ctypes -I /root/.opam/default/lib/eigen -I /root/.opam/default/lib/integers -I /root/.opam/default/lib/plplot -I src/base -I src/owl /root/.opam/default/lib/ocaml/unix.cmxa /root/.opam/default/lib/ocaml/bigarray.cmxa /root/.opam/default/lib/integers/integers.cmxa /root/.opam/default/lib/ctypes/ctypes.cmxa /root/.opam/default/lib/ocaml/str.cmxa /root/.opam/default/lib/ctypes/cstubs.cmxa /root/.opam/default/lib/eigen/eigen.cmxa src/base/owl_base.cmxa /root/.opam/default/lib/plplot/plplot.cmxa src/owl/owl.cmxa bin/.owl_bin_viz.eobjs/owl_bin_viz.cmx)
/usr/bin/ld: cannot find -leigen
collect2: error: ld returned 1 exit status
File "caml_startup", line 1:
Error: Error during linking
Makefile:13: recipe for target 'build' failed
make: *** [build] Error 1
root@cub:~/owl#
Do you have more ideas? :)
For reference, here's the relevant output of the eigen
build process
^
Finished, 53 targets (0 cached) in 00:07:42.
Phew ... it is done!
make: Leaving directory '/root/projects/code/scratch/eigen'
make: Entering directory '/root/projects/code/scratch/eigen'
ocaml setup.ml -uninstall
ocaml setup.ml -install
Installed /root/.opam/default/lib/eigen/eigen.ml
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.ml
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.ml
Installed /root/.opam/default/lib/eigen/eigen_types.ml
Installed /root/.opam/default/lib/eigen/eigen_utils.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.ml
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.ml
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.ml
Installed /root/.opam/default/lib/eigen/libeigen_stubs.a
Installed /root/.opam/default/lib/eigen/eigen.cma
Installed /root/.opam/default/lib/eigen/eigen.cmxa
Installed /root/.opam/default/lib/eigen/eigen.a
Installed /root/.opam/default/lib/eigen/eigen.cmxs
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.cmi
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.cmt
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.annot
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.cmi
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.cmt
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.annot
Installed /root/.opam/default/lib/eigen/eigen_utils.cmi
Installed /root/.opam/default/lib/eigen/eigen_utils.cmt
Installed /root/.opam/default/lib/eigen/eigen_utils.annot
Installed /root/.opam/default/lib/eigen/eigen_types.cmi
Installed /root/.opam/default/lib/eigen/eigen_types.cmt
Installed /root/.opam/default/lib/eigen/eigen_types.annot
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.cmi
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.cmt
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.annot
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.cmi
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.cmt
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.annot
Installed /root/.opam/default/lib/eigen/eigen.cmi
Installed /root/.opam/default/lib/eigen/eigen.cmt
Installed /root/.opam/default/lib/eigen/eigen.annot
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.cmx
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.cmx
Installed /root/.opam/default/lib/eigen/eigen_utils.cmx
Installed /root/.opam/default/lib/eigen/eigen_types.cmx
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.cmx
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.cmx
Installed /root/.opam/default/lib/eigen/eigen.cmx
Installed /root/.opam/default/lib/stublibs/dlleigen_stubs.so
Installed /root/.opam/default/lib/stublibs/dlleigen_stubs.so.owner
ocamlfind: [WARNING] You have installed DLLs but the directory /root/.opam/default/lib/stublibs is not mentioned in ld.conf
Installed /root/.opam/default/lib/eigen/META
Thanks for the information. That means the eigen is successfully installed, but you might need to copy the generated eigen library to a searchable path. For example, run this command to copy libeigen.a
file to /usr/local/lib/
, which is normally a searchable path.
@jzstark , I followed through with your suggestions and it seems that the problem is about some symbol LAPACKE_dlagsy
and other such symbols from dynamically loaded libraries
I'll paste here what the terminal throws out
dune external-lib-deps --missing @install @runtest
dune build @install
ocamlc bin/owl_bin_zoo.bc (exit 2)
(cd _build/default && /root/.opam/default/bin/ocamlc.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -safe-string -g -o bin/owl_bin_zoo.bc -linkall -I /root/.opam/default/lib/bytes -I /root/.opam/default/lib/ctypes -I /root/.opam/default/lib/eigen -I /root/.opam/default/lib/integers -I /root/.opam/default/lib/ocaml-compiler-libs/toplevel -I /root/.opam/default/lib/ocaml/compiler-libs -I /root/.opam/default/lib/plplot -I src/base -I src/owl -I src/zoo /root/.opam/default/lib/ocaml/unix.cma /root/.opam/default/lib/ocaml/bigarray.cma /root/.opam/default/lib/integers/integers.cma /root/.opam/default/lib/ctypes/ctypes.cma /root/.opam/default/lib/ocaml/str.cma /root/.opam/default/lib/ctypes/cstubs.cma /root/.opam/default/lib/eigen/eigen.cma src/base/owl_base.cma /root/.opam/default/lib/plplot/plplot.cma src/owl/owl.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamlcommon.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamlbytecomp.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamltoplevel.cma /root/.opam/default/lib/ocaml-compiler-libs/toplevel/ocaml_toplevel.cma src/zoo/owl_zoo.cma bin/.owl_bin_zoo.eobjs/owl_bin_zoo.cmo)
File "_none_", line 1:
Error: Error on dynamically loaded library: ./src/owl/dllowl_stubs.so: ./src/owl/dllowl_stubs.so: undefined symbol: LAPACKE_dlagsy
Done: 3240/3246 (jobs: 1)
ocamlopt bin/owl_bin_viz.exe (exit 2)
(cd _build/default && /root/.opam/default/bin/ocamlopt.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -safe-string -g -o bin/owl_bin_viz.exe -linkall -I /root/.opam/default/lib/bytes -I /root/.opam/default/lib/ctypes -I /root/.opam/default/lib/eigen -I /root/.opam/default/lib/integers -I /root/.opam/default/lib/plplot -I src/base -I src/owl /root/.opam/default/lib/ocaml/unix.cmxa /root/.opam/default/lib/ocaml/bigarray.cmxa /root/.opam/default/lib/integers/integers.cmxa /root/.opam/default/lib/ctypes/ctypes.cmxa /root/.opam/default/lib/ocaml/str.cmxa /root/.opam/default/lib/ctypes/cstubs.cmxa /root/.opam/default/lib/eigen/eigen.cmxa src/base/owl_base.cmxa /root/.opam/default/lib/plplot/plplot.cmxa src/owl/owl.cmxa bin/.owl_bin_viz.eobjs/owl_bin_viz.cmx)
lib/eigen_spmat.h:259:8: warning: type of ‘c_eigen_spmat_z_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:443:6: note: ‘c_eigen_spmat_z_print’ was previously declared here
eigen_spmat_z.cpp:443:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:258:21: warning: type of ‘c_eigen_spmat_z_sqrt’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:437:12: note: ‘c_eigen_spmat_z_sqrt’ was previously declared here
eigen_spmat_z.cpp:437:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:257:21: warning: type of ‘c_eigen_spmat_z_neg’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:428:12: note: ‘c_eigen_spmat_z_neg’ was previously declared here
eigen_spmat_z.cpp:428:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:256:17: warning: type of ‘c_eigen_spmat_z_sum’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:386:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:386:15: note: ‘c_eigen_spmat_z_sum’ was previously declared here
eigen_spmat_z.cpp:386:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:255:21: warning: type of ‘c_eigen_spmat_z_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:376:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:376:12: note: ‘c_eigen_spmat_z_div_scalar’ was previously declared here
eigen_spmat_z.cpp:376:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:254:21: warning: type of ‘c_eigen_spmat_z_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:369:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:369:12: note: ‘c_eigen_spmat_z_mul_scalar’ was previously declared here
eigen_spmat_z.cpp:369:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:253:21: warning: type of ‘c_eigen_spmat_z_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:359:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:359:12: note: ‘c_eigen_spmat_z_sub_scalar’ was previously declared here
eigen_spmat_z.cpp:359:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:252:21: warning: type of ‘c_eigen_spmat_z_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:349:12: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:349:12: note: ‘c_eigen_spmat_z_add_scalar’ was previously declared here
eigen_spmat_z.cpp:349:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:251:21: warning: type of ‘c_eigen_spmat_z_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:342:12: note: ‘c_eigen_spmat_z_gemm’ was previously declared here
eigen_spmat_z.cpp:342:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:250:21: warning: type of ‘c_eigen_spmat_z_div’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:335:12: note: ‘c_eigen_spmat_z_div’ was previously declared here
eigen_spmat_z.cpp:335:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:249:21: warning: type of ‘c_eigen_spmat_z_mul’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:328:12: note: ‘c_eigen_spmat_z_mul’ was previously declared here
eigen_spmat_z.cpp:328:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:248:21: warning: type of ‘c_eigen_spmat_z_sub’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:321:12: note: ‘c_eigen_spmat_z_sub’ was previously declared here
eigen_spmat_z.cpp:321:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:247:21: warning: type of ‘c_eigen_spmat_z_add’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:314:12: note: ‘c_eigen_spmat_z_add’ was previously declared here
eigen_spmat_z.cpp:314:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:246:7: warning: type of ‘c_eigen_spmat_z_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:308:5: note: ‘c_eigen_spmat_z_equal_or_smaller’ was previously declared here
eigen_spmat_z.cpp:308:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:245:7: warning: type of ‘c_eigen_spmat_z_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:302:5: note: ‘c_eigen_spmat_z_equal_or_greater’ was previously declared here
eigen_spmat_z.cpp:302:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:244:7: warning: type of ‘c_eigen_spmat_z_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:296:5: note: ‘c_eigen_spmat_z_is_smaller’ was previously declared here
eigen_spmat_z.cpp:296:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:243:7: warning: type of ‘c_eigen_spmat_z_is_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:290:5: note: ‘c_eigen_spmat_z_is_greater’ was previously declared here
eigen_spmat_z.cpp:290:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:242:7: warning: type of ‘c_eigen_spmat_z_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:283:5: note: ‘c_eigen_spmat_z_is_unequal’ was previously declared here
eigen_spmat_z.cpp:283:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:241:7: warning: type of ‘c_eigen_spmat_z_is_equal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:276:5: note: ‘c_eigen_spmat_z_is_equal’ was previously declared here
eigen_spmat_z.cpp:276:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:240:7: warning: type of ‘c_eigen_spmat_z_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:259:5: note: ‘c_eigen_spmat_z_is_nonnegative’ was previously declared here
eigen_spmat_z.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:239:7: warning: type of ‘c_eigen_spmat_z_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:242:5: note: ‘c_eigen_spmat_z_is_nonpositive’ was previously declared here
eigen_spmat_z.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:238:7: warning: type of ‘c_eigen_spmat_z_is_negative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:222:5: note: ‘c_eigen_spmat_z_is_negative’ was previously declared here
eigen_spmat_z.cpp:222:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:237:7: warning: type of ‘c_eigen_spmat_z_is_positive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:202:5: note: ‘c_eigen_spmat_z_is_positive’ was previously declared here
eigen_spmat_z.cpp:202:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:236:7: warning: type of ‘c_eigen_spmat_z_is_zero’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:184:5: note: ‘c_eigen_spmat_z_is_zero’ was previously declared here
eigen_spmat_z.cpp:184:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:235:17: warning: type of ‘c_eigen_spmat_z_trace’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:178:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:178:15: note: ‘c_eigen_spmat_z_trace’ was previously declared here
eigen_spmat_z.cpp:178:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:234:21: warning: type of ‘c_eigen_spmat_z_diagonal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:172:12: note: ‘c_eigen_spmat_z_diagonal’ was previously declared here
eigen_spmat_z.cpp:172:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:233:21: warning: type of ‘c_eigen_spmat_z_adjoint’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:166:12: note: ‘c_eigen_spmat_z_adjoint’ was previously declared here
eigen_spmat_z.cpp:166:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:232:21: warning: type of ‘c_eigen_spmat_z_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:160:12: note: ‘c_eigen_spmat_z_transpose’ was previously declared here
eigen_spmat_z.cpp:160:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:231:21: warning: type of ‘c_eigen_spmat_z_col’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:154:12: note: ‘c_eigen_spmat_z_col’ was previously declared here
eigen_spmat_z.cpp:154:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:230:21: warning: type of ‘c_eigen_spmat_z_row’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:148:12: note: ‘c_eigen_spmat_z_row’ was previously declared here
eigen_spmat_z.cpp:148:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:229:21: warning: type of ‘c_eigen_spmat_z_clone’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:142:12: note: ‘c_eigen_spmat_z_clone’ was previously declared here
eigen_spmat_z.cpp:142:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:228:10: warning: type of ‘c_eigen_spmat_z_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:135:8: note: ‘c_eigen_spmat_z_outerindexptr’ was previously declared here
eigen_spmat_z.cpp:135:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:227:10: warning: type of ‘c_eigen_spmat_z_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:128:8: note: ‘c_eigen_spmat_z_innerindexptr’ was previously declared here
eigen_spmat_z.cpp:128:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:226:18: warning: type of ‘c_eigen_spmat_z_valueptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:120:16: note: ‘c_eigen_spmat_z_valueptr’ was previously declared here
eigen_spmat_z.cpp:120:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:225:8: warning: type of ‘c_eigen_spmat_z_prune’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:114:6: note: type mismatch in parameter 2
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:114:6: note: ‘c_eigen_spmat_z_prune’ was previously declared here
eigen_spmat_z.cpp:114:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:224:8: warning: type of ‘c_eigen_spmat_z_reshape’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:108:6: note: ‘c_eigen_spmat_z_reshape’ was previously declared here
eigen_spmat_z.cpp:108:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:223:8: warning: type of ‘c_eigen_spmat_z_uncompress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:103:6: note: ‘c_eigen_spmat_z_uncompress’ was previously declared here
eigen_spmat_z.cpp:103:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:222:8: warning: type of ‘c_eigen_spmat_z_compress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:98:6: note: ‘c_eigen_spmat_z_compress’ was previously declared here
eigen_spmat_z.cpp:98:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:221:7: warning: type of ‘c_eigen_spmat_z_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:93:5: note: ‘c_eigen_spmat_z_is_compressed’ was previously declared here
eigen_spmat_z.cpp:93:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:220:8: warning: type of ‘c_eigen_spmat_z_reset’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:88:6: note: ‘c_eigen_spmat_z_reset’ was previously declared here
eigen_spmat_z.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:219:8: warning: type of ‘c_eigen_spmat_z_insert’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:83:6: note: type mismatch in parameter 4
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:83:6: note: ‘c_eigen_spmat_z_insert’ was previously declared here
eigen_spmat_z.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:218:8: warning: type of ‘c_eigen_spmat_z_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:78:6: note: type mismatch in parameter 4
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:78:6: note: ‘c_eigen_spmat_z_set’ was previously declared here
eigen_spmat_z.cpp:78:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:217:17: warning: type of ‘c_eigen_spmat_z_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:72:15: note: return value type mismatch
eigen_spmat.h:19:35: note: type ‘struct c_spmat_z_elt’ should match type ‘c_spmat_z_elt’
lib/eigen_spmat.h:28:27: note: the incompatible type is defined here
eigen_spmat_z.cpp:72:15: note: ‘c_eigen_spmat_z_get’ was previously declared here
eigen_spmat_z.cpp:72:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:216:9: warning: type of ‘c_eigen_spmat_z_nnz’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:67:7: note: ‘c_eigen_spmat_z_nnz’ was previously declared here
eigen_spmat_z.cpp:67:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:215:9: warning: type of ‘c_eigen_spmat_z_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:62:7: note: ‘c_eigen_spmat_z_cols’ was previously declared here
eigen_spmat_z.cpp:62:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:214:9: warning: type of ‘c_eigen_spmat_z_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:57:7: note: ‘c_eigen_spmat_z_rows’ was previously declared here
eigen_spmat_z.cpp:57:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:213:21: warning: type of ‘c_eigen_spmat_z_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:50:12: note: ‘c_eigen_spmat_z_eye’ was previously declared here
eigen_spmat_z.cpp:50:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:212:8: warning: type of ‘c_eigen_spmat_z_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:45:6: note: ‘c_eigen_spmat_z_delete’ was previously declared here
eigen_spmat_z.cpp:45:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:211:21: warning: type of ‘c_eigen_spmat_z_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_z.cpp:38:12: note: ‘c_eigen_spmat_z_new’ was previously declared here
eigen_spmat_z.cpp:38:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:204:8: warning: type of ‘c_eigen_spmat_c_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:443:6: note: ‘c_eigen_spmat_c_print’ was previously declared here
eigen_spmat_c.cpp:443:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:203:21: warning: type of ‘c_eigen_spmat_c_sqrt’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:437:12: note: ‘c_eigen_spmat_c_sqrt’ was previously declared here
eigen_spmat_c.cpp:437:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:202:21: warning: type of ‘c_eigen_spmat_c_neg’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:428:12: note: ‘c_eigen_spmat_c_neg’ was previously declared here
eigen_spmat_c.cpp:428:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:201:17: warning: type of ‘c_eigen_spmat_c_sum’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:386:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:386:15: note: ‘c_eigen_spmat_c_sum’ was previously declared here
eigen_spmat_c.cpp:386:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:200:21: warning: type of ‘c_eigen_spmat_c_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:376:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:376:12: note: ‘c_eigen_spmat_c_div_scalar’ was previously declared here
eigen_spmat_c.cpp:376:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:199:21: warning: type of ‘c_eigen_spmat_c_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:369:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:369:12: note: ‘c_eigen_spmat_c_mul_scalar’ was previously declared here
eigen_spmat_c.cpp:369:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:198:21: warning: type of ‘c_eigen_spmat_c_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:359:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:359:12: note: ‘c_eigen_spmat_c_sub_scalar’ was previously declared here
eigen_spmat_c.cpp:359:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:197:21: warning: type of ‘c_eigen_spmat_c_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:349:12: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:349:12: note: ‘c_eigen_spmat_c_add_scalar’ was previously declared here
eigen_spmat_c.cpp:349:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:196:21: warning: type of ‘c_eigen_spmat_c_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:342:12: note: ‘c_eigen_spmat_c_gemm’ was previously declared here
eigen_spmat_c.cpp:342:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:195:21: warning: type of ‘c_eigen_spmat_c_div’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:335:12: note: ‘c_eigen_spmat_c_div’ was previously declared here
eigen_spmat_c.cpp:335:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:194:21: warning: type of ‘c_eigen_spmat_c_mul’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:328:12: note: ‘c_eigen_spmat_c_mul’ was previously declared here
eigen_spmat_c.cpp:328:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:193:21: warning: type of ‘c_eigen_spmat_c_sub’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:321:12: note: ‘c_eigen_spmat_c_sub’ was previously declared here
eigen_spmat_c.cpp:321:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:192:21: warning: type of ‘c_eigen_spmat_c_add’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:314:12: note: ‘c_eigen_spmat_c_add’ was previously declared here
eigen_spmat_c.cpp:314:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:191:7: warning: type of ‘c_eigen_spmat_c_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:308:5: note: ‘c_eigen_spmat_c_equal_or_smaller’ was previously declared here
eigen_spmat_c.cpp:308:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:190:7: warning: type of ‘c_eigen_spmat_c_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:302:5: note: ‘c_eigen_spmat_c_equal_or_greater’ was previously declared here
eigen_spmat_c.cpp:302:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:189:7: warning: type of ‘c_eigen_spmat_c_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:296:5: note: ‘c_eigen_spmat_c_is_smaller’ was previously declared here
eigen_spmat_c.cpp:296:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:188:7: warning: type of ‘c_eigen_spmat_c_is_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:290:5: note: ‘c_eigen_spmat_c_is_greater’ was previously declared here
eigen_spmat_c.cpp:290:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:187:7: warning: type of ‘c_eigen_spmat_c_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:283:5: note: ‘c_eigen_spmat_c_is_unequal’ was previously declared here
eigen_spmat_c.cpp:283:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:186:7: warning: type of ‘c_eigen_spmat_c_is_equal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:276:5: note: ‘c_eigen_spmat_c_is_equal’ was previously declared here
eigen_spmat_c.cpp:276:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:185:7: warning: type of ‘c_eigen_spmat_c_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:259:5: note: ‘c_eigen_spmat_c_is_nonnegative’ was previously declared here
eigen_spmat_c.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:184:7: warning: type of ‘c_eigen_spmat_c_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:242:5: note: ‘c_eigen_spmat_c_is_nonpositive’ was previously declared here
eigen_spmat_c.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:183:7: warning: type of ‘c_eigen_spmat_c_is_negative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:222:5: note: ‘c_eigen_spmat_c_is_negative’ was previously declared here
eigen_spmat_c.cpp:222:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:182:7: warning: type of ‘c_eigen_spmat_c_is_positive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:202:5: note: ‘c_eigen_spmat_c_is_positive’ was previously declared here
eigen_spmat_c.cpp:202:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:181:7: warning: type of ‘c_eigen_spmat_c_is_zero’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:184:5: note: ‘c_eigen_spmat_c_is_zero’ was previously declared here
eigen_spmat_c.cpp:184:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:180:17: warning: type of ‘c_eigen_spmat_c_trace’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:178:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:178:15: note: ‘c_eigen_spmat_c_trace’ was previously declared here
eigen_spmat_c.cpp:178:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:179:21: warning: type of ‘c_eigen_spmat_c_diagonal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:172:12: note: ‘c_eigen_spmat_c_diagonal’ was previously declared here
eigen_spmat_c.cpp:172:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:178:21: warning: type of ‘c_eigen_spmat_c_adjoint’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:166:12: note: ‘c_eigen_spmat_c_adjoint’ was previously declared here
eigen_spmat_c.cpp:166:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:177:21: warning: type of ‘c_eigen_spmat_c_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:160:12: note: ‘c_eigen_spmat_c_transpose’ was previously declared here
eigen_spmat_c.cpp:160:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:176:21: warning: type of ‘c_eigen_spmat_c_col’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:154:12: note: ‘c_eigen_spmat_c_col’ was previously declared here
eigen_spmat_c.cpp:154:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:175:21: warning: type of ‘c_eigen_spmat_c_row’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:148:12: note: ‘c_eigen_spmat_c_row’ was previously declared here
eigen_spmat_c.cpp:148:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:174:21: warning: type of ‘c_eigen_spmat_c_clone’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:142:12: note: ‘c_eigen_spmat_c_clone’ was previously declared here
eigen_spmat_c.cpp:142:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:173:10: warning: type of ‘c_eigen_spmat_c_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:135:8: note: ‘c_eigen_spmat_c_outerindexptr’ was previously declared here
eigen_spmat_c.cpp:135:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:172:10: warning: type of ‘c_eigen_spmat_c_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:128:8: note: ‘c_eigen_spmat_c_innerindexptr’ was previously declared here
eigen_spmat_c.cpp:128:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:171:18: warning: type of ‘c_eigen_spmat_c_valueptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:120:16: note: ‘c_eigen_spmat_c_valueptr’ was previously declared here
eigen_spmat_c.cpp:120:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:170:8: warning: type of ‘c_eigen_spmat_c_prune’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:114:6: note: type mismatch in parameter 2
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:114:6: note: ‘c_eigen_spmat_c_prune’ was previously declared here
eigen_spmat_c.cpp:114:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:169:8: warning: type of ‘c_eigen_spmat_c_reshape’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:108:6: note: ‘c_eigen_spmat_c_reshape’ was previously declared here
eigen_spmat_c.cpp:108:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:168:8: warning: type of ‘c_eigen_spmat_c_uncompress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:103:6: note: ‘c_eigen_spmat_c_uncompress’ was previously declared here
eigen_spmat_c.cpp:103:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:167:8: warning: type of ‘c_eigen_spmat_c_compress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:98:6: note: ‘c_eigen_spmat_c_compress’ was previously declared here
eigen_spmat_c.cpp:98:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:166:7: warning: type of ‘c_eigen_spmat_c_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:93:5: note: ‘c_eigen_spmat_c_is_compressed’ was previously declared here
eigen_spmat_c.cpp:93:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:165:8: warning: type of ‘c_eigen_spmat_c_reset’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:88:6: note: ‘c_eigen_spmat_c_reset’ was previously declared here
eigen_spmat_c.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:164:8: warning: type of ‘c_eigen_spmat_c_insert’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:83:6: note: type mismatch in parameter 4
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:83:6: note: ‘c_eigen_spmat_c_insert’ was previously declared here
eigen_spmat_c.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:163:8: warning: type of ‘c_eigen_spmat_c_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:78:6: note: type mismatch in parameter 4
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:78:6: note: ‘c_eigen_spmat_c_set’ was previously declared here
eigen_spmat_c.cpp:78:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:162:17: warning: type of ‘c_eigen_spmat_c_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:72:15: note: return value type mismatch
eigen_spmat.h:18:34: note: type ‘struct c_spmat_c_elt’ should match type ‘c_spmat_c_elt’
lib/eigen_spmat.h:27:26: note: the incompatible type is defined here
eigen_spmat_c.cpp:72:15: note: ‘c_eigen_spmat_c_get’ was previously declared here
eigen_spmat_c.cpp:72:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:161:9: warning: type of ‘c_eigen_spmat_c_nnz’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:67:7: note: ‘c_eigen_spmat_c_nnz’ was previously declared here
eigen_spmat_c.cpp:67:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:160:9: warning: type of ‘c_eigen_spmat_c_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:62:7: note: ‘c_eigen_spmat_c_cols’ was previously declared here
eigen_spmat_c.cpp:62:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:159:9: warning: type of ‘c_eigen_spmat_c_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:57:7: note: ‘c_eigen_spmat_c_rows’ was previously declared here
eigen_spmat_c.cpp:57:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:158:21: warning: type of ‘c_eigen_spmat_c_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:50:12: note: ‘c_eigen_spmat_c_eye’ was previously declared here
eigen_spmat_c.cpp:50:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:157:8: warning: type of ‘c_eigen_spmat_c_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:45:6: note: ‘c_eigen_spmat_c_delete’ was previously declared here
eigen_spmat_c.cpp:45:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:156:21: warning: type of ‘c_eigen_spmat_c_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_c.cpp:38:12: note: ‘c_eigen_spmat_c_new’ was previously declared here
eigen_spmat_c.cpp:38:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:149:8: warning: type of ‘c_eigen_spmat_d_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:435:6: note: ‘c_eigen_spmat_d_print’ was previously declared here
eigen_spmat_d.cpp:435:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:148:21: warning: type of ‘c_eigen_spmat_d_sqrt’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:429:12: note: ‘c_eigen_spmat_d_sqrt’ was previously declared here
eigen_spmat_d.cpp:429:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:147:21: warning: type of ‘c_eigen_spmat_d_neg’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:420:12: note: ‘c_eigen_spmat_d_neg’ was previously declared here
eigen_spmat_d.cpp:420:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:146:21: warning: type of ‘c_eigen_spmat_d_abs’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:414:12: note: ‘c_eigen_spmat_d_abs’ was previously declared here
eigen_spmat_d.cpp:414:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:145:10: warning: type of ‘c_eigen_spmat_d_max’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:399:13: note: ‘c_eigen_spmat_d_max’ was previously declared here
eigen_spmat_d.cpp:399:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:144:10: warning: type of ‘c_eigen_spmat_d_min’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:384:13: note: ‘c_eigen_spmat_d_min’ was previously declared here
eigen_spmat_d.cpp:384:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:143:10: warning: type of ‘c_eigen_spmat_d_sum’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:379:13: note: ‘c_eigen_spmat_d_sum’ was previously declared here
eigen_spmat_d.cpp:379:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:142:21: warning: type of ‘c_eigen_spmat_d_max2’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:372:12: note: ‘c_eigen_spmat_d_max2’ was previously declared here
eigen_spmat_d.cpp:372:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:141:21: warning: type of ‘c_eigen_spmat_d_min2’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:365:12: note: ‘c_eigen_spmat_d_min2’ was previously declared here
eigen_spmat_d.cpp:365:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:140:21: warning: type of ‘c_eigen_spmat_d_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:356:12: note: ‘c_eigen_spmat_d_div_scalar’ was previously declared here
eigen_spmat_d.cpp:356:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:139:21: warning: type of ‘c_eigen_spmat_d_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:350:12: note: ‘c_eigen_spmat_d_mul_scalar’ was previously declared here
eigen_spmat_d.cpp:350:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:138:21: warning: type of ‘c_eigen_spmat_d_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:341:12: note: ‘c_eigen_spmat_d_sub_scalar’ was previously declared here
eigen_spmat_d.cpp:341:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:137:21: warning: type of ‘c_eigen_spmat_d_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:332:12: note: ‘c_eigen_spmat_d_add_scalar’ was previously declared here
eigen_spmat_d.cpp:332:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:136:21: warning: type of ‘c_eigen_spmat_d_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:325:12: note: ‘c_eigen_spmat_d_gemm’ was previously declared here
eigen_spmat_d.cpp:325:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:135:21: warning: type of ‘c_eigen_spmat_d_div’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:318:12: note: ‘c_eigen_spmat_d_div’ was previously declared here
eigen_spmat_d.cpp:318:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:134:21: warning: type of ‘c_eigen_spmat_d_mul’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:311:12: note: ‘c_eigen_spmat_d_mul’ was previously declared here
eigen_spmat_d.cpp:311:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:133:21: warning: type of ‘c_eigen_spmat_d_sub’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:304:12: note: ‘c_eigen_spmat_d_sub’ was previously declared here
eigen_spmat_d.cpp:304:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:132:21: warning: type of ‘c_eigen_spmat_d_add’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:297:12: note: ‘c_eigen_spmat_d_add’ was previously declared here
eigen_spmat_d.cpp:297:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:131:7: warning: type of ‘c_eigen_spmat_d_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:291:5: note: ‘c_eigen_spmat_d_equal_or_smaller’ was previously declared here
eigen_spmat_d.cpp:291:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:130:7: warning: type of ‘c_eigen_spmat_d_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:285:5: note: ‘c_eigen_spmat_d_equal_or_greater’ was previously declared here
eigen_spmat_d.cpp:285:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:129:7: warning: type of ‘c_eigen_spmat_d_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:279:5: note: ‘c_eigen_spmat_d_is_smaller’ was previously declared here
eigen_spmat_d.cpp:279:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:128:7: warning: type of ‘c_eigen_spmat_d_is_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:273:5: note: ‘c_eigen_spmat_d_is_greater’ was previously declared here
eigen_spmat_d.cpp:273:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:127:7: warning: type of ‘c_eigen_spmat_d_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:266:5: note: ‘c_eigen_spmat_d_is_unequal’ was previously declared here
eigen_spmat_d.cpp:266:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:126:7: warning: type of ‘c_eigen_spmat_d_is_equal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:259:5: note: ‘c_eigen_spmat_d_is_equal’ was previously declared here
eigen_spmat_d.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:125:7: warning: type of ‘c_eigen_spmat_d_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:242:5: note: ‘c_eigen_spmat_d_is_nonnegative’ was previously declared here
eigen_spmat_d.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:124:7: warning: type of ‘c_eigen_spmat_d_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:225:5: note: ‘c_eigen_spmat_d_is_nonpositive’ was previously declared here
eigen_spmat_d.cpp:225:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:123:7: warning: type of ‘c_eigen_spmat_d_is_negative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:205:5: note: ‘c_eigen_spmat_d_is_negative’ was previously declared here
eigen_spmat_d.cpp:205:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:122:7: warning: type of ‘c_eigen_spmat_d_is_positive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:185:5: note: ‘c_eigen_spmat_d_is_positive’ was previously declared here
eigen_spmat_d.cpp:185:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:121:7: warning: type of ‘c_eigen_spmat_d_is_zero’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:167:5: note: ‘c_eigen_spmat_d_is_zero’ was previously declared here
eigen_spmat_d.cpp:167:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:120:10: warning: type of ‘c_eigen_spmat_d_trace’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:162:13: note: ‘c_eigen_spmat_d_trace’ was previously declared here
eigen_spmat_d.cpp:162:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:119:21: warning: type of ‘c_eigen_spmat_d_diagonal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:156:12: note: ‘c_eigen_spmat_d_diagonal’ was previously declared here
eigen_spmat_d.cpp:156:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:118:21: warning: type of ‘c_eigen_spmat_d_adjoint’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:150:12: note: ‘c_eigen_spmat_d_adjoint’ was previously declared here
eigen_spmat_d.cpp:150:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:117:21: warning: type of ‘c_eigen_spmat_d_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:144:12: note: ‘c_eigen_spmat_d_transpose’ was previously declared here
eigen_spmat_d.cpp:144:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:116:21: warning: type of ‘c_eigen_spmat_d_col’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:138:12: note: ‘c_eigen_spmat_d_col’ was previously declared here
eigen_spmat_d.cpp:138:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:115:21: warning: type of ‘c_eigen_spmat_d_row’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:132:12: note: ‘c_eigen_spmat_d_row’ was previously declared here
eigen_spmat_d.cpp:132:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:114:21: warning: type of ‘c_eigen_spmat_d_clone’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:126:12: note: ‘c_eigen_spmat_d_clone’ was previously declared here
eigen_spmat_d.cpp:126:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:113:10: warning: type of ‘c_eigen_spmat_d_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:119:8: note: ‘c_eigen_spmat_d_outerindexptr’ was previously declared here
eigen_spmat_d.cpp:119:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:112:10: warning: type of ‘c_eigen_spmat_d_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:112:8: note: ‘c_eigen_spmat_d_innerindexptr’ was previously declared here
eigen_spmat_d.cpp:112:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:111:11: warning: type of ‘c_eigen_spmat_d_valueptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:104:14: note: ‘c_eigen_spmat_d_valueptr’ was previously declared here
eigen_spmat_d.cpp:104:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:110:8: warning: type of ‘c_eigen_spmat_d_prune’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:99:6: note: ‘c_eigen_spmat_d_prune’ was previously declared here
eigen_spmat_d.cpp:99:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:109:8: warning: type of ‘c_eigen_spmat_d_reshape’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:93:6: note: ‘c_eigen_spmat_d_reshape’ was previously declared here
eigen_spmat_d.cpp:93:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:108:8: warning: type of ‘c_eigen_spmat_d_uncompress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:88:6: note: ‘c_eigen_spmat_d_uncompress’ was previously declared here
eigen_spmat_d.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:107:8: warning: type of ‘c_eigen_spmat_d_compress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:83:6: note: ‘c_eigen_spmat_d_compress’ was previously declared here
eigen_spmat_d.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:106:7: warning: type of ‘c_eigen_spmat_d_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:78:5: note: ‘c_eigen_spmat_d_is_compressed’ was previously declared here
eigen_spmat_d.cpp:78:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:105:8: warning: type of ‘c_eigen_spmat_d_reset’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:73:6: note: ‘c_eigen_spmat_d_reset’ was previously declared here
eigen_spmat_d.cpp:73:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:104:8: warning: type of ‘c_eigen_spmat_d_insert’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:68:6: note: ‘c_eigen_spmat_d_insert’ was previously declared here
eigen_spmat_d.cpp:68:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:103:8: warning: type of ‘c_eigen_spmat_d_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:63:6: note: ‘c_eigen_spmat_d_set’ was previously declared here
eigen_spmat_d.cpp:63:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:102:10: warning: type of ‘c_eigen_spmat_d_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:58:13: note: ‘c_eigen_spmat_d_get’ was previously declared here
eigen_spmat_d.cpp:58:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:101:9: warning: type of ‘c_eigen_spmat_d_nnz’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:53:7: note: ‘c_eigen_spmat_d_nnz’ was previously declared here
eigen_spmat_d.cpp:53:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:100:9: warning: type of ‘c_eigen_spmat_d_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:48:7: note: ‘c_eigen_spmat_d_cols’ was previously declared here
eigen_spmat_d.cpp:48:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:99:9: warning: type of ‘c_eigen_spmat_d_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:43:7: note: ‘c_eigen_spmat_d_rows’ was previously declared here
eigen_spmat_d.cpp:43:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:98:21: warning: type of ‘c_eigen_spmat_d_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:36:12: note: ‘c_eigen_spmat_d_eye’ was previously declared here
eigen_spmat_d.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:97:8: warning: type of ‘c_eigen_spmat_d_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:31:6: note: ‘c_eigen_spmat_d_delete’ was previously declared here
eigen_spmat_d.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:96:21: warning: type of ‘c_eigen_spmat_d_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_d.cpp:24:12: note: ‘c_eigen_spmat_d_new’ was previously declared here
eigen_spmat_d.cpp:24:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:89:8: warning: type of ‘c_eigen_spmat_s_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:435:6: note: ‘c_eigen_spmat_s_print’ was previously declared here
eigen_spmat_s.cpp:435:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:88:21: warning: type of ‘c_eigen_spmat_s_sqrt’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:429:12: note: ‘c_eigen_spmat_s_sqrt’ was previously declared here
eigen_spmat_s.cpp:429:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:87:21: warning: type of ‘c_eigen_spmat_s_neg’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:420:12: note: ‘c_eigen_spmat_s_neg’ was previously declared here
eigen_spmat_s.cpp:420:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:86:21: warning: type of ‘c_eigen_spmat_s_abs’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:414:12: note: ‘c_eigen_spmat_s_abs’ was previously declared here
eigen_spmat_s.cpp:414:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:85:9: warning: type of ‘c_eigen_spmat_s_max’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:399:13: note: ‘c_eigen_spmat_s_max’ was previously declared here
eigen_spmat_s.cpp:399:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:84:9: warning: type of ‘c_eigen_spmat_s_min’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:384:13: note: ‘c_eigen_spmat_s_min’ was previously declared here
eigen_spmat_s.cpp:384:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:83:9: warning: type of ‘c_eigen_spmat_s_sum’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:379:13: note: ‘c_eigen_spmat_s_sum’ was previously declared here
eigen_spmat_s.cpp:379:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:82:21: warning: type of ‘c_eigen_spmat_s_max2’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:372:12: note: ‘c_eigen_spmat_s_max2’ was previously declared here
eigen_spmat_s.cpp:372:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:81:21: warning: type of ‘c_eigen_spmat_s_min2’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:365:12: note: ‘c_eigen_spmat_s_min2’ was previously declared here
eigen_spmat_s.cpp:365:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:80:21: warning: type of ‘c_eigen_spmat_s_div_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:356:12: note: ‘c_eigen_spmat_s_div_scalar’ was previously declared here
eigen_spmat_s.cpp:356:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:79:21: warning: type of ‘c_eigen_spmat_s_mul_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:350:12: note: ‘c_eigen_spmat_s_mul_scalar’ was previously declared here
eigen_spmat_s.cpp:350:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:78:21: warning: type of ‘c_eigen_spmat_s_sub_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:341:12: note: ‘c_eigen_spmat_s_sub_scalar’ was previously declared here
eigen_spmat_s.cpp:341:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:77:21: warning: type of ‘c_eigen_spmat_s_add_scalar’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:332:12: note: ‘c_eigen_spmat_s_add_scalar’ was previously declared here
eigen_spmat_s.cpp:332:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:76:21: warning: type of ‘c_eigen_spmat_s_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:325:12: note: ‘c_eigen_spmat_s_gemm’ was previously declared here
eigen_spmat_s.cpp:325:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:75:21: warning: type of ‘c_eigen_spmat_s_div’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:318:12: note: ‘c_eigen_spmat_s_div’ was previously declared here
eigen_spmat_s.cpp:318:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:74:21: warning: type of ‘c_eigen_spmat_s_mul’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:311:12: note: ‘c_eigen_spmat_s_mul’ was previously declared here
eigen_spmat_s.cpp:311:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:73:21: warning: type of ‘c_eigen_spmat_s_sub’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:304:12: note: ‘c_eigen_spmat_s_sub’ was previously declared here
eigen_spmat_s.cpp:304:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:72:21: warning: type of ‘c_eigen_spmat_s_add’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:297:12: note: ‘c_eigen_spmat_s_add’ was previously declared here
eigen_spmat_s.cpp:297:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:71:7: warning: type of ‘c_eigen_spmat_s_equal_or_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:291:5: note: ‘c_eigen_spmat_s_equal_or_smaller’ was previously declared here
eigen_spmat_s.cpp:291:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:70:7: warning: type of ‘c_eigen_spmat_s_equal_or_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:285:5: note: ‘c_eigen_spmat_s_equal_or_greater’ was previously declared here
eigen_spmat_s.cpp:285:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:69:7: warning: type of ‘c_eigen_spmat_s_is_smaller’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:279:5: note: ‘c_eigen_spmat_s_is_smaller’ was previously declared here
eigen_spmat_s.cpp:279:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:68:7: warning: type of ‘c_eigen_spmat_s_is_greater’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:273:5: note: ‘c_eigen_spmat_s_is_greater’ was previously declared here
eigen_spmat_s.cpp:273:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:67:7: warning: type of ‘c_eigen_spmat_s_is_unequal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:266:5: note: ‘c_eigen_spmat_s_is_unequal’ was previously declared here
eigen_spmat_s.cpp:266:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:66:7: warning: type of ‘c_eigen_spmat_s_is_equal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:259:5: note: ‘c_eigen_spmat_s_is_equal’ was previously declared here
eigen_spmat_s.cpp:259:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:65:7: warning: type of ‘c_eigen_spmat_s_is_nonnegative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:242:5: note: ‘c_eigen_spmat_s_is_nonnegative’ was previously declared here
eigen_spmat_s.cpp:242:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:64:7: warning: type of ‘c_eigen_spmat_s_is_nonpositive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:225:5: note: ‘c_eigen_spmat_s_is_nonpositive’ was previously declared here
eigen_spmat_s.cpp:225:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:63:7: warning: type of ‘c_eigen_spmat_s_is_negative’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:205:5: note: ‘c_eigen_spmat_s_is_negative’ was previously declared here
eigen_spmat_s.cpp:205:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:62:7: warning: type of ‘c_eigen_spmat_s_is_positive’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:185:5: note: ‘c_eigen_spmat_s_is_positive’ was previously declared here
eigen_spmat_s.cpp:185:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:61:7: warning: type of ‘c_eigen_spmat_s_is_zero’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:167:5: note: ‘c_eigen_spmat_s_is_zero’ was previously declared here
eigen_spmat_s.cpp:167:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:60:9: warning: type of ‘c_eigen_spmat_s_trace’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:162:13: note: ‘c_eigen_spmat_s_trace’ was previously declared here
eigen_spmat_s.cpp:162:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:59:21: warning: type of ‘c_eigen_spmat_s_diagonal’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:156:12: note: ‘c_eigen_spmat_s_diagonal’ was previously declared here
eigen_spmat_s.cpp:156:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:58:21: warning: type of ‘c_eigen_spmat_s_adjoint’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:150:12: note: ‘c_eigen_spmat_s_adjoint’ was previously declared here
eigen_spmat_s.cpp:150:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:57:21: warning: type of ‘c_eigen_spmat_s_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:144:12: note: ‘c_eigen_spmat_s_transpose’ was previously declared here
eigen_spmat_s.cpp:144:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:56:21: warning: type of ‘c_eigen_spmat_s_col’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:138:12: note: ‘c_eigen_spmat_s_col’ was previously declared here
eigen_spmat_s.cpp:138:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:55:21: warning: type of ‘c_eigen_spmat_s_row’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:132:12: note: ‘c_eigen_spmat_s_row’ was previously declared here
eigen_spmat_s.cpp:132:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:54:21: warning: type of ‘c_eigen_spmat_s_clone’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:126:12: note: ‘c_eigen_spmat_s_clone’ was previously declared here
eigen_spmat_s.cpp:126:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:53:10: warning: type of ‘c_eigen_spmat_s_outerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:119:8: note: ‘c_eigen_spmat_s_outerindexptr’ was previously declared here
eigen_spmat_s.cpp:119:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:52:10: warning: type of ‘c_eigen_spmat_s_innerindexptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:112:8: note: ‘c_eigen_spmat_s_innerindexptr’ was previously declared here
eigen_spmat_s.cpp:112:8: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:51:10: warning: type of ‘c_eigen_spmat_s_valueptr’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:104:14: note: ‘c_eigen_spmat_s_valueptr’ was previously declared here
eigen_spmat_s.cpp:104:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:50:8: warning: type of ‘c_eigen_spmat_s_prune’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:99:6: note: ‘c_eigen_spmat_s_prune’ was previously declared here
eigen_spmat_s.cpp:99:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:49:8: warning: type of ‘c_eigen_spmat_s_reshape’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:93:6: note: ‘c_eigen_spmat_s_reshape’ was previously declared here
eigen_spmat_s.cpp:93:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:48:8: warning: type of ‘c_eigen_spmat_s_uncompress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:88:6: note: ‘c_eigen_spmat_s_uncompress’ was previously declared here
eigen_spmat_s.cpp:88:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:47:8: warning: type of ‘c_eigen_spmat_s_compress’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:83:6: note: ‘c_eigen_spmat_s_compress’ was previously declared here
eigen_spmat_s.cpp:83:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:46:7: warning: type of ‘c_eigen_spmat_s_is_compressed’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:78:5: note: ‘c_eigen_spmat_s_is_compressed’ was previously declared here
eigen_spmat_s.cpp:78:5: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:45:8: warning: type of ‘c_eigen_spmat_s_reset’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:73:6: note: ‘c_eigen_spmat_s_reset’ was previously declared here
eigen_spmat_s.cpp:73:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:44:8: warning: type of ‘c_eigen_spmat_s_insert’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:68:6: note: ‘c_eigen_spmat_s_insert’ was previously declared here
eigen_spmat_s.cpp:68:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:43:8: warning: type of ‘c_eigen_spmat_s_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:63:6: note: ‘c_eigen_spmat_s_set’ was previously declared here
eigen_spmat_s.cpp:63:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:42:9: warning: type of ‘c_eigen_spmat_s_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:58:13: note: ‘c_eigen_spmat_s_get’ was previously declared here
eigen_spmat_s.cpp:58:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:41:9: warning: type of ‘c_eigen_spmat_s_nnz’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:53:7: note: ‘c_eigen_spmat_s_nnz’ was previously declared here
eigen_spmat_s.cpp:53:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:40:9: warning: type of ‘c_eigen_spmat_s_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:48:7: note: ‘c_eigen_spmat_s_cols’ was previously declared here
eigen_spmat_s.cpp:48:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:39:9: warning: type of ‘c_eigen_spmat_s_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:43:7: note: ‘c_eigen_spmat_s_rows’ was previously declared here
eigen_spmat_s.cpp:43:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:38:21: warning: type of ‘c_eigen_spmat_s_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:36:12: note: ‘c_eigen_spmat_s_eye’ was previously declared here
eigen_spmat_s.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:37:8: warning: type of ‘c_eigen_spmat_s_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:31:6: note: ‘c_eigen_spmat_s_delete’ was previously declared here
eigen_spmat_s.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_spmat.h:36:21: warning: type of ‘c_eigen_spmat_s_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_spmat_s.cpp:24:12: note: ‘c_eigen_spmat_s_new’ was previously declared here
eigen_spmat_s.cpp:24:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:131:21: warning: type of ‘c_eigen_dsmat_z_inv’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:167:12: note: ‘c_eigen_dsmat_z_inv’ was previously declared here
eigen_dsmat_z.cpp:167:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:130:8: warning: type of ‘c_eigen_dsmat_z_colwise_op’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:150:6: note: ‘c_eigen_dsmat_z_colwise_op’ was previously declared here
eigen_dsmat_z.cpp:150:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:129:8: warning: type of ‘c_eigen_dsmat_z_rowwise_op’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:133:6: note: ‘c_eigen_dsmat_z_rowwise_op’ was previously declared here
eigen_dsmat_z.cpp:133:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:128:8: warning: type of ‘c_eigen_dsmat_z_swap_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:127:6: note: ‘c_eigen_dsmat_z_swap_cols’ was previously declared here
eigen_dsmat_z.cpp:127:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:127:8: warning: type of ‘c_eigen_dsmat_z_swap_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:121:6: note: ‘c_eigen_dsmat_z_swap_rows’ was previously declared here
eigen_dsmat_z.cpp:121:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:126:21: warning: type of ‘c_eigen_dsmat_z_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:115:12: note: ‘c_eigen_dsmat_z_transpose’ was previously declared here
eigen_dsmat_z.cpp:115:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:125:21: warning: type of ‘c_eigen_dsmat_z_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:108:12: note: ‘c_eigen_dsmat_z_gemm’ was previously declared here
eigen_dsmat_z.cpp:108:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:123:8: warning: type of ‘c_eigen_dsmat_z_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:101:6: note: ‘c_eigen_dsmat_z_print’ was previously declared here
eigen_dsmat_z.cpp:101:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:122:18: warning: type of ‘c_eigen_dsmat_z_data’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:96:16: note: ‘c_eigen_dsmat_z_data’ was previously declared here
eigen_dsmat_z.cpp:96:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:121:8: warning: type of ‘c_eigen_dsmat_z_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:91:6: note: type mismatch in parameter 4
eigen_dsmat.h:19:35: note: type ‘struct c_dsmat_z_elt’ should match type ‘c_dsmat_z_elt’
lib/eigen_dsmat.h:28:27: note: the incompatible type is defined here
eigen_dsmat_z.cpp:91:6: note: ‘c_eigen_dsmat_z_set’ was previously declared here
eigen_dsmat_z.cpp:91:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:120:17: warning: type of ‘c_eigen_dsmat_z_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:85:15: note: return value type mismatch
eigen_dsmat.h:19:35: note: type ‘struct c_dsmat_z_elt’ should match type ‘c_dsmat_z_elt’
lib/eigen_dsmat.h:28:27: note: the incompatible type is defined here
eigen_dsmat_z.cpp:85:15: note: ‘c_eigen_dsmat_z_get’ was previously declared here
eigen_dsmat_z.cpp:85:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:119:9: warning: type of ‘c_eigen_dsmat_z_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:80:7: note: ‘c_eigen_dsmat_z_cols’ was previously declared here
eigen_dsmat_z.cpp:80:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:118:9: warning: type of ‘c_eigen_dsmat_z_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:75:7: note: ‘c_eigen_dsmat_z_rows’ was previously declared here
eigen_dsmat_z.cpp:75:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:117:21: warning: type of ‘c_eigen_dsmat_z_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:68:12: note: ‘c_eigen_dsmat_z_eye’ was previously declared here
eigen_dsmat_z.cpp:68:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:116:21: warning: type of ‘c_eigen_dsmat_z_ones’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:62:12: note: ‘c_eigen_dsmat_z_ones’ was previously declared here
eigen_dsmat_z.cpp:62:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:115:21: warning: type of ‘c_eigen_dsmat_z_zeros’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:55:12: note: ‘c_eigen_dsmat_z_zeros’ was previously declared here
eigen_dsmat_z.cpp:55:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:114:8: warning: type of ‘c_eigen_dsmat_z_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:50:6: note: ‘c_eigen_dsmat_z_delete’ was previously declared here
eigen_dsmat_z.cpp:50:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:113:21: warning: type of ‘c_eigen_dsmat_z_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_z.cpp:45:12: note: ‘c_eigen_dsmat_z_new’ was previously declared here
eigen_dsmat_z.cpp:45:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:106:21: warning: type of ‘c_eigen_dsmat_c_inv’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:167:12: note: ‘c_eigen_dsmat_c_inv’ was previously declared here
eigen_dsmat_c.cpp:167:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:105:8: warning: type of ‘c_eigen_dsmat_c_colwise_op’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:150:6: note: ‘c_eigen_dsmat_c_colwise_op’ was previously declared here
eigen_dsmat_c.cpp:150:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:104:8: warning: type of ‘c_eigen_dsmat_c_rowwise_op’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:133:6: note: ‘c_eigen_dsmat_c_rowwise_op’ was previously declared here
eigen_dsmat_c.cpp:133:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:103:8: warning: type of ‘c_eigen_dsmat_c_swap_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:127:6: note: ‘c_eigen_dsmat_c_swap_cols’ was previously declared here
eigen_dsmat_c.cpp:127:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:102:8: warning: type of ‘c_eigen_dsmat_c_swap_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:121:6: note: ‘c_eigen_dsmat_c_swap_rows’ was previously declared here
eigen_dsmat_c.cpp:121:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:101:21: warning: type of ‘c_eigen_dsmat_c_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:115:12: note: ‘c_eigen_dsmat_c_transpose’ was previously declared here
eigen_dsmat_c.cpp:115:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:100:21: warning: type of ‘c_eigen_dsmat_c_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:108:12: note: ‘c_eigen_dsmat_c_gemm’ was previously declared here
eigen_dsmat_c.cpp:108:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:98:8: warning: type of ‘c_eigen_dsmat_c_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:101:6: note: ‘c_eigen_dsmat_c_print’ was previously declared here
eigen_dsmat_c.cpp:101:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:97:18: warning: type of ‘c_eigen_dsmat_c_data’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:96:16: note: ‘c_eigen_dsmat_c_data’ was previously declared here
eigen_dsmat_c.cpp:96:16: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:96:8: warning: type of ‘c_eigen_dsmat_c_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:91:6: note: type mismatch in parameter 4
eigen_dsmat.h:18:34: note: type ‘struct c_dsmat_c_elt’ should match type ‘c_dsmat_c_elt’
lib/eigen_dsmat.h:27:26: note: the incompatible type is defined here
eigen_dsmat_c.cpp:91:6: note: ‘c_eigen_dsmat_c_set’ was previously declared here
eigen_dsmat_c.cpp:91:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:95:17: warning: type of ‘c_eigen_dsmat_c_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:85:15: note: return value type mismatch
eigen_dsmat.h:18:34: note: type ‘struct c_dsmat_c_elt’ should match type ‘c_dsmat_c_elt’
lib/eigen_dsmat.h:27:26: note: the incompatible type is defined here
eigen_dsmat_c.cpp:85:15: note: ‘c_eigen_dsmat_c_get’ was previously declared here
eigen_dsmat_c.cpp:85:15: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:94:9: warning: type of ‘c_eigen_dsmat_c_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:80:7: note: ‘c_eigen_dsmat_c_cols’ was previously declared here
eigen_dsmat_c.cpp:80:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:93:9: warning: type of ‘c_eigen_dsmat_c_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:75:7: note: ‘c_eigen_dsmat_c_rows’ was previously declared here
eigen_dsmat_c.cpp:75:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:92:21: warning: type of ‘c_eigen_dsmat_c_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:68:12: note: ‘c_eigen_dsmat_c_eye’ was previously declared here
eigen_dsmat_c.cpp:68:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:91:21: warning: type of ‘c_eigen_dsmat_c_ones’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:62:12: note: ‘c_eigen_dsmat_c_ones’ was previously declared here
eigen_dsmat_c.cpp:62:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:90:21: warning: type of ‘c_eigen_dsmat_c_zeros’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:55:12: note: ‘c_eigen_dsmat_c_zeros’ was previously declared here
eigen_dsmat_c.cpp:55:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:89:8: warning: type of ‘c_eigen_dsmat_c_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:50:6: note: ‘c_eigen_dsmat_c_delete’ was previously declared here
eigen_dsmat_c.cpp:50:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:88:21: warning: type of ‘c_eigen_dsmat_c_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_c.cpp:45:12: note: ‘c_eigen_dsmat_c_new’ was previously declared here
eigen_dsmat_c.cpp:45:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:81:21: warning: type of ‘c_eigen_dsmat_d_inv’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:147:12: note: ‘c_eigen_dsmat_d_inv’ was previously declared here
eigen_dsmat_d.cpp:147:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:76:21: warning: type of ‘c_eigen_dsmat_d_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:95:12: note: ‘c_eigen_dsmat_d_transpose’ was previously declared here
eigen_dsmat_d.cpp:95:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:75:21: warning: type of ‘c_eigen_dsmat_d_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:88:12: note: ‘c_eigen_dsmat_d_gemm’ was previously declared here
eigen_dsmat_d.cpp:88:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:73:8: warning: type of ‘c_eigen_dsmat_d_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:81:6: note: ‘c_eigen_dsmat_d_print’ was previously declared here
eigen_dsmat_d.cpp:81:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:72:16: warning: type of ‘c_eigen_dsmat_d_data’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:76:14: note: ‘c_eigen_dsmat_d_data’ was previously declared here
eigen_dsmat_d.cpp:76:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:71:8: warning: type of ‘c_eigen_dsmat_d_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:71:6: note: ‘c_eigen_dsmat_d_set’ was previously declared here
eigen_dsmat_d.cpp:71:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:70:15: warning: type of ‘c_eigen_dsmat_d_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:66:13: note: ‘c_eigen_dsmat_d_get’ was previously declared here
eigen_dsmat_d.cpp:66:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:69:9: warning: type of ‘c_eigen_dsmat_d_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:61:7: note: ‘c_eigen_dsmat_d_cols’ was previously declared here
eigen_dsmat_d.cpp:61:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:68:9: warning: type of ‘c_eigen_dsmat_d_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:56:7: note: ‘c_eigen_dsmat_d_rows’ was previously declared here
eigen_dsmat_d.cpp:56:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:67:21: warning: type of ‘c_eigen_dsmat_d_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:49:12: note: ‘c_eigen_dsmat_d_eye’ was previously declared here
eigen_dsmat_d.cpp:49:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:66:21: warning: type of ‘c_eigen_dsmat_d_ones’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:43:12: note: ‘c_eigen_dsmat_d_ones’ was previously declared here
eigen_dsmat_d.cpp:43:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:65:21: warning: type of ‘c_eigen_dsmat_d_zeros’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:36:12: note: ‘c_eigen_dsmat_d_zeros’ was previously declared here
eigen_dsmat_d.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:64:8: warning: type of ‘c_eigen_dsmat_d_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:31:6: note: ‘c_eigen_dsmat_d_delete’ was previously declared here
eigen_dsmat_d.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:63:21: warning: type of ‘c_eigen_dsmat_d_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_d.cpp:26:12: note: ‘c_eigen_dsmat_d_new’ was previously declared here
eigen_dsmat_d.cpp:26:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:56:21: warning: type of ‘c_eigen_dsmat_s_inv’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:159:12: note: ‘c_eigen_dsmat_s_inv’ was previously declared here
eigen_dsmat_s.cpp:159:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:51:21: warning: type of ‘c_eigen_dsmat_s_transpose’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:109:12: note: ‘c_eigen_dsmat_s_transpose’ was previously declared here
eigen_dsmat_s.cpp:109:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:50:21: warning: type of ‘c_eigen_dsmat_s_gemm’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:102:12: note: ‘c_eigen_dsmat_s_gemm’ was previously declared here
eigen_dsmat_s.cpp:102:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:48:8: warning: type of ‘c_eigen_dsmat_s_print’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:95:6: note: ‘c_eigen_dsmat_s_print’ was previously declared here
eigen_dsmat_s.cpp:95:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:47:8: warning: type of ‘c_eigen_dsmat_s_of_bigarray2’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:89:6: note: ‘c_eigen_dsmat_s_of_bigarray2’ was previously declared here
eigen_dsmat_s.cpp:89:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:46:21: warning: type of ‘c_eigen_dsmat_s_of_bigarray’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:82:12: note: ‘c_eigen_dsmat_s_of_bigarray’ was previously declared here
eigen_dsmat_s.cpp:82:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:45:16: warning: type of ‘c_eigen_dsmat_s_data’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:76:14: note: ‘c_eigen_dsmat_s_data’ was previously declared here
eigen_dsmat_s.cpp:76:14: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:44:8: warning: type of ‘c_eigen_dsmat_s_set’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:71:6: note: ‘c_eigen_dsmat_s_set’ was previously declared here
eigen_dsmat_s.cpp:71:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:43:15: warning: type of ‘c_eigen_dsmat_s_get’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:66:13: note: ‘c_eigen_dsmat_s_get’ was previously declared here
eigen_dsmat_s.cpp:66:13: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:42:9: warning: type of ‘c_eigen_dsmat_s_cols’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:61:7: note: ‘c_eigen_dsmat_s_cols’ was previously declared here
eigen_dsmat_s.cpp:61:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:41:9: warning: type of ‘c_eigen_dsmat_s_rows’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:56:7: note: ‘c_eigen_dsmat_s_rows’ was previously declared here
eigen_dsmat_s.cpp:56:7: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:40:21: warning: type of ‘c_eigen_dsmat_s_eye’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:49:12: note: ‘c_eigen_dsmat_s_eye’ was previously declared here
eigen_dsmat_s.cpp:49:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:39:21: warning: type of ‘c_eigen_dsmat_s_ones’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:43:12: note: ‘c_eigen_dsmat_s_ones’ was previously declared here
eigen_dsmat_s.cpp:43:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:38:21: warning: type of ‘c_eigen_dsmat_s_zeros’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:36:12: note: ‘c_eigen_dsmat_s_zeros’ was previously declared here
eigen_dsmat_s.cpp:36:12: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:37:8: warning: type of ‘c_eigen_dsmat_s_delete’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:31:6: note: ‘c_eigen_dsmat_s_delete’ was previously declared here
eigen_dsmat_s.cpp:31:6: note: code may be misoptimized unless -fno-strict-aliasing is used
lib/eigen_dsmat.h:36:21: warning: type of ‘c_eigen_dsmat_s_new’ does not match original declaration [-Wlto-type-mismatch]
eigen_dsmat_s.cpp:26:12: note: ‘c_eigen_dsmat_s_new’ was previously declared here
eigen_dsmat_s.cpp:26:12: note: code may be misoptimized unless -fno-strict-aliasing is used
In member function ‘__base_ctor ’,
inlined from ‘reallocate’ at ./Eigen/src/SparseCore/CompressedStorage.h:234:38:
./Eigen/src/Core/util/Memory.h:589:13: warning: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
./Eigen/src/Core/util/Memory.h: In member function ‘reallocate’:
/usr/include/c++/7/new:122:7: note: in a call to allocation function ‘operator new []’ declared here
void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
^
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_391_LAPACKE_slagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15413: undefined reference to `LAPACKE_slagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_392_LAPACKE_dlagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15446: undefined reference to `LAPACKE_dlagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_393_LAPACKE_clagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15479: undefined reference to `LAPACKE_clagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_394_LAPACKE_zlagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15512: undefined reference to `LAPACKE_zlagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_429_LAPACKE_slatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16509: undefined reference to `LAPACKE_slatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_430_LAPACKE_dlatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16558: undefined reference to `LAPACKE_dlatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_431_LAPACKE_clatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16607: undefined reference to `LAPACKE_clatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_432_LAPACKE_zlatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16656: undefined reference to `LAPACKE_zlatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_923_LAPACKE_claghe':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33633: undefined reference to `LAPACKE_claghe'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_924_LAPACKE_zlaghe':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33661: undefined reference to `LAPACKE_zlaghe'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_925_LAPACKE_slagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33689: undefined reference to `LAPACKE_slagsy'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_926_LAPACKE_dlagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33717: undefined reference to `LAPACKE_dlagsy'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_927_LAPACKE_clagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33745: undefined reference to `LAPACKE_clagsy'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_928_LAPACKE_zlagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33773: undefined reference to `LAPACKE_zlagsy'
collect2: error: ld returned 1 exit status
File "caml_startup", line 1:
Error: Error during linking
Makefile:13: recipe for target 'build' failed
make: *** [build] Error 1
This error is caused at linking with OpenBLAS library. I assume the libopenblas-dev liblapacke-dev
libraries are both properly installed with apt-get
and can be found by the system; and that the eigen library is also installed and can already be used in utop
. This should be the one last issue before successful installation of Owl. Later tonight I'll try to find a RPi and reproduce this issue. I'll come back to you tomorrow. Sorry for the inconvenience.
Also, note that installing things in root
and using sudo
might change the system variables like PATH
and LD_LIBRARY_PATH
. Besides, sometimes run make cleanall
and then make install
again might be helpful.
I understand @jzstark and I'd also like to thank you for your pro-activeness here :)
I"m trying out the make cleanall
approach and hoping for the best🤞
As for the other libraries, I've already installed them using the package manager
root@cub:~# apt install libopenblas-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libopenblas-dev is already the newest version (0.2.20+ds-4).
0 upgraded, 0 newly installed, 0 to remove and 145 not upgraded.
root@cub:~# apt install liblapacke-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
liblapacke-dev is already the newest version (3.7.1-4ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 145 not upgraded.
For the sake of documentation, I'm reproducing everything I did at this stage.
Warning, the logs are really verbose :)
Here's the gist
https://gist.github.com/abhi18av/1f0d7bf0512b9bacce39e7db07b1d939
Thanks for the detailed information! It looks like that there is still issue installing eigen
. The only possible solution I can now think of is to remove the flto
flag when compiling eigen. Please see the updated Dockerfile. Of course, make cleanall
before installation should do no harm.
Also, please note that in this Dockerfile, line 58 is specifically for RaspberryPi, so probably you don't need it.
Another possible source of issue is the -llapack
flag in configuration. Please see #344 for detail. However, since you install those libraries with apt-get
rather than from the OpenBLAS source code, I don't think it's a very likely cause.
Anyway, by following this Dockerfile, I build a ARM docker image, without being able reproduce this issue. So if the aforementioned solution still doesn't work, could you please kindly help to provide some software / hardware platform information so that I can further investigate it. Meanwhile, you can try the ARM docker image on you machine.
I followed through with your suggestions and I'm reproducing here the commands I entered and the response I recieved,
eigen
root@cub:~# cd /root && git clone https://github.com/ryanrhymes/eigen.git
Cloning into 'eigen'...
remote: Enumerating objects: 1795, done.
remote: Total 1795 (delta 0), reused 0 (delta 0), pack-reused 1795
Receiving objects: 100% (1795/1795), 2.06 MiB | 3.39 MiB/s, done.
Resolving deltas: 100% (935/935), done.
root@cub:~# sed -i -- 's/-march=native -mfpmath=sse/-march=native/g' $EIGENPATH/_oasis $EIGENPATH/lib/Makefile \
> && sed -i -- 's/ar rvs/gcc-ar rvs/g' /root/eigen/lib/Makefile \
> && sed -i -- 's/-flto/ /g' $EIGENPATH/lib/Makefile \
> && sed -i -- 's/-flto/ /g' $EIGENPATH/_oasis
root@cub:~# cd eigen/
root@cub:~/eigen# git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: _oasis
modified: lib/Makefile
no changes added to commit (use "git add" and/or "git commit -a")
root@cub:~/eigen# eval $(opam config env) \
> && make -C $EIGENPATH oasis \
> && make -C $EIGENPATH && make -C $EIGENPATH install
[WARNING] Running as root is not recommended
make: Entering directory '/root/eigen'
oasis setup
ocaml setup.ml -configure
Configuration:
ocamlfind: ........................................... /root/.opam/default/bin/ocamlfind
ocamlc: .............................................. /root/.opam/default/bin/ocamlc.opt
ocamlopt: ............................................ /root/.opam/default/bin/ocamlopt.opt
ocamlbuild: .......................................... /root/.opam/default/bin/ocamlbuild
Package name: ........................................ eigen
Package version: ..................................... 0.1
os_type: ............................................. Unix
system: .............................................. linux
architecture: ........................................ arm64
ccomp_type: .......................................... cc
ocaml_version: ....................................... 4.07.1
standard_library_default: ............................ /root/.opam/default/lib/ocaml
standard_library: .................................... /root/.opam/default/lib/ocaml
standard_runtime: .................................... /root/.opam/default/bin/ocamlrun
bytecomp_c_compiler: ................................. gcc -O2 -fno-strict-aliasing -fwrapv -fPIC -D_FILE_OFFSET_BITS=64 -D_REENTRANT
native_c_compiler: ................................... gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT
model: ............................................... default
ext_obj: ............................................. .o
ext_asm: ............................................. .s
ext_lib: ............................................. .a
ext_dll: ............................................. .so
default_executable_name: ............................. a.out
systhread_supported: ................................. true
Install architecture-independent files dir: .......... /usr/local
Install architecture-dependent files in dir: ......... $prefix
User executables: .................................... $exec_prefix/bin
System admin executables: ............................ $exec_prefix/sbin
Program executables: ................................. $exec_prefix/libexec
Read-only single-machine data: ....................... $prefix/etc
Modifiable architecture-independent data: ............ $prefix/com
Modifiable single-machine data: ...................... $prefix/var
Object code libraries: ............................... $exec_prefix/lib
Read-only arch-independent data root: ................ $prefix/share
Read-only architecture-independent data: ............. $datarootdir
Info documentation: .................................. $datarootdir/info
Locale-dependent data: ............................... $datarootdir/locale
Man documentation: ................................... $datarootdir/man
Documentation root: .................................. $datarootdir/doc/$pkg_name
HTML documentation: .................................. $docdir
DVI documentation: ................................... $docdir
PDF documentation: ................................... $docdir
PS documentation: .................................... $docdir
findlib_version: ..................................... 1.8.0
is_native: ........................................... true
suffix_program: ......................................
Remove a file.: ...................................... rm -f
Remove a directory.: ................................. rm -rf
Turn ocaml debug flag on: ............................ true
Turn ocaml profile flag on: .......................... false
Compiler support generation of .cmxs.: ............... true
OCamlbuild additional flags: .........................
Create documentations: ............................... true
Compile tests executable and library and run them: ... false
pkg_ctypes: .......................................... /root/.opam/default/lib/ctypes
pkg_ctypes_stubs: .................................... /root/.opam/default/lib/ctypes
make: Leaving directory '/root/eigen'
make: Entering directory '/root/eigen'
ocaml setup.ml -build
make[1]: Entering directory '/root/eigen/lib'
g++ -O3 -std=c++11 -I. -I./unsupported/ -c -fPIC -ansi -Wno-extern-c-compat -Wno-c++11-long-long -Wno-invalid-partial-specialization -Ofast
-march=native -funroll-loops -ffast-math eigen_tensor.cpp -o eigen_tensor.o
g++ -O3 -std=c++11 -I. -c -fPIC -ansi -Wno-extern-c-compat -Wno-c++11-long-long -Wno-invalid-partial-specialization -Ofast -march=native -funroll-loops -ffast-math eigen_dsmat.cpp -o eigen_dsmat.o
g++ -O3 -std=c++11 -I. -c -fPIC -ansi -Wno-extern-c-compat -Wno-c++11-long-long -Wno-invalid-partial-specialization -Ofast -march=native -funroll-loops -ffast-math eigen_spmat.cpp -o eigen_spmat.o
gcc-ar rvs libeigen.a eigen_dsmat.o eigen_spmat.o eigen_tensor.o
/usr/bin/ar: creating libeigen.a
a - eigen_dsmat.o
a - eigen_spmat.o
a - eigen_tensor.o
make[1]: Leaving directory '/root/eigen/lib'
make[1]: Entering directory '/root/eigen/lib'
rm -rf _build *.byte *.a *.o *.so *.cmo *.cmi
make[1]: Leaving directory '/root/eigen/lib'
/root/eigen
Finished, 1 target (0 cached) in 00:00:03.
Finished, 53 targets (0 cached) in 00:00:32.
Phew ... it is done!
make: Leaving directory '/root/eigen'
make: Entering directory '/root/eigen'
ocaml setup.ml -uninstall
ocaml setup.ml -install
Installed /root/.opam/default/lib/eigen/eigen.ml
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.ml
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.ml
Installed /root/.opam/default/lib/eigen/eigen_types.ml
Installed /root/.opam/default/lib/eigen/eigen_utils.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.ml
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.ml
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.ml
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.ml
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.ml
Installed /root/.opam/default/lib/eigen/libeigen_stubs.a
Installed /root/.opam/default/lib/eigen/eigen.cma
Installed /root/.opam/default/lib/eigen/eigen.cmxa
Installed /root/.opam/default/lib/eigen/eigen.a
Installed /root/.opam/default/lib/eigen/eigen.cmxs
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.cmi
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.cmt
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.annot
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.cmi
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.cmt
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.annot
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.cmi
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.cmt
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.annot
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.cmi
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.cmt
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.annot
Installed /root/.opam/default/lib/eigen/eigen_utils.cmi
Installed /root/.opam/default/lib/eigen/eigen_utils.cmt
Installed /root/.opam/default/lib/eigen/eigen_utils.annot
Installed /root/.opam/default/lib/eigen/eigen_types.cmi
Installed /root/.opam/default/lib/eigen/eigen_types.cmt
Installed /root/.opam/default/lib/eigen/eigen_types.annot
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.cmi
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.cmt
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.annot
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.cmi
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.cmt
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.annot
Installed /root/.opam/default/lib/eigen/eigen.cmi
Installed /root/.opam/default/lib/eigen/eigen.cmt
Installed /root/.opam/default/lib/eigen/eigen.annot
Installed /root/.opam/default/lib/eigen/eigen_tensor_d.cmx
Installed /root/.opam/default/lib/eigen/eigen_tensor_s.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_z.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_c.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_d.cmx
Installed /root/.opam/default/lib/eigen/eigen_spmat_s.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_z.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_c.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_d.cmx
Installed /root/.opam/default/lib/eigen/eigen_dsmat_s.cmx
Installed /root/.opam/default/lib/eigen/eigen_utils.cmx
Installed /root/.opam/default/lib/eigen/eigen_types.cmx
Installed /root/.opam/default/lib/eigen/ffi_eigen_generated.cmx
Installed /root/.opam/default/lib/eigen/ffi_eigen_bindings.cmx
Installed /root/.opam/default/lib/eigen/eigen.cmx
Installed /root/.opam/default/lib/stublibs/dlleigen_stubs.so
Installed /root/.opam/default/lib/stublibs/dlleigen_stubs.so.owner
ocamlfind: [WARNING] You have installed DLLs but the directory /root/.opam/default/lib/stublibs is not mentioned in ld.conf
Installed /root/.opam/default/lib/eigen/META
make: Leaving directory '/root/eigen'
root@cub:~/eigen# cp $EIGENPATH/_build/include/libeigen.a /usr/local/lib
owl
root@cub:~# OWLPATH=/root/owl
root@cub:~# cd /root && git clone https://github.com/ryanrhymes/owl.git
Cloning into 'owl'...
remote: Enumerating objects: 38, done.
remote: Counting objects: 100% (38/38), done.
remote: Compressing objects: 100% (31/31), done.
remote: Total 33997 (delta 14), reused 13 (delta 7), pack-reused 33959
Receiving objects: 100% (33997/33997), 12.37 MiB | 6.92 MiB/s, done.
Resolving deltas: 100% (25491/25491), done.
root@cub:~/owl# sed -i -- 's/-mfpmath=sse//g' $OWLPATH/src/owl/config/configure.ml \
> && sed -i -- 's/-msse2//g' $OWLPATH/src/owl/config/configure.ml
root@cub:~/owl# cd $OWLPATH && eval `opam config env ` && make && make install
[WARNING] Running as root is not recommended
dune external-lib-deps --missing @install @runtest
dune build @install
ocamlc bin/owl_bin_zoo.bc (exit 2)
(cd _build/default && /root/.opam/default/bin/ocamlc.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -safe-string -g -o bin/owl_bin_zoo.bc -linkall -I /root/.opam/default/lib/bytes -I /root/.opam/default/lib/ctypes -I /root/.opam/default/lib/eigen -I /root/.opam/default/lib/integers -I /root/.opam/default/lib/ocaml-compiler-libs/toplevel -I /root/.opam/default/lib/ocaml/compiler-libs -I /root/.opam/default/lib/plplot -I src/base -I src/owl -I src/zoo /root/.opam/default/lib/ocaml/unix.cma /root/.opam/default/lib/ocaml/bigarray.cma /root/.opam/default/lib/integers/integers.cma /root/.opam/default/lib/ctypes/ctypes.cma /root/.opam/default/lib/ocaml/str.cma /root/.opam/default/lib/ctypes/cstubs.cma /root/.opam/default/lib/eigen/eigen.cma src/base/owl_base.cma /root/.opam/default/lib/plplot/plplot.cma src/owl/owl.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamlcommon.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamlbytecomp.cma /root/.opam/default/lib/ocaml/compiler-libs/ocamltoplevel.cma /root/.opam/default/lib/ocaml-compiler-libs/toplevel/ocaml_toplevel.cma src/zoo/owl_zoo.cma bin/.owl_bin_zoo.eobjs/owl_bin_zoo.cmo)
File "_none_", line 1:
Error: Error on dynamically loaded library: ./src/owl/dllowl_stubs.so: ./src/owl/dllowl_stubs.so: undefined symbol: LAPACKE_dlagsy
ocamlopt bin/owl_bin_viz.exe (exit 2)
(cd _build/default && /root/.opam/default/bin/ocamlopt.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -safe-string -g -o bin/owl_bin_viz.exe -linkall -I /root/.opam/default/lib/bytes -I /root/.opam/default/lib/ctypes -I /root/.opam/default/lib/eigen -I /root/.opam/default/lib/integers -I /root/.opam/default/lib/plplot -I src/base -I src/owl /root/.opam/default/lib/ocaml/unix.cmxa /root/.opam/default/lib/ocaml/bigarray.cmxa /root/.opam/default/lib/integers/integers.cmxa /root/.opam/default/lib/ctypes/ctypes.cmxa /root/.opam/default/lib/ocaml/str.cmxa /root/.opam/default/lib/ctypes/cstubs.cmxa /root/.opam/default/lib/eigen/eigen.cmxa src/base/owl_base.cmxa /root/.opam/default/lib/plplot/plplot.cmxa src/owl/owl.cmxa bin/.owl_bin_viz.eobjs/owl_bin_viz.cmx)
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_391_LAPACKE_slagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15413: undefined reference to `LAPACKE_slagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_392_LAPACKE_dlagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15446: undefined reference to `LAPACKE_dlagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_393_LAPACKE_clagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15479: undefined reference to `LAPACKE_clagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_394_LAPACKE_zlagge':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:15512: undefined reference to `LAPACKE_zlagge'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_429_LAPACKE_slatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16509: undefined reference to `LAPACKE_slatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_430_LAPACKE_dlatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16558: undefined reference to `LAPACKE_dlatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_431_LAPACKE_clatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16607: undefined reference to `LAPACKE_clatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_432_LAPACKE_zlatms':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:16656: undefined reference to `LAPACKE_zlatms'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_923_LAPACKE_claghe':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33633: undefined reference to `LAPACKE_claghe'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_924_LAPACKE_zlaghe':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33661: undefined reference to `LAPACKE_zlaghe'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_925_LAPACKE_slagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33689: undefined reference to `LAPACKE_slagsy'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_926_LAPACKE_dlagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33717: undefined reference to `LAPACKE_dlagsy'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_927_LAPACKE_clagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33745: undefined reference to `LAPACKE_clagsy'
src/owl/libowl_stubs.a(owl_lapacke_generated_stub.o): In function `owl_stub_928_LAPACKE_zlagsy':
/root/owl/_build/default/src/owl/src/owl/lapacke/owl_lapacke_generated_stub.c:33773: undefined reference to `LAPACKE_zlagsy'
collect2: error: ld returned 1 exit status
File "caml_startup", line 1:
Error: Error during linking
Makefile:13: recipe for target 'build' failed
make: *** [build] Error 1
root@cub:~/owl#
I followed this guide here for the system information https://vitux.com/get-linux-system-and-hardware-details-on-the-command-line/
System informations
root@cub:~# uname -a
Linux cub 4.4.127-mainline-rev1 #1 SMP Sun Apr 8 10:44:07 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
root@cub:~# lshw
cub
description: Computer
product: KVM Virtual Machine
vendor: QEMU
version: 1.0
width: 64 bits
capabilities: smbios-3.0 dmi-3.0 smp cp15_barrier setend swp
configuration: boot=normal
*-core
description: Motherboard
physical id: 0
*-cpu:0
description: CPU
vendor: QEMU
physical id: 400
bus info: cpu@0
version: 1.0
slot: CPU 0
size: 2GHz
capacity: 2GHz
configuration: cores=1 enabledcores=1 threads=1
*-cpu:1
description: CPU
vendor: QEMU
physical id: 401
bus info: cpu@1
version: 1.0
slot: CPU 1
size: 2GHz
capacity: 2GHz
configuration: cores=1 enabledcores=1 threads=1
*-cpu:2
description: CPU
vendor: QEMU
physical id: 402
bus info: cpu@2
version: 1.0
slot: CPU 2
size: 2GHz
capacity: 2GHz
configuration: cores=1 enabledcores=1 threads=1
*-cpu:3
description: CPU
vendor: QEMU
physical id: 403
bus info: cpu@3
version: 1.0
slot: CPU 3
size: 2GHz
capacity: 2GHz
configuration: cores=1 enabledcores=1 threads=1
*-memory
description: System Memory
physical id: 1000
size: 2GiB
capacity: 2GiB
capabilities: ecc
configuration: errordetection=multi-bit-ecc
*-bank
description: DIMM RAM
vendor: QEMU
physical id: 0
slot: DIMM 0
size: 2GiB
*-firmware
description: BIOS
vendor: EFI Development Kit II / OVMF
physical id: 0
version: 0.0.0
date: 02/06/2015
size: 96KiB
capabilities: uefi virtualmachine
*-cpu:4 DISABLED
description: CPU
product: cpu
physical id: 1
bus info: cpu@0
*-cpu:5 DISABLED
description: CPU
product: cpu
physical id: 2
bus info: cpu@1
*-cpu:6 DISABLED
description: CPU
product: cpu
physical id: 3
bus info: cpu@2
*-cpu:7 DISABLED
description: CPU
product: cpu
physical id: 4
bus info: cpu@3
*-pci
description: Host bridge
product: Red Hat, Inc.
vendor: Red Hat, Inc.
physical id: 100
bus info: pci@0000:00:00.0
version: 00
width: 32 bits
clock: 33MHz
*-network
description: Ethernet controller
product: Virtio network device
vendor: Red Hat, Inc
physical id: 1
bus info: pci@0000:00:01.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: msix bus_master cap_list rom
configuration: driver=virtio-pci latency=0
resources: irq:48 ioport:f040(size=32) memory:3ee09000-3ee09fff memory:3ee00000-3ee03fff memory:fffc0000-ffffffff
*-virtio0
description: Ethernet interface
physical id: 0
bus info: virtio@0
logical name: enp0s1
serial: de:19:88:09:00:01
capabilities: ethernet physical
configuration: broadcast=yes driver=virtio_net driverversion=1.0.0 ip=10.10.43.1 link=yes multicast=yes
*-scsi
description: SCSI storage controller
product: Virtio block device
vendor: Red Hat, Inc
physical id: 2
bus info: pci@0000:00:02.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: scsi msix bus_master cap_list
configuration: driver=virtio-pci latency=0
resources: irq:49 ioport:f000(size=64) memory:3ee08000-3ee08fff memory:3ee04000-3ee07fff
*-virtio1
description: Virtual I/O device
physical id: 0
bus info: virtio@1
logical name: /dev/vda
size: 46GiB (50GB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: driver=virtio_blk guid=8cda79c8-9531-4fdb-acb1-a7a88051b273 logicalsectorsize=512 sectorsize=512
*-volume:0
description: EXT4 volume
vendor: Linux
physical id: 1
bus info: virtio@1,1
logical name: /dev/vda1
logical name: /
version: 1.0
serial: 342f59d6-bd1e-47bd-b0a2-b79dd67e0254
size: 46GiB
capacity: 46GiB
capabilities: journaled extended_attributes large_files huge_files dir_nlink recover extents ext4 ext2 initialized
configuration: created=2018-07-03 13:30:10 filesystem=ext4 label=root lastmountpoint=/newroot modified=2019-01-27 06:18:28 mount.fstype=ext4 mount.options=rw,relatime,data=ordered mounted=2019-01-27 06:18:28 name=root state=mounted
*-volume:1
description: Windows FAT volume
vendor: mkfs.fat
physical id: f
bus info: virtio@1,15
logical name: /dev/vda15
logical name: /boot/efi
version: FAT32
serial: a652-993e
size: 98MiB
capacity: 99MiB
capabilities: boot fat initialized
configuration: FATs=2 filesystem=fat mount.fstype=vfat mount.options=rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro name=efisystem state=mounted
*-network
description: Ethernet interface
physical id: 1
logical name: docker0
serial: 02:42:09:c5:5a:61
capabilities: ethernet physical
configuration: broadcast=yes driver=bridge driverversion=2.3 firmware=N/A ip=172.17.0.1 link=no multicast=yes
root@cub:~# lscpu
Architecture: aarch64
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Vendor ID: Cavium
Model: 1
Model name: ThunderX 88XX
Stepping: 0x1
BogoMIPS: 200.00
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics
root@cub:~#
Also, I'm using the Scaleway
- ARM64-v8
server for trying things out
@abhi18av eigen master branch and the current master branch of owl allow to override all the C and CPP flags by setting the right env variables (refer to owl and eigen's readmes for the names and the default values). Does this solve your issue?
The issue seems solved to me, closing it now. But feel free to reopen in case the issue is still there.
Hello @ryanrhymes and @mseri , I'll give it a go today.
Could you tell me which flags to override? I'm a bit lost at the moment, however my ARM server is all set to go.
Manually compile and install openblas if you are using ubuntu, it should go in /opt/OpenBlas by default I think.look where it imstalls the pkgconfig configuration, usually in “prefix/lib/pkgconfig” but you need to double check.
From the beginning of the discussion above i see that one issue was gcc: error: unrecognized command line option ‘-mfpmath=sse’
, so I would say look on eigen and owl readmes the default flags and remove that option from them (and incrementally any other failing one).
Then run
opam remove eigen owl-base # add owl if it is also installed
opam update
PKG_CONFIG_PATH=/path/to/nnee/openblas/lib/pkgconfig \
EIGENCPP_OPTFLAGS=“your set of flags” \
EIGEN_FLAGS=“Your set of flags” \
OWL_CFLAGS=“your set of flags” \
opam install eigen owl owl-base
We probably need to dedicate one chapter in ocaml.xyz online doc to explain and demo the new installation demo process, this page is quite outdated now: http://ocaml.xyz/chapter/install.html
@abhi18av Can you check if what we do in https://github.com/owlbarn/owl/blob/master/docker/Dockerfile.ubuntu.arm is enough for the build to work?
If not we may also need to recompile openblas as done in https://github.com/owlbarn/owl/blob/master/docker/Dockerfile.ubuntu
Hi Marcello, please give me time till tomorrow and I shall check. This week turned out to be a busy one due to a family function.
Apologies for the delay.
From: Marcello Seri notifications@github.com Sent: sábado, 9 de março de 2019 13:07 To: owlbarn/owl owl@noreply.github.com Cc: Abhinav Sharma abhi18av@gmail.com; Mention mention@noreply.github.com Subject: Re: [owlbarn/owl] Unable to build owl on ARM v8 architecture (#354)
@abhi18av https://github.com/abhi18av Can you check if what we do in https://github.com/owlbarn/owl/blob/master/docker/Dockerfile.ubuntu.arm is enough for the build to work?
If not we may also need to recompile openblas as done in https://github.com/owlbarn/owl/blob/master/docker/Dockerfile.ubuntu
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/owlbarn/owl/issues/354#issuecomment-471195961 , or mute the thread https://github.com/notifications/unsubscribe-auth/AMNNXqEoo6rfnkvyog9oUvb0Qs9juSGBks5vU9wMgaJpZM4aUVIa .
@abhi18av Absolutely. Take your time, there is no hurry, don’t worry!
Hi OWL Team
I'm trying to setup a scaleway ARM-64 server for OCaml and OWL experimentation and almost everything installs correctly - apart from the
eigen
folder.I've installed the
dev
package inubuntu-18.04
via the following commandHere's the build log
Could you please help me figure out what's the problem?