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

Nalu configure issues due to Kokkos or SEACAS? #9973

Closed
spdomin opened this issue Nov 26, 2021 · 12 comments
Closed

Nalu configure issues due to Kokkos or SEACAS? #9973

spdomin opened this issue Nov 26, 2021 · 12 comments
Labels
type: bug The primary issue is a bug in Trilinos code or tests

Comments

@spdomin
Copy link
Contributor

spdomin commented Nov 26, 2021

Bug Report

@trilinos/kokkos

This looks new:

find: './CMakeFiles': No such file or directory
   Trilinos_DIR = /home/spdomin/gitHubWork/scratch_build/install/gcc8.4.0/Trilinos_nightly_release
-- Enabled Kokkos devices: SERIAL
CMake Warning at /home/spdomin/gitHubWork/scratch_build/install/gcc8.4.0/Trilinos_nightly_release/lib/cmake/Kokkos/KokkosConfig.cmake:176 (MESSAGE):
  The installed Kokkos configuration does not support CXX extensions.
  Forcing -DCMAKE_CXX_EXTENSIONS=Off

but it set Trilinos_FOUND to FALSE so package "Trilinos" is considered to
  be NOT FOUND.  Reason given by package:

  The following imported targets are referenced, but are missing:
  SEACASChaco::chaco SEACASSuplibC::suplib_c SEACASSuplibCpp::suplib_cpp

Description

Bad config on the apps side - looks like SEACAS? @gdsjaar

Steps to Reproduce

Good:

NaluCFD/Nalu SHA1: c164464e0cd6e320cb5d30480fed49675cbee457
Trilinos/develop SHA1: 110b6c4

Bad:

NaluCFD/Nalu SHA1: c164464e0cd6e320cb5d30480fed49675cbee457
Trilinos/develop SHA1: acb9fc4

@spdomin spdomin added the type: bug The primary issue is a bug in Trilinos code or tests label Nov 26, 2021
@spdomin spdomin changed the title Nalu configure issues due to Kokkos? Nalu configure issues due to Kokkos or SEACAS? Nov 26, 2021
@spdomin
Copy link
Contributor Author

spdomin commented Nov 29, 2021

@alanw0 - does this look familiar to you?

