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

new warnings during charon configuration #382

Closed
glhenni opened this issue Jun 22, 2021 · 3 comments · Fixed by #383
Closed

new warnings during charon configuration #382

glhenni opened this issue Jun 22, 2021 · 3 comments · Fixed by #383

Comments

@glhenni
Copy link

glhenni commented Jun 22, 2021

We're seeing the included warning, previously unseen, during our configuration/cmake step for charon. It's only a warning and we could add the flag it mentions to suppress it but you might want to take a look at it.

CMake Warning (dev) in /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/common_tpls/utils/ParseLibraryList.cmake:
  A logical block opening on the line

    /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/common_tpls/utils/ParseLibraryList.cmake:51 (function)

  closes on the line

    /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/common_tpls/utils/ParseLibraryList.cmake:115 (endfunction)

  with mis-matching arguments.
Call Stack (most recent call first):
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/common_tpls/utils/AddPackageDependency.cmake:51 (include)
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/common_tpls/find_modules/FindNetCDF.cmake:72 (include)
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/common_tpls/FindTPLNetcdf.cmake:66 (find_package)
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/core/package_arch/TribitsProcessEnabledTpl.cmake:106 (include)
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/core/package_arch/TribitsGlobalMacros.cmake:1604 (tribits_process_enabled_tpl)
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/core/package_arch/TribitsProjectImpl.cmake:196 (tribits_process_enabled_tpls)
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/core/package_arch/TribitsProject.cmake:93 (tribits_project_impl)
  CMakeLists.txt:61 (TRIBITS_PROJECT)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/common_tpls/utils/AddPackageDependency.cmake:
  A logical block opening on the line

    /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/common_tpls/utils/AddPackageDependency.cmake:53 (function)

  closes on the line

    /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/common_tpls/utils/AddPackageDependency.cmake:175 (endfunction)

  with mis-matching arguments.
Call Stack (most recent call first):
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/common_tpls/find_modules/FindNetCDF.cmake:72 (include)
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/common_tpls/FindTPLNetcdf.cmake:66 (find_package)
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/core/package_arch/TribitsProcessEnabledTpl.cmake:106 (include)
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/core/package_arch/TribitsGlobalMacros.cmake:1604 (tribits_process_enabled_tpl)
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/core/package_arch/TribitsProjectImpl.cmake:196 (tribits_process_enabled_tpls)
  /scratch/charonops/jenkins/workspace/ASCIC_Build_Farm_CDE-GNU-dbg/TriBITS/tribits/core/package_arch/TribitsProject.cmake:93 (tribits_project_impl)
  CMakeLists.txt:61 (TRIBITS_PROJECT)
This warning is for project developers.  Use -Wno-dev to suppress it.
@bartlettroscoe
Copy link
Member

Looks like there are several of these:

[rabartl@crf450 TriBITS (master)]$ find tribits/ -name "*.cmake" -exec grep -nHF "endfunction(" {} \; | grep -vF "endfunction()"
tribits/common_tpls/find_modules/FindHDF5.cmake:90:endfunction(_HDF5_CHOMP_STRING)
tribits/common_tpls/find_modules/FindHDF5.cmake:118:endfunction(_HDF5_PARSE_SETTINGS_FILE)
tribits/common_tpls/find_modules/FindHDF5.cmake:129:endfunction(_HDF5_DEFINE_VERSION _var)
tribits/common_tpls/find_modules/FindHDF5.cmake:141:endfunction(_HDF5_DEFINE_PARALLEL_BUILD _file _var)
tribits/common_tpls/find_modules/FindHDF5.cmake:174:endfunction(_HDF5_EXTRA_LIBRARY_DIRS _file _var)
tribits/common_tpls/find_modules/FindHDF5.cmake:184:endfunction(_HDF5_LIBRARY_PATH _file _var)
tribits/common_tpls/find_modules/FindHDF5.cmake:234:endfunction(_HDF5_EXTRA_LIBRARIES _file _var)
tribits/common_tpls/find_modules/FindHDF5.cmake:278:endfunction(_HDF5_EXTRA_INCLUDE_DIRS _file _var)
tribits/common_tpls/utils/AddPackageDependency.cmake:175:endfunction(ADD_PACKAGE_DEPENDENCY)
tribits/common_tpls/utils/AddImportedLibrary.cmake:114:endfunction(ADD_IMPORTED_LIBRARY)
tribits/common_tpls/utils/ParseLibraryList.cmake:115:endfunction(PARSE_LIBRARY_LIST)

That missed my refactoring to lower-case. (Do not realize anyone actually used this. This is universally considered undesirable; see here and here).

I will push a commit that fixes this.

@bartlettroscoe bartlettroscoe self-assigned this Jun 22, 2021
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Jun 23, 2021
…riBITSPub#382)

This is a follow-on from the lower-casing in TriBITSPub#274 with PR TriBITSPub#379.  It
lower-cased the function and macro names at the opening macro(<name> ...) and
function(<name> ...) but not the endmacro(<name> ...) and endfunction(<name>
...) calls.  (I did not realize the TriBITS had any of those still.)  Turns
out that when the text in the opening macro(<text>) and function(<text>) does
not exactly match the endmacro(<text>) and endfunction(<text>), you get a
nasty warning message:

  A logical block opening on the line ... closes on the line ... with
  mis-matching arguments.

(see TriBITSPub#382).

The TriBITS test suite does not actually run any of this code so this was
never seen prior to the creation of TriBITSPub#382.  Therefore, I don't know that this
solves the problem but I strongly suspect that it will.  (I will run a test
with an ATDM Trilinos build that should trigger this code.)
@bartlettroscoe
Copy link
Member

bartlettroscoe commented Jun 23, 2021

@glhenni, FYI, PR #383 should have this fixed. I am just waiting for @gsjaardema to review and approve that fix (since that is technically his code).

bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Jun 23, 2021
…riBITSPub#382)

This is a follow-on from the lower-casing in TriBITSPub#274 with PR TriBITSPub#379.  It
lower-cased the function and macro names at the opening macro(<name> ...) and
function(<name> ...) but not the endmacro(<name> ...) and endfunction(<name>
...) calls.  (I did not realize the TriBITS had any of those still.)  Turns
out that when the text in the opening macro(<text>) and function(<text>) does
not exactly match the endmacro(<text>) and endfunction(<text>), you get a
nasty warning message:

  A logical block opening on the line ... closes on the line ... with
  mis-matching arguments.

(see TriBITSPub#382).

The TriBITS test suite does not actually run any of this code so this was
never seen prior to the creation of TriBITSPub#382.  Therefore, I don't know that this
solves the problem but I strongly suspect that it will.  (I will run a test
with an ATDM Trilinos build that should trigger this code.)
bartlettroscoe added a commit that referenced this issue Jun 23, 2021
Build/Test Cases Summary
Enabled Packages:
Enabled all Packages
0) MPI_DEBUG => Test case MPI_DEBUG was not run! => Does not affect push readiness! (-1.00 min)
1) SERIAL_RELEASE => Test case SERIAL_RELEASE was not run! => Does not affect push readiness! (-1.00 min)
2) MPI_DEBUG_CMake-3.17.0 => passed: passed=374,notpassed=0 (1.68 min)
3) SERIAL_RELEASE_CMake-3.17.0 => passed: passed=374,notpassed=0 (1.61 min)
4) MPI_DEBUG_CMake-3.17.0_Python-3.5.2 => passed: passed=374,notpassed=0 (1.76 min)
Other local commits for this build/test group: e9ea581
@bartlettroscoe
Copy link
Member

@glhenni, I went ahead and merged PR #383. @gsjaardema can do a post-merge review of #383 if he likes. Otherwise, I suspect this will solve the problem. If this does not solve the problem, please re-open this issue.

bartlettroscoe added a commit to bartlettroscoe/Trilinos that referenced this issue Sep 4, 2021
Brings in numerous refactorings to TriBITS over the last 3 months, but there
should be no breaks in backward compatibility.  Almost every file in TriBITS
is changed due to the lower-casing of command, macro and function names in PR
TriBITSPub/TriBITS#379.  But the main driver for this snapshot is to bring in
the change in PR TriBITSPub/TriBITS#413 that should make it so that Kokkos
INTERFACE_COMPILE_OPTIONS get propagated to downstream targets in TriBITS and
therefore to external customers through installed <Package>Config.cmake files
and IMPORTED targets.  I should have done several snapshots in the last few
months and not done a big snapshot like this (but I have been testing with
Trilinos locally along the way).

Overall, this merge brings in changes from a bunch of TriBITS PRs including
(from most recent):

* TriBITSPub/TriBITS#413: Change internal TriBITS target_link_libraries() to
  PUBLIC (TriBITSPub/TriBITS#299) component: core type: enhancement

* TriBITSPub/TriBITS#410: Upgrade from cmake 3.21.0 to 3.21.2
  (TriBITSPub/TriBITS#363, TriBITSPub/TriBITS#394)

* TriBITSPub/TriBITS#394: DO NOT MERGE: Show TriBITS test failures with CMake
  3.21.0 that don't occur with CMake 3.17.5 (TriBITSPub/TriBITS#363)

* TriBITSPub/TriBITS#409: Add getTestDictStatusField() to handle empty
  'status' field (SESW-383) component: ci_support type: enhancement

* TriBITSPub/TriBITS#408: Deal with spaces in CDash url parts (SESW-383)
  component: ci_support type: enhancement

* TriBITSPub/TriBITS#403: Spelling fixes

* TriBITSPub/TriBITS#407: Move tribits_get_build_url_and_write_to_file() to
  stand-alone module (TriBITSPub/TriBITS#154) component: ctest_driver type:
  enhancement

* TriBITSPub/TriBITS#388: Fixing typos (TriBITSPub/TriBITS#377)

* TriBITSPub/TriBITS#406: Fix tribits_ctest_driver() package-by-package mode
  for CMake 3.19+ (TriBITSPub/TriBITS#363, TriBITSPub/TriBITS#394) component:
  ctest_driver type: bug

* TriBITSPub/TriBITS#401: Improve GitHub Actions and CDash integration
  (TriBITSPub/TriBITS#154) type: enhancement

* TriBITSPub/TriBITS#366: CI: draft action yaml

* TriBITSPub/TriBITS#402: Revert some incorrect uppercase->lowercase changes

* TriBITSPub/TriBITS#387: Build and deploy TriBITS documentation with Sphinx
  (TriBITSPub/TriBITS#386) component: documentation type: enhancement

* TriBITSPub/TriBITS#398: Deal with pr null in not preprending build name
  (TriBITSPub/TriBITS#363) type: bug

* TriBITSPub/TriBITS#396: Send PR results to 'Pull Request' CDash group and
  add PR ID to build names (TriBITSPub/TriBITS#363) type: enhancement

* TriBITSPub/TriBITS#397: Print the ninja path and version
  (TriBITSPub/TriBITS#363)

* TriBITSPub/TriBITS#393: GitHub Actions based testing for TriBITS
  (TriBITSPub/TriBITS#363) type: enhancement

* TriBITSPub/TriBITS#389: TriBITS CI testing with GitHub Actions
  (TriBITSPub/TriBITS#363) type: enhancement

* TriBITSPub/TriBITS#392: Fix broken tests for non-Fortran and CMake 3.21
  builds (TriBITSPub/TriBITS#363) component: core

* TriBITSPub/TriBITS#391: Fix up build_docs.sh for Sphinx doc generation
  (TriBITSPub/TriBITS#386) component: documentation type: enhancement

* TriBITSPub/TriBITS#390: Add test for doc generation and fix usage of Python3
  component: documentation type: bug

* TriBITSPub/TriBITS#385: Replace last few references to
  TribitsDevelopersGuide.html (TriBITSPub/TriBITS#381) component:
  documentation type: enhancement

* TriBITSPub/TriBITS#384: Split TribitsDevelopersGuide.* into
  TribitsUsersGuide.* and TribitsMaintainersGuide.* (TriBITSPub/TriBITS#381)
  component: documentation type: enhancement

* TriBITSPub/TriBITS#383: Remove endfunction(<string>) and endmacro(<string>)
  (TriBITSPub/TriBITS#274, TriBITSPub/TriBITS#382) component: common_tpls
  type: bug

* TriBITSPub/TriBITS#380: More package-arch data-structure documentation
  updates (TriBITSPub/TriBITS#63) component: documentation type: enhancement

* TriBITSPub/TriBITS#379: Convert TriBITS to lower-case CMake command, macro,
  and function names (TriBITSPub/TriBITS#274)

The following files were conflicting where I went with what is on the Trilinos
'develop' branch:

* cmake/tribits/common_tpls/FindTPLBLAS.cmake
* cmake/tribits/common_tpls/FindTPLLAPACK.cmake
* cmake/tribits/common_tpls/FindTPLNetcdf.cmake

(It looks like the above changes never made it back into TriBITS proper.  The
conflicts were due to the case changes in cmake command calls in these files
due to TriBITSPub/TriBITS#379.)

There was also a conflict in the file:

* cmake/tribits/core/installation/TribitsProjectConfigTemplate.cmake.in

I looked at that one carefully and I think that may have been due to fixes on
both sides and then the case changes from TriBITSPub/TriBITS#379.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants