-
Notifications
You must be signed in to change notification settings - Fork 65
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
Remove need for downstream codes to have Eigen3 installed #799
Comments
This could be more challenging that originally anticipated. It might require changes in MOAB instead. DAGMC currently does require some MOAB headers to be included in |
Is there a lightweight alternative to MOAB that could be used in place of it? Or, could we selectively include only the necessary headers from MOAB instead of building the entire library? |
According to MOAB documentation, Eigen3 is an optional dependency for MOAB only if TempestRemap tools are not to be built. Are we using TempestRemap? If not, we can remove Eigen3. |
Eigen3 is the preferred solution. This issue is not about removing Eigen3 as a dependency. This issue is about changing how we use it in careful ways to avoid forcing all downstream codes to need direct access to Eigen3. |
From what I understand, to address the issue of Eigen3 being included in header files of MOAB and DAGMC that are required by downstream apps, we need to follow these steps:
|
Probably need to start in MOAB. |
Describe the Bug
Currently, any downstream code that links to DAGMC must have Eigen3 installed even if it has no direct dependence on Eigen3. Eigen3 is a source-code-header only library, so should be compiled into DAGMC libraries and not necessary to build dependent projects. This problem exists because the DAGMC header is "polluted" with too many other headers.
To Reproduce
Try to build a downstream code, e.g. OpenMC (see discussion in #739), without having Eigen3 installed.
Expected Behavior
Build a downstream code that has no independent/direct dependency on Eigen3 without having Eigen3 installed.
The text was updated successfully, but these errors were encountered: