Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation Error: sudo make -j2 The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core. #255

Closed
mainguyenanhvu opened this issue May 7, 2024 · 5 comments

Comments

@mainguyenanhvu
Copy link

Issue summary

[ 0%] Built target libmolgrid
[ 1%] Generating _version.cpp
[ 1%] Generating version.cpp
[ 1%] Generating _version.cpp
[ 2%] Building CXX object gninasrc/CMakeFiles/gninalibobj.dir/lib/atom_constants.cpp.o
[ 3%] Building CUDA object gninasrc/CMakeFiles/gninalibobj.dir/lib/bfgs.cu.o
In file included from /usr/include/c++/11/tuple:39,
from /usr/include/c++/11/functional:54,
from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
from /usr/include/c++/11/algorithm:74,
from /mnt/d/Z/gnina/gninasrc/lib/common.h:30,
from /mnt/d/Z/gnina/gninasrc/lib/atom_constants.h:26,
from /mnt/d/Z/gnina/gninasrc/lib/atom_constants.cpp:1:
/mnt/d/Z/gnina/gninasrc/../Eigen/array:8:4: error: #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core.
8 | #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core.
| ^~~~~
In file included from /usr/include/c++/11/tuple:39,
from /usr/include/c++/11/functional:54,
from /usr/local/cuda-12/include/cuda_runtime.h:122,
from :
/mnt/d/Z/gnina/gninasrc/../Eigen/array:8:4: error: #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core.
8 | #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core.
| ^~~~~
In file included from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
from /usr/include/c++/11/algorithm:74,
from /mnt/d/Z/gnina/gninasrc/lib/common.h:30,
from /mnt/d/Z/gnina/gninasrc/lib/atom_constants.h:26,
from /mnt/d/Z/gnina/gninasrc/lib/atom_constants.cpp:1:
/usr/include/c++/11/functional:1097:13: error: ‘array’ was not declared in this scope; did you mean ‘valarray’?
1097 | tuple<array<_Tp, _Len>, _Pred> _M_bad_char;
| ^~~~~
| valarray
/usr/include/c++/11/functional:1097:28: error: template argument 1 is invalid
1097 | tuple<array<_Tp, _Len>, _Pred> _M_bad_char;
| ^
/usr/include/c++/11/functional:1097:28: error: template argument 2 is invalid
/usr/include/c++/11/functional:1097:29: error: expected unqualified-id before ‘,’ token
1097 | tuple<array<_Tp, _Len>, _Pred> _M_bad_char;
| ^
/usr/include/c++/11/functional: In constructor ‘std::__boyer_moore_array_base<_Tp, _Len, _Pred>::__boyer_moore_array_base(_RAIter, std::size_t, _Unused&&, _Pred&&)’:
/usr/include/c++/11/functional:1069:11: error: class ‘std::__boyer_moore_array_base<_Tp, _Len, _Pred>’ does not have any field named ‘_M_bad_char’
1069 | : _M_bad_char{ array<_Tp, _Len>{}, std::move(__pred) }
| ^~~~~~~~~~~
/usr/include/c++/11/functional:1069:24: error: ‘array’ was not declared in this scope; did you mean ‘valarray’?
1069 | : _M_bad_char{ array<_Tp, _Len>{}, std::move(__pred) }
| ^~~~~
| valarray
/usr/include/c++/11/functional:1069:33: error: expected primary-expression before ‘,’ token
1069 | : _M_bad_char{ array<_Tp, _Len>{}, std::move(__pred) }
| ^
/usr/include/c++/11/functional:1069:40: error: expected primary-expression before ‘{’ token
1069 | : _M_bad_char{ array<_Tp, _Len>{}, std::move(__pred) }
| ^
/usr/include/c++/11/functional:1069:40: error: expected ‘}’ before ‘{’ token
/usr/include/c++/11/functional:1069:22: note: to match this ‘{’
1069 | : _M_bad_char{ array<_Tp, _Len>{}, std::move(__pred) }
| ^
/usr/include/c++/11/functional: In member function ‘std::__boyer_moore_array_base<_Tp, _Len, _Pred>::__diff_type std::__boyer_moore_array_base<_Tp, _Len, _Pred>::_M_lookup(_Key, std::__boyer_moore_array_base<_Tp, _Len, _Pred>::__diff_type) const’:
/usr/include/c++/11/functional:1091:30: error: ‘_M_bad_char’ was not declared in this scope; did you mean ‘__is_char’?
1091 | return std::get<0>(_M_bad_char)[__ukey];
| ^~~~~~~~~~~
| __is_char
/usr/include/c++/11/functional: In member function ‘const _Pred& std::__boyer_moore_array_base<_Tp, _Len, _Pred>::_M_pred() const’:
/usr/include/c++/11/functional:1095:44: error: ‘_M_bad_char’ was not declared in this scope; did you mean ‘__is_char’?
1095 | _M_pred() const { return std::get<1>(_M_bad_char); }
| ^~~~~~~~~~~
| __is_char
make[2]: * [gninasrc/CMakeFiles/gninalibobj.dir/build.make:424: gninasrc/CMakeFiles/gninalibobj.dir/lib/atom_constants.cpp.o] Error 1
make[2]: * Waiting for unfinished jobs....
make[2]: * [gninasrc/CMakeFiles/gninalibobj.dir/build.make:439: gninasrc/CMakeFiles/gninalibobj.dir/lib/bfgs.cu.o] Error 1
make[1]: * [CMakeFiles/Makefile2:965: gninasrc/CMakeFiles/gninalibobj.dir/all] Error 2
make: * [Makefile:146: all] Error 2

Steps to reproduce

  1. Create conda env: conda create -c conda-forge -c gnina -n gnina python=3.10 zlib rdkit pytest numpy
  2. Install cmake version 3.29 as this guide
  3. Install openbabel and libmolgrid as README. (with sudo make)
  4. cd gnina/build
  5. cmake ..
  6. sudo make -j2

Your system configuration

Operating system: WSL2 Ubuntu 22.04
Compiler: gcc 11.4.0
CUDA version (if applicable): 12.4
CUDNN version (if applicable): 9.0.0
Python version: 3.10.14

@dkoes
Copy link
Contributor

dkoes commented May 7, 2024

Duplicate #215

@dkoes dkoes closed this as completed May 7, 2024
@mainguyenanhvu
Copy link
Author

@dkoes please help me to solve it. Thank you very much.

@dkoes
Copy link
Contributor

dkoes commented May 7, 2024

If you provide a self-contained, reproducible example (e.g., a Docker container) I can look into it.

@mainguyenanhvu
Copy link
Author

@dkoes What do you mean about self-contained? Is it docker image? I installed in WSL2 Ubuntu 22.04 from Windows 11. I think if it fail, there is no docker image built.

@demos57
Copy link

demos57 commented May 9, 2024

WSL is a virtual machine and the Ubuntu runs on it. The problems may are related to the version of cmake... The current version of cmake 3.28 does not give any errors, provided that prerequisites are satisfied.
Few remarks about WSL of Windows 10 & 11:

  1. In fact the Windows Subsystem for Linux (WSL) is a virtualization embedded in the Windows operating system, which allows smooth deployment of Linux distributions such as the Ubuntu 22.04.
  2. Gnina can be built in the client Linux environment following the README instructions.
  3. Alternately, the binary version can be directly copied and run in guest Linux distro.
  4. There is a Docker version for WSL, that allows Linux based containers to run inside Windows. It is promising, but not there yet: I had some issues with some containers, so I prefer the direct installation in the guest Linux guest system.

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

No branches or pull requests

3 participants