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

Update Spack to 0.22 #272

Open
wants to merge 46 commits into
base: develop
Choose a base branch
from
Open

Update Spack to 0.22 #272

wants to merge 46 commits into from

Conversation

ldowen
Copy link
Collaborator

@ldowen ldowen commented May 3, 2024

Summary

  • This PR updates Spack and aspects of the TPLs
  • It does the following:
    • The Spack hash used by uberenv is updated
    • The TPL Spack packages are updated or removed if possible
    • TPL manager logic is modified so only a single install call occurs
    • Spack configurations are updated
    • Package providers are set to avoid arbitrary concretization issues for downstream libraries

ToDo :

  • Annotate RELEASE_NOTES.md with notable changes.
  • Create LLNLSpheral PR pointing at this branch. (PR#)
  • LLNLSpheral PR has passed all tests.

@ldowen ldowen requested review from jmikeowen and mdavis36 May 3, 2024 21:00
Comment on lines -3 to -5
if(ENABLE_STATIC_TPL)
string(REPLACE ".so" ".a;" ${lib_name}_libs ${${lib_name}_libs})
endif()
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm pretty sure ALE3D use EANBLE_STATIC_TPL, is that still the case @ptsuji ?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Maybe @brbass is using this too?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yes, we're using ENABLE_STATIC_TPL.

Copy link
Collaborator

Choose a reason for hiding this comment

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

We are also using it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We don't need to explicitly bring zlib in as a target so we don't use this file anymore. The zlib tpl is included in the CMAKE_PREFIX_PATH instead.

scripts/devtools/tpl-manager.py Outdated Show resolved Hide resolved
scripts/devtools/tpl-manager.py Show resolved Hide resolved
scripts/devtools/tpl-manager.py Show resolved Hide resolved
scripts/devtools/tpl-manager.py Show resolved Hide resolved
scripts/spack/configs/blueos_3_ppc64le_ib/packages.yaml Outdated Show resolved Hide resolved
scripts/spack/configs/config.yaml Outdated Show resolved Hide resolved
scripts/spack/configs/toss_4_x86_64_ib/packages.yaml Outdated Show resolved Hide resolved
scripts/spack/packages/opensubdiv/package.py Show resolved Hide resolved
scripts/spack/packages/spheral/package.py Outdated Show resolved Hide resolved
@@ -83,8 +82,6 @@ if(ENABLE_CUDA)
list(APPEND SPHERAL_CXX_DEPENDS cuda)
endif()

option(BOOST_HEADER_ONLY "only use the header only components of Boost" OFF)
Copy link
Collaborator

Choose a reason for hiding this comment

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

We use the header-only boost option, is it being removed because it's the default?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It was thought to be unnecessary since we no longer build boost with cmake. Does it actually make a difference for your builds?

@@ -89,7 +89,7 @@ foreach(_comp ${AXOM_COMPONENTS_ENABLED})
endforeach()

# TPLs that must be imported
list(APPEND SPHERAL_EXTERN_LIBS zlib boost eigen qhull silo hdf5 polytope)
list(APPEND SPHERAL_EXTERN_LIBS boost eigen qhull silo hdf5 polytope)
Copy link
Collaborator

Choose a reason for hiding this comment

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

We build our own zlib to link to, is this being removed because the system zlib will be used?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The zlib path will be included in the CMAKE_PREFIX_PATH in the cmake file created when running TPL. But the zlib target isn't explicitly used when building Spheral.

Copy link
Collaborator

@mdavis36 mdavis36 left a comment

Choose a reason for hiding this comment

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

Good work on getting through this slog, hopefully we can start to update more regularly and avoid such a heavy lift in the future. Just a couple of questions and one change request in terms of our upstream directory name. I hope it isn't too much of a pain to move ...

.gitlab/os.yml Outdated Show resolved Hide resolved
scripts/spack/configs/ubuntu20.04/packages.yaml Outdated Show resolved Hide resolved
scripts/spack/configs/ubuntu20.04/packages.yaml Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants