deephealthproject / eddl

European Distributed Deep Learning (EDDL) library. A general-purpose library initially developed to cover deep learning needs in healthcare use cases within the DeepHealth project.
https://deephealthproject.github.io/eddl/
MIT License
34 stars 10 forks source link

Cannot compile due to Eigen #121

Closed salvacarrion closed 4 years ago

salvacarrion commented 4 years ago

Workaround: This is not common. Nevertheless, you can avoid this issue by using a conda environment.

In some systems, I get this error when compiling the EDDL:

In file included from /usr/include/eigen3/Eigen/Dense:1:0,
                 from /home/.../eddl/src/hardware/gpu/../../tensor/tensor.h:20,
                 from /home/.../eddl/src/hardware/gpu/gpu_hw.h:19,
                 from /home/.../eddl/src/hardware/gpu/gpu_da.cu:17:
/usr/include/eigen3/Eigen/Core:42:14: fatal error: math_functions.hpp: No such file or directory
     #include <math_functions.hpp>

Here, Eigen has been installed from source (stable 3.3.7) and also, through sudo apt install libeigen3-dev

salvacarrion commented 4 years ago

I don't know exactly what and why this happens sometimes, but to fix it do this:

  1. Remove build folder (eg.: build, cmake-build-debug, cmake-build-release, etc)
  2. Uninstall Eigen (double-check it) + purge
  3. Make sure you don't have conflicts with an environment (eg.: conda deactivate)
  4. Install Eigen3 (again; try Eigen3 stable 3.3.7)
  5. For IDEs => Invalidate caches and restart
  6. Compile the EDDL library again