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

Final fixes for TriBITS upgrade to modern CMake targets (#10614, #10774) #10930

Merged

Conversation

bartlettroscoe
Copy link
Member

I forgot to remove these vars in Trilinos PR trilinos#10813.  They should not be
printed anymore because they should not be used anymore.
…os#10774, TriBITSPub/TriBITS#516)

A TriBITS update is exporting package cache vars to the <Package>Config.cmake
file and you can't have a local var with the same name as a cache var with
different values.

In this case, it was just lucky that no downstream package was reading this
var (through the cache var) because they would have gotten the wrong value.
It seems that only code in CMakeLists.txt files under packages/pliris/ were
reading this var.
…S#522)

This is to simulate external projects that call find_package(Trilinos) that
may require an older version of CMake than that is required by
Trilinos/TriBITS.

NOTE: This exposes the error:

---------------------------------------------

CMake Warning (dev) at /ascldap/users/rabartl/Trilinos.base/BUILDS/PR/clang-10.0.0/install/lib/cmake/Kokkos/KokkosConfig.cmake:197 (IF):
  Policy CMP0057 is not set: Support new IN_LIST if() operator.  Run "cmake
  --help-policy CMP0057" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  IN_LIST will be interpreted as an operator when the policy is set to NEW.
  Since the policy is not set the OLD behavior will be used.
Call Stack (most recent call first):
  /ascldap/users/rabartl/Trilinos.base/BUILDS/PR/clang-10.0.0/install/lib/cmake/Trilinos/TrilinosConfig.cmake:114 (include)
  CMakeLists.txt:8 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at /ascldap/users/rabartl/Trilinos.base/BUILDS/PR/clang-10.0.0/install/lib/cmake/Kokkos/KokkosConfig.cmake:197 (IF):
  if given arguments:

    "Kokkos_ENABLE_THREADS" "AND" "NOT" "DEPRECATED_CODE_3" "IN_LIST" "Kokkos_OPTIONS"

  Unknown arguments specified
Call Stack (most recent call first):
  /ascldap/users/rabartl/Trilinos.base/BUILDS/PR/clang-10.0.0/install/lib/cmake/Trilinos/TrilinosConfig.cmake:114 (include)
  CMakeLists.txt:8 (find_package)

-- Configuring incomplete, errors occurred!

---------------------------------------------

reported in trilinos#10456 and TRILINOSHD-128

In a later commit, we will update the version of TriBITS that addresses this.
Origin repo remote tracking branch: 'github/master'
Origin repo remote repo URL: 'github = git@github.com:TriBITSPub/TriBITS.git'
Git describe: Vera4.0-RC1-start-1263-g8817a8f9

At commit:

commit ab41942990e8d3655463551036a979c674b27fcc
Author:  Roscoe A. Bartlett <rabartl@sandia.gov>
Date:    Wed Aug 24 16:50:38 2022 -0600
Summary: Add version check and calls to cmake_minimum_required() (trilinos#522)
@bartlettroscoe bartlettroscoe added type: bug The primary issue is a bug in Trilinos code or tests type: enhancement Issue is an enhancement, not a bug AT: AUTOMERGE Causes the PR autotester to automatically merge the PR branch once approvals are completed TriBITS Issues with the TriBITS framework itself, not usage of the TriBITS framework labels Aug 25, 2022
@bartlettroscoe bartlettroscoe self-assigned this Aug 25, 2022
@bartlettroscoe bartlettroscoe changed the title Final fixes for last TriBITS upgrade (#10774) Final fixes for TriBITS upgrade to modern CMake targets (#10614, #10774) Aug 25, 2022
@bartlettroscoe bartlettroscoe added the AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration label Aug 25, 2022
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: Trilinos_PR_gcc-8.3.0

  • Build Num: 946
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-openmp_release-debug_static_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_gcc-7.2.0-serial

  • Build Num: 946
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_gcc-7.2.0-debug

  • Build Num: 944
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-openmpi-1.10.1-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_intel-17.0.1

  • Build Num: 945
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-intel-17.0.1-mpich-3.2-serial_release-debug_static_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_clang-10.0.0

  • Build Num: 961
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-clang-10.0.0-openmpi-1.10.1-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_cuda-10.1.243

  • Build Num: 961
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME ats2_cuda-10.1.243-gnu-8.3.1-spmpi-rolling_release_static_Volta70_Power9_no-asan_no-complex_no-fpic_mpi_pt_no-rdc_uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL vortex
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_python3

  • Build Num: 771
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-anaconda3-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_pr-framework
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL ascic
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_cuda-11.4.2-uvm-off

  • Build Num: 482
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.0.5_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL GPU
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Using Repos:

Repo: TRILINOS (bartlettroscoe/Trilinos)
  • Branch: 10774-final-fixes
  • SHA: a4e5427
  • Mode: TEST_REPO

Pull Request Author: bartlettroscoe

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED

Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run.

Pull Request Auto Testing has FAILED (click to expand)

Build Information

Test Name: Trilinos_PR_gcc-8.3.0

  • Build Num: 946
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-openmp_release-debug_static_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_gcc-7.2.0-serial

  • Build Num: 946
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_gcc-7.2.0-debug

  • Build Num: 944
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-openmpi-1.10.1-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_intel-17.0.1

  • Build Num: 945
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-intel-17.0.1-mpich-3.2-serial_release-debug_static_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_clang-10.0.0

  • Build Num: 961
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-clang-10.0.0-openmpi-1.10.1-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_cuda-10.1.243

  • Build Num: 961
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME ats2_cuda-10.1.243-gnu-8.3.1-spmpi-rolling_release_static_Volta70_Power9_no-asan_no-complex_no-fpic_mpi_pt_no-rdc_uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL vortex
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_python3

  • Build Num: 771
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-anaconda3-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_pr-framework
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL ascic
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_cuda-11.4.2-uvm-off

  • Build Num: 482
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.0.5_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL GPU
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA a4e5427
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9


CDash Test Results for PR# 10930.


Wiki: How to Reproduce PR Testing Builds and Errors.

@trilinos-autotester trilinos-autotester removed the AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration label Aug 25, 2022
rppawlo
rppawlo previously approved these changes Aug 25, 2022
@@ -1,4 +1,7 @@
cmake_minimum_required(VERSION 3.17)
cmake_minimum_required(VERSION 3.0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought our required cmake version was going to be bumped from 3.17 to 3.23. Why set this to 3.0? Have seen this in a few other places as well.

Copy link
Member Author

@bartlettroscoe bartlettroscoe Aug 25, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought our required cmake version was going to be bumped from 3.17 to 3.23. Why set this to 3.0? Have seen this in a few other places as well.

@rppawlo, yes, but we don't impose that on downstream CMake projects that call cmake_minimim_required(VERSION <cmake-version>) with <cmake-version> lower than even 3.3 (which is what happened with TRILINOSHD-128). These files are meant to act like external CMake projects that my use a lower version of CMake (even lower than 3.3) so that we can validate that we are doing our part to support such projects (because these projects actually exist).

The idea with CMake is that your project may require a higher version of CMake than the <Package>Config.cmake files produced by your project so you can support projects that require an older version of CMake. It seems that the goal is to write <Package>Config.cmake files in order to require the lowest version of CMake possible by downstream customers. In fact, the package-config targets files generated by CMake itself by the command export(EXPORT ... FILE <filename>) only requires CMake version 3.0.0 and uses polices from CMake 2.6.0! You can see this in the <Package>Targets.cmake files generated by CMake with Trilinos with the top showing:

# Generated by CMake

if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
   message(FATAL_ERROR "CMake >= 2.6.0 required")
endif()
cmake_policy(PUSH)
cmake_policy(VERSION 2.6)
#----------------------------------------------------------------
# Generated CMake target import file.
#----------------------------------------------------------------

# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)

if(CMAKE_VERSION VERSION_LESS 3.0.0)
  message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
endif()

(Take a look at the <Package>Targets.cmake files generated under <buildDir>/cmake_packages/ to see for yourself.)

For more context, see TriBITSPub/TriBITS#522 and the commit log message for d03c584.

If you take a step back, you can see why it has to be this way. Suppose there is some old CMake project that ended active development 8 years ago that used Trilinos and then you want to build it was a newer version of Trilinos. That project may have cmake_minimum_required(VERSION 3.1) or something in its top-level CMakeLists.txt file. We would no longer be able to build that project against a modern install of Trilinos unless someone went in and manually modified that CMakeLists.txt file. But why? That project has not changed at all. Why should it have to bump up its minimum required CMake version? By taking care of features used in our <Package>Config.cmake files ourselves, we can spare old downstream projects from having to change anything.

If you have more questions about this, let's have a short conversation to clear this up.

@bartlettroscoe
Copy link
Member Author

FYI: The Pliris test failures in the last PR testing iteration have nothing to do with this PR (see #10931).

Because Seconddary Tested code is disable in ATS2 builds, we don't want a
change to Pliris to trigger the enable since it is already broken on thse ATS2
CUDA builds.  For all of the details, see trilinos#10931.
For some reason, CMake is not respecting the force disable of
Trilinos_ENABLE_Pliris from the last commit.  Rather than try to debug this, I
am just disabling the tests which will allow PR trilinos#10930 to pass the PR builds
and merge.

There are other issues with the GenConfig files that will need to be addressed
that I am seeing.
Origin repo remote tracking branch: 'github/master'
Origin repo remote repo URL: 'github = git@github.com:TriBITSPub/TriBITS.git'
Git describe: Vera4.0-RC1-start-1265-gaa9a4256

At commit:

commit 142e536230040523bcf1f3de903df52f91c76d79
Author:  Roscoe A. Bartlett <rabartl@sandia.gov>
Date:    Thu Aug 25 08:43:09 2022 -0600
Summary: Change cmake_minimum_required() to upper bound TRIBITS_CMAKE_MINIMUM_REQUIRED (trilinos#522)
@bartlettroscoe
Copy link
Member Author

FYI: I tested the configure of Trilinos for the ATS2 build on 'vortex' to verify that the Pliris tests are being disabled (see details below). For some reason, my attempt to force disable Pliris in commithttps://github.com//pull/10930/commits/1f9274ca940907d0d9c808e694eb73f10821fe60 did not work and yielded Pliris getting enabled anyway even through the GenConfig fragment file contained:

set(Trilinos_ENABLE_Pliris OFF CACHE BOOL "from .ini configuration" FORCE)

But with the commit to disable the Pliris tests 075198b, the configure output shows:

Processing enabled package: Pliris (Libs, Tests, Examples)
     Building the double precision(default) library
-- Pliris_vector_random_MPI_3: NOT added test because Pliris_vector_random_MPI_3_DISABLE='ON'!
-- Pliris_vector_random_MPI_4: NOT added test because Pliris_vector_random_MPI_4_DISABLE='ON'!
Processing enabled package: Galeri (Libs)
Details on testing configure of ATS2 PR build on 'vortex': (click to expand)
$ ssh vortex

$ cd /vscratch1/rabartl/Trilinos.base/BUILDS/PR/ats2_cuda-10.1.243-gnu-8.3.1-spmpi-rolling_release/

$ cat load-env-and-cmake-frag-file.sh
TRILINOS_DIR_local=$HOME/Trilinos.base/Trilinos # Must be set!
source $TRILINOS_DIR_local/packages/framework/GenConfig/gen-config.sh \
--cmake-fragment GenConfigSettings.cmake \
ats2_cuda-10.1.243-gnu-8.3.1-spmpi-rolling_release_static_Volta70_Power9_no-asan_no-complex_no-fpic_mpi_pt_no-rdc_uvm_deprecated-on_no-package-enables \
--force \
-y \
$TRILINOS_DIR_local \
"$@"
unset TRILINOS_DIR_local

$ cat do-configure
rm -rf CMakeCache.txt CMakeFiles
cmake \
-G Ninja \
-C GenConfigSettings.cmake \
-D Trilinos_ENABLE_ALL_FORWARD_DEP_PACKAGES=OFF \
-D Trilinos_ENABLE_TESTS=ON \
-D Trilinos_TRACE_ADD_TEST=ON \
"$@" \
$TRILINOS_DIR

$ . load-env-and-cmake-frag-file.sh

$ time ./do-configure -DTrilinos_ENABLE_Pliris=ON &> configure.out

real    1m6.527s
user    0m38.424s
sys     0m24.999s

$ grep Pliris configure.out 
Disable Pliris tests in ATS2 GenConfig builds (#10931)
Explicitly enabled packages on input (by user):  Pliris 1
Explicitly enabled SE packages on input (by user):  Pliris STKUtil STKSimd STKTopology STKMesh STKIO STKSearch STKTransfer STKUnit_tests 9
-- Setting Pliris_ENABLE_TESTS=ON
-- Setting Pliris_ENABLE_EXAMPLES=ON
Final set of enabled packages:  Gtest Kokkos Teuchos KokkosKernels RTOp Epetra Zoltan Shards Triutils EpetraExt Tpetra Thyra Xpetra Pliris Galeri Pamgen Zoltan2Core SEACAS STK 19
Final set of enabled SE packages:  Gtest KokkosCore KokkosContainers KokkosAlgorithms Kokkos TeuchosCore TeuchosParser TeuchosParameterList TeuchosComm TeuchosNumerics TeuchosRemainder TeuchosKokkosCompat TeuchosKokkosComm Teuchos KokkosKernels RTOp Epetra Zoltan Shards Triutils EpetraExt TpetraTSQR TpetraCore Tpetra ThyraCore ThyraEpetraAdapters ThyraEpetraExtAdapters ThyraTpetraAdapters Thyra Xpetra Pliris Galeri Pamgen Zoltan2Core SEACASExodus SEACASNemesis SEACASIoss SEACASAprepro_lib SEACAS STKUtil STKCoupling STKMath STKSimd STKNGP_TEST STKTopology STKMesh STKIO STKSearch STKTransfer STKTools STKBalance STKUnit_test_utils STKUnit_tests STK 54
Processing enabled package: Pliris (Libs, Tests, Examples)
-- Pliris_vector_random_MPI_3: NOT added test because Pliris_vector_random_MPI_3_DISABLE='ON'!
-- Pliris_vector_random_MPI_4: NOT added test because Pliris_vector_random_MPI_4_DISABLE='ON'!

So the Pliris tests from #10931 are disabled so this PR should now pass.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request.

@bartlettroscoe bartlettroscoe added the AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration label Aug 25, 2022
@bartlettroscoe
Copy link
Member Author

@rppawlo, can you please reapprove? This should now pass the PR builds with the Pliris tests being disabled which should have never even been enabled (see #10931).

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: Trilinos_PR_gcc-8.3.0

  • Build Num: 950
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-openmp_release-debug_static_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_gcc-7.2.0-serial

  • Build Num: 950
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_gcc-7.2.0-debug

  • Build Num: 948
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-openmpi-1.10.1-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_intel-17.0.1

  • Build Num: 949
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-intel-17.0.1-mpich-3.2-serial_release-debug_static_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_clang-10.0.0

  • Build Num: 965
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-clang-10.0.0-openmpi-1.10.1-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_cuda-10.1.243

  • Build Num: 965
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME ats2_cuda-10.1.243-gnu-8.3.1-spmpi-rolling_release_static_Volta70_Power9_no-asan_no-complex_no-fpic_mpi_pt_no-rdc_uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL vortex
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_python3

  • Build Num: 775
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-anaconda3-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_pr-framework
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL ascic
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_cuda-11.4.2-uvm-off

  • Build Num: 486
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.0.5_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL GPU
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Using Repos:

Repo: TRILINOS (bartlettroscoe/Trilinos)
  • Branch: 10774-final-fixes
  • SHA: e3e9012
  • Mode: TEST_REPO

Pull Request Author: bartlettroscoe

@bartlettroscoe
Copy link
Member Author

Well, I can't explain how, but Pliris is being correctly force disabled in the actual ATS2 CUDA PR build shown here shownig:

loading initial cache file /vscratch1/trilinos/jaas/workspace/Trilinos_PR_cuda-10.1.243@2/packageEnables.cmake
-- Setting Trilinos_ENABLE_ALL_PACKAGES = ON
-- Setting Trilinos_ENABLE_TrilinosInstallTests = ON
-- Setting Trilinos_ENABLE_Pliris = ON

...

Explicitly disabled packages on input (by user or by default):  Pliris TriKota ShyLU PyTrilinos NewPackage 5

...

Final set of non-enabled packages:  Pliris Komplex TriKota Compadre Moertel ShyLU PyTrilinos NewPackage 8

The difference from what I ran above is that the disable is being done in the Jenkins PR build using the file -C packageEnables.cmake. Who knows but I am not complaining.

@bartlettroscoe
Copy link
Member Author

So, after some experimentation I have determined that with CMake 3.18.0 used on 'vortex', that a cache force set() statement in a file processed with -C <file>.cmake will only override cache vars set previously in that file or other files pulled in with -C <file>.cmake but will not force variables set on the command-line. That is why configuring with:

$ cmake -C packageEnables.cmake -C GenConfigSettings.cmake [other options] <tril-dir>

gives the desired behavior where the set(Trilinos_ENABLE_Pliris OFF CACHE BOOL "..." FORCE) statement in the file GenConfigSettings.cmake overrides the cache var set statement set(Trilinos_ENABLE_Pliris ON CACHE BOOL "...") in the file packageEnables.cmake.

But if you set the cache var on the CMake command-line with:

$ cmake -C packageEnables.cmake -C GenConfigSettings.cmake -DTrilinos_ENABLE_Pliris=ON [other options] <tril-dir>

then the value Trilinos_ENABLE_Pliris=ON will not be overridden! That is behavior that is not documented at all in even the most current official CMake documentation:

However, if you use the TriBITS option -D Trilinos_CONFIGURE_OPTIONS_FILE=GenConfig.cmake to process that file with:

$ cmake -C packageEnables.cmake -D Trilinos_CONFIGURE_OPTIONS_FILE=GenConfigSettings.cmake \
  -DTrilinos_ENABLE_Pliris=ON [other options] <tril-dir>

then the command set(Trilinos_ENABLE_Pliris OFF CACHE BOOL "..." FORCE) statement in the file GenConfigSettings.cmake does indeed override the value -DTrilinos_ENABLE_Pliris=ON set on the command-line.

I will document this behavior for TriBITS at:

Experimentation with handling of *.cmake fragment files and cache vars showing undocumented CMake behavior for -C file.cmake entries: (click to expand)

Okay, so I did an experiment and put the enable for Pliris in a packageEnables.cmake file:

MACRO(PR_ENABLE_BOOL  VAR_NAME  VAR_VAL)
  MESSAGE("-- Setting ${VAR_NAME} = ${VAR_VAL}")
  SET(${VAR_NAME} ${VAR_VAL} CACHE BOOL "Set in packageEnables.cmake")
ENDMACRO()

PR_ENABLE_BOOL(Trilinos_ENABLE_Pliris ON)

and configured on 'vortex' with:

$ rm -rf CMake*
$ time cmake -G Ninja -C packageEnables.cmake -C GenConfigSettings.cmake \
   -D Trilinos_ENABLE_ALL_FORWARD_DEP_PACKAGES=OFF -D Trilinos_ENABLE_TESTS=ON -D Trilinos_TRACE_ADD_TEST=ON \
   $TRILINOS_DIR &> configure.out 

real    1m4.105s
user    0m38.043s
sys     0m26.004s

and now we see:

$ grep Pliris configure.out 
...
-- Setting Trilinos_ENABLE_Pliris = ON
...
Explicitly disabled packages on input (by user or by default):  Pliris TriKota ShyLU PyTrilinos NewPackage 5
...
Final set of non-enabled packages:  ... Pliris ... 48
...

So that shows that for force disable statement in the GenConfigSettings.cmake file:

$ grep Trilinos_ENABLE_Pliris GenConfigSettings.cmake 
set(Trilinos_ENABLE_Pliris OFF CACHE BOOL "from .ini configuration" FORCE)

indeed does override the cache var enable set() statement show above in the file packageEnables.cmake where packageEnables.cmake is read before GenConfigSettings.cmake. And you can see the override in the CMakeCache.txt file doc entry:

$ grep -B 1 Trilinos_ENABLE_Pliris CMakeCache.txt 
//from .ini configuration
Trilinos_ENABLE_Pliris:BOOL=OFF
...

But if you put -DTrilinos_ENABLE_Pliris=ON on the CMake command-line with:

$ rm -rf CMake*
$ time cmake -G Ninja -C packageEnables.cmake -C GenConfigSettings.cmake \
   -DTrilinos_ENABLE_Pliris=ON \
   -D Trilinos_ENABLE_ALL_FORWARD_DEP_PACKAGES=OFF -D Trilinos_ENABLE_TESTS=ON -D Trilinos_TRACE_ADD_TEST=ON \
   $TRILINOS_DIR &> configure.out 

we see in the configure output:

$ grep Pliris configure.out 
-- Setting Trilinos_ENABLE_Pliris = ON
...
Explicitly enabled packages on input (by user):  Pliris 1
...
-- Setting Pliris_ENABLE_TESTS=ON
-- Setting Pliris_ENABLE_EXAMPLES=ON
Final set of enabled packages:  ... Pliris ... 19
...
Processing enabled package: Pliris (Libs, Tests, Examples)
-- Pliris_vector_random_MPI_3: NOT added test because Pliris_vector_random_MPI_3_DISABLE='ON'!
-- Pliris_vector_random_MPI_4: NOT added test because Pliris_vector_random_MPI_4_DISABLE='ON'!

and the cache var shows:

$ grep -B 3 Trilinos_ENABLE_Pliris CMakeCache.txt

//Enable the package Pliris.  Set to 'ON', 'OFF', or leave empty
// to allow for other logic to decide.
Trilinos_ENABLE_Pliris:STRING=ON

...

That is very interesting. That shows that the:

set(Trilinos_ENABLE_Pliris <default-val> CACHE <type> "<doc>" [FORCE])

statements in the files -C packageEnables.cmake -C GenConfigSettings.cmake are being completely ignored.

However, if you include this file with the TriBITS option -D Trilinos_CONFIGURE_OPTIONS_FILE with:

$ rm -rf CMake*
$ time cmake -G Ninja  -D Trilinos_CONFIGURE_OPTIONS_FILE=GenConfig.cmake \
   -DTrilinos_ENABLE_Pliris=ON \
   -D Trilinos_ENABLE_ALL_FORWARD_DEP_PACKAGES=OFF -D Trilinos_ENABLE_TESTS=ON -D Trilinos_TRACE_ADD_TEST=ON \
   $TRILINOS_DIR &> configure.out 

real    1m4.975s
user    0m37.728s
sys     0m25.301s

you see:

$ grep Pliris configure.out 
...
Explicitly disabled packages on input (by user or by default):  Pliris TriKota ShyLU PyTrilinos NewPackage 5
...
Final set of non-enabled packages:  ... Pliris ... 48

and the cache file shows:

$ grep -B 2 Trilinos_ENABLE_Pliris CMakeCache.txt

//from .ini configuration
Trilinos_ENABLE_Pliris:BOOL=OFF

So that shows behavior of CMake that I never knew existed and seems to be undocumented, even with the current version of CMake at:

I will ask Kitware to improve the documentation to clarify this behavior.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED

Pull Request Auto Testing has PASSED (click to expand)

Build Information

Test Name: Trilinos_PR_gcc-8.3.0

  • Build Num: 950
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-openmp_release-debug_static_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_gcc-7.2.0-serial

  • Build Num: 950
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_gcc-7.2.0-debug

  • Build Num: 948
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-openmpi-1.10.1-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_intel-17.0.1

  • Build Num: 949
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-intel-17.0.1-mpich-3.2-serial_release-debug_static_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_clang-10.0.0

  • Build Num: 965
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-clang-10.0.0-openmpi-1.10.1-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_cuda-10.1.243

  • Build Num: 965
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME ats2_cuda-10.1.243-gnu-8.3.1-spmpi-rolling_release_static_Volta70_Power9_no-asan_no-complex_no-fpic_mpi_pt_no-rdc_uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL vortex
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_python3

  • Build Num: 775
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-anaconda3-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_pr-framework
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL ascic
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9

Build Information

Test Name: Trilinos_PR_cuda-11.4.2-uvm-off

  • Build Num: 486
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.0.5_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS type: bug;type: enhancement;AT: RETEST;AT: AUTOMERGE;TriBITS
PULLREQUESTNUM 10930
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL GPU
TRILINOS_SOURCE_BRANCH 10774-final-fixes
TRILINOS_SOURCE_REPO https://github.com/bartlettroscoe/Trilinos
TRILINOS_SOURCE_SHA e3e9012
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA 5c7e9d9


CDash Test Results for PR# 10930.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ rppawlo ]!

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged

@trilinos-autotester trilinos-autotester merged commit 963e937 into trilinos:develop Aug 25, 2022
Trilinos TriBITS Refactor automation moved this from In Review to Done Aug 25, 2022
@trilinos-autotester
Copy link
Contributor

Merge on Pull Request# 10930: IS A SUCCESS - Pull Request successfully merged

@trilinos-autotester trilinos-autotester removed the AT: AUTOMERGE Causes the PR autotester to automatically merge the PR branch once approvals are completed label Aug 25, 2022
@bartlettroscoe
Copy link
Member Author

NOTE: As a suggestion in TriBITSPub/TriBITS#525 (comment), I moved the order of the -D and -C options with:

$ rm -rf CMake*
$ time cmake -G Ninja -DTrilinos_ENABLE_Pliris=ON -C GenConfigSettings.cmake \
   -D Trilinos_ENABLE_ALL_FORWARD_DEP_PACKAGES=OFF -D Trilinos_ENABLE_TESTS=ON \
   -D Trilinos_TRACE_ADD_TEST=ON $TRILINOS_DIR &> configure.out 

real    0m23.202s
user    0m7.867s
sys     0m2.517s

and it showed:

$ grep Pliris configure.out 
Disable Pliris tests in ATS2 GenConfig builds (#10931)
Explicitly disabled packages on input (by user or by default):  Pliris TriKota ShyLU PyTrilinos NewPackage 5
...
Final set of non-enabled packages:  ... Pliris ... 48

and:

$ grep -B 2 Trilinos_ENABLE_Pliris CMakeCache.txt

//from .ini configuration
Trilinos_ENABLE_Pliris:BOOL=OFF

...

So the order of -D and -C options matters!

@e10harvey
Copy link
Contributor


So the order of -D and -C options matters!

Thanks for tracking this down and documenting it, @bartlettroscoe.

cgcgcg pushed a commit to cgcgcg/Trilinos that referenced this pull request Sep 12, 2022
For some reason, CMake is not respecting the force disable of
Trilinos_ENABLE_Pliris from the last commit.  Rather than try to debug this, I
am just disabling the tests which will allow PR trilinos#10930 to pass the PR builds
and merge.

There are other issues with the GenConfig files that will need to be addressed
that I am seeing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration TriBITS Issues with the TriBITS framework itself, not usage of the TriBITS framework type: bug The primary issue is a bug in Trilinos code or tests type: enhancement Issue is an enhancement, not a bug
Projects
Development

Successfully merging this pull request may close these issues.

None yet

4 participants