@wjhorne - could you try a bisect (assuming Greg or Alan don't know what happened here).

@gsjaardema
Copy link
Contributor

I don't know what would cause this. I do know that @bartlettroscoe has been doing some CMake modifications to modernize or use more CMake features. Not sure if this is related to that...

@alanw0
Copy link
Contributor

alanw0 commented Nov 29, 2021

@alanw0 - does this look familiar to you?

@wjhorne - could you try a bisect (assuming Greg or Alan don't know what happened here).

I'm not sure what this could be, but Irina Tezaur lodged a ticket also, so something happened. I'll figure out when the last stk update was and which files were touched.

@spdomin
Copy link
Contributor Author

spdomin commented Nov 29, 2021

Good to know. We are using:

cmake version 3.17.0

I don't think that Irina's ticket is related, however, something definitely changed before the min-break.

@alanw0
Copy link
Contributor

alanw0 commented Nov 29, 2021

As far as I can tell the last stk change in trilinos was Nov 5: #9896

@bartlettroscoe
Copy link
Member

This may be related to the merge of PR #9894. That PR should maintain 100% backward compatibility but there may be some use cases that have not been addressed and some of the custom FindTPL<tplName>.cmake files may need to be tweaked as per:

@spdomin, how can I reproduce these configure errors? You can contact me offline if it is too sensitive for GitHub Issues.

@spdomin
Copy link
Contributor Author

spdomin commented Nov 29, 2021

@bartlettroscoe, The real way would be to following these instructions: https://nalu.readthedocs.io/en/latest/source/user/build_manually.html#linux-and-osx

With the Trilinos config and Nalu config given by the current repository setting.

We can also find a common location so that you can avoid the TPL builds.. Let me know offline.

bartlettroscoe added a commit to bartlettroscoe/Trilinos that referenced this issue Nov 29, 2021
…/tribits-299-modern-cmake-targets-1"

This reverts commit db3205b, reversing
changes made to 110b6c4 which reverts the PR
merge trilinos#9894.

This is to allow reproducing and addressing the problems described in the new
issues trilinos#9972 and #trilinos#9973 offline to allow the Albany and Nalu Trilinos
integration process, respectively, to continue working in the meantime.
@bartlettroscoe
Copy link
Member

FYI: I posted the revert of PR #9894 in the new PR #9977. I just need someone to approve that PR so that it can merge. Hopefully the PR can pass testing fast and merge (but I don't have any control over that).

bartlettroscoe added a commit to bartlettroscoe/Trilinos that referenced this issue Nov 29, 2021
…Trilinos/tribits-299-modern-cmake-targets-1""

This reverts commit fd27a20.

This gets us back to the state of the 'develop' branch after the PR trilinos#9894 that
merged the branch 'tribits-299-modern-cmake-targets-1' was merged (as well as
other PRs in the days after that).

Now I can try to reproduce the errors in issues trilinos#9972 and trilinos#9973.
trilinos-autotester added a commit that referenced this issue Nov 30, 2021
…299-modern-cmake-targets-1

Automatically Merged using Trilinos Pull Request AutoTester
PR Title: Revert: TriBITS: Pull in partial refactoring to modern CMake targets (TriBITSPub/TriBITS#299) (#9894, #9972, #9973)
PR Author: bartlettroscoe
@spdomin
Copy link
Contributor Author

spdomin commented Nov 30, 2021

Nalu's nightly build and test process is now clean.

@bartlettroscoe, Thank you for the revert. If you have something to test, let me know and I can clone your forked version of Trilinos with your desired changes.

@bartlettroscoe
Copy link
Member

If you have something to test, let me know and I can clone your forked version of Trilinos with your desired changes.

@spdomin, Thanks, I will get back to you as part of development and testing of PR #9978.

@spdomin spdomin closed this as completed Nov 30, 2021
@bartlettroscoe
Copy link
Member

FYI: I have reproduced the bug with a native TriBITS test and this is the same bug impacting #9972. This happens when -DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF and subpackages get enabled by not the parent package, in this case, SEACAS (and with Albany, STK). You can see these options from do-configTrilinos_release showing:

...
-DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF \
...
-DTrilinos_ENABLE_SEACASExodus:BOOL=ON \
-DTrilinos_ENABLE_SEACASEpu:BOOL=ON \
-DTrilinos_ENABLE_SEACASExodiff:BOOL=ON \
-DTrilinos_ENABLE_SEACASNemspread:BOOL=ON \
-DTrilinos_ENABLE_SEACASNemslice:BOOL=ON \
-DTrilinos_ENABLE_SEACASIoss:BOOL=ON \
...

bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 2, 2021
…age includes (TriBITSPub#299)

This is the use case that triggers trilinos/Trilinos#9972 and
trilinos/Trilinos#9973.

Now I will change the code to fix the test.
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 2, 2021
…age includes (TriBITSPub#299)

This sets <ParentPackage>_ENABLE_<SubPackage>=ON if the subpackage is enabled
even if optional packages are disabled.  This will fix trilinos/Trilinos#9972
and trilinos/Trilinos#9973.
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 2, 2021
…age includes (TriBITSPub#299)

This is the use case that triggers trilinos/Trilinos#9972 and
trilinos/Trilinos#9973.

Now I will change the code to fix the test.
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 2, 2021
…age includes (TriBITSPub#299)

This sets <ParentPackage>_ENABLE_<SubPackage>=ON if the subpackage is enabled
even if optional packages are disabled.  This will fix trilinos/Trilinos#9972
and trilinos/Trilinos#9973.

This also updates the logic that generates <Package>Config.cmake files to only
include <UpstreamPackage>Config.cmake files for direct dependencies, not all
dependencies.  (The indirect includes should take care of the rest.)
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 2, 2021
…age includes (TriBITSPub#299)

This sets <ParentPackage>_ENABLE_<SubPackage>=ON if the subpackage is enabled
even if optional packages are disabled.  This will fix trilinos/Trilinos#9972
and trilinos/Trilinos#9973.

This also updates the logic that generates <Package>Config.cmake files to only
include <UpstreamPackage>Config.cmake files for direct dependencies, not all
dependencies.  (The indirect includes should take care of the rest.)
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 3, 2021
…ncludes (TriBITSPub#299)

This sets <ParentPackage>_ENABLE_<SubPackage>=ON if the subpackage is enabled
even if optional packages are disabled.  This will fix trilinos/Trilinos#9972
and trilinos/Trilinos#9973.

This also updates the logic that generates <Package>Config.cmake files to only
include <UpstreamPackage>Config.cmake files for direct dependencies, not all
dependencies.  (The indirect includes should take care of the rest.)
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 3, 2021
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 9, 2021
…n a parent package (TriBITSPub#299)

This is the use case exercised by Albany/Trilinos in trilinos/Trilinos#9972
(and likely also Nalu/Trilinos in trilinos/Trilinos#9973).  This test shows
the same configure error where <Project>Config.cmake is trying to include an
<SubPackage>Config.cmake file for a required subpackage that is not actually
enabled.
bartlettroscoe added a commit to bartlettroscoe/Trilinos that referenced this issue Dec 15, 2021
…Trilinos/tribits-299-modern-cmake-targets-1""

This reverts commit fd27a20.

This gets us back to the state of the 'develop' branch after the PR trilinos#9894 that
merged the branch 'tribits-299-modern-cmake-targets-1' was merged (as well as
other PRs in the days after that).

Now I can try to reproduce the errors in issues trilinos#9972 and trilinos#9973.
bartlettroscoe added a commit to bartlettroscoe/Trilinos that referenced this issue Dec 15, 2021
…targets-1-again (TriBITSPub/TriBITS#433)

Should address all of the issues with the merge of PR trilinos#9894
listed out in TriBITSPub/TriBITS#433 (which is part of
TriBITSPub/TriBITS#299).  This should resolve the failures reported in
trilinos#9972 and trilinos#9973.
@bartlettroscoe
Copy link
Member

I would like to be able to do a reference build of Trilinos and Nalu and then test out updates of Trilinos against Nalu like for PR #9978 but what I (and other Trilinos developers) really need a dirt-simple, zero-chance-for-errors process as follows:

This should be just a few commands like for Trilinos that looks something like:

$ mkdir  <tril-build-dir>/
$ cd <tril-build-dir>/
$ source <env-load-script>
$ env TRILINOS_SRC_DIR=<tril-src-dir> \
    <trilinos-configure-script> -DTrilinos_ENABLE_TESTS=ON -DCMAKE_INSTALL_PREFIX=${PWD}/install
$ make -j12
$ ctest -j12
$ make -j12 install

and then configure and build Nalu against that Trilinos install like:

$ mkdir <nalu-build- dir>/
$ cd <nalu-build- dir>/
$ env NALU_SRC_DIR=<nalu-src-dir> \
    <nalu-configure-script> -DCMAKE_PREFIX_PATH=<tril-build-dir>/install
$ make -j12
$ ctest -j12

For standard systems at SNL, it should be about that simple. I can give examples of this for SPARC and EMPIRE.

bartlettroscoe added a commit to bartlettroscoe/Trilinos that referenced this issue Jun 10, 2022
…Trilinos/tribits-299-modern-cmake-targets-1""

This reverts commit fd27a20.

This gets us back to the state of the 'develop' branch after the PR trilinos#9894 that
merged the branch 'tribits-299-modern-cmake-targets-1' was merged (as well as
other PRs in the days after that).

Now I can try to reproduce the errors in issues trilinos#9972 and trilinos#9973.
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