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

FEI: build fails with Epetra disabled #5594

Closed
Tracked by #5602
tjfulle opened this issue Jul 30, 2019 · 10 comments
Closed
Tracked by #5602

FEI: build fails with Epetra disabled #5594

tjfulle opened this issue Jul 30, 2019 · 10 comments
Labels
type: bug The primary issue is a bug in Trilinos code or tests

Comments

@tjfulle
Copy link
Contributor

tjfulle commented Jul 30, 2019

@trilinos/fei

With Trilinos_ENABLE_Epetra:BOOL=OFF defined, I get the following build error:

packages/fei/support-Trilinos/fei_Include_Trilinos.hpp:84:10: fatal error: BelosEpetraAdapter.hpp: No such file or directory
 #include <BelosEpetraAdapter.hpp>

Full configure:

/projects/sems/install/rhel6-x86_64/sems/utility/cmake/3.12.2/bin/cmake \
  -G "Ninja" \
  -D Trilinos_CONFIGURE_OPTIONS_FILE:FILEPATH=$TRILINOS_DIR/cmake/std/PullRequestLinuxCommonTestingSettings.cmake \
  -D Trilinos_ENABLE_Tpetra:BOOL=ON \
  -D Trilinos_ENABLE_Epetra:BOOL=OFF \
  -D Trilinos_ENABLE_Moertel:BOOL=OFF \
  -D Trilinos_ENABLE_ShyLU_DDFROSch:BOOL=OFF \
  -D Trilinos_ENABLE_Stokhos:BOOL=OFF \
  -D ROL_ENABLE_EXAMPLES:BOOL=OFF \
  -D Tpetra_ENABLE_DEPRECATED_CODE:BOOL=OFF \
  -D Xpetra_ENABLE_DEPRECATED_CODE:BOOL=OFF \
  -D Trilinos_ENABLE_Galeri:BOOL=OFF \
  -D Rythmos_ENABLE_TESTS:BOOL=OFF \
  $TRILINOS_DIR
@tjfulle tjfulle added the type: bug The primary issue is a bug in Trilinos code or tests label Jul 30, 2019
@alanw0
Copy link
Contributor

alanw0 commented Jul 30, 2019

Hmm, this is a tough one. FEI isn't going to live into the Tpetra era, it really needs Epetra. Perhaps we need to add some cmake logic such that epetra is a mandatory dependency and FEI is disabled if Epetra is not available.

@tjfulle
Copy link
Contributor Author

tjfulle commented Jul 30, 2019

@alanw0 that would be fine, and I'm happy to add such logic to CMake. Does FEI have any Tpetra code? If so, I'll have to be careful about how Tpetra is instantiated in the event that Tpetra+Epetra are enabled. If not, I can just put a hard stop in CMake if Epetra is not enabled.

@rppawlo
Copy link
Contributor

rppawlo commented Jul 30, 2019

Would this be the time to consider removing FEI from trilinos?

@alanw0
Copy link
Contributor

alanw0 commented Jul 30, 2019

@tjfulle No, FEI doesn't have any Tpetra code. In packages/fei/CMakeLists.txt it mentions Tpetra but that's it. (That reference could probably be removed too.)

@alanw0
Copy link
Contributor

alanw0 commented Jul 30, 2019

@rppawlo Probably getting close, although the thermal/fluid folks in Sierra haven't finished deprecating it yet... hopefully soon.

@mhoemmen
Copy link
Contributor

@alanw0 There are some plans to finish FEI and Epetra stack deprecation next FY. Not sure how the priorities will fall.

@mhoemmen
Copy link
Contributor

epetra is a mandatory dependency and FEI is disabled if Epetra is not available.

FEI declares Epetra as an optional dependency:

SET(LIB_OPTIONAL_DEP_PACKAGES Epetra AztecOO Belos Amesos Ifpack ML)

Best practice would be for FEI to use macros to protect code that depends on Epetra. Not sure if anyone wants to touch FEI, though, so perhaps we should just make Epetra mandatory. @alanw0 , what do you think?

@tjfulle
Copy link
Contributor Author

tjfulle commented Jul 30, 2019

I wasn't planning on touching FEI, apart from making Epetra mandatory. @alanw0 if that is what we want, I'll do it.

@alanw0
Copy link
Contributor

alanw0 commented Jul 30, 2019

@mhoemmen If we want to remove FEI from trilinos and Sierra is the last user of it, then I suppose we could just adopt a snapshot of FEI into Sierra and then Trilinos could drop it.
@tjfulle If you are willing to go ahead and make Epetra mandatory in FEI, that would be great, thanks!

@mhoemmen
Copy link
Contributor

@alanw0 wrote:

If we want to remove FEI from trilinos and Sierra is the last user of it, then I suppose we could just adopt a snapshot of FEI into Sierra and then Trilinos could drop it.

That's something we should do eventually, but I think it's better if we do one thing at a time. This round of changes intends to make Trilinos build correctly with Tpetra_ENABLE_DEPRECATED_CODE=OFF.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug The primary issue is a bug in Trilinos code or tests
Projects
None yet
Development

No branches or pull requests

4 participants