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

enable building of spack issm installation with wrappers #186

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

justinh2002
Copy link

see #184

enable building of Spack issm package installation with wrappers - this allows matlab/python dependencies to be installed; so that Spack can be used to compile issm with pre- and post- processing features, either on a local machine or remote cluster.

@harshula
Copy link
Collaborator

Hi @justinh2002 , Can you please show what you tested in this PR?

@justinh2002
Copy link
Author

justinh2002 commented Jan 31, 2025

ran spack spec issm +with_wrappers, here is the output:

Input spec
--------------------------------
 -   issm+with_wrappers

Concretized
--------------------------------
 -   issm@4.24%gcc@14.1.0+with_wrappers build_system=autotools arch=linux-rocky8-x86_64_v4
[+]      ^autoconf@2.72%gcc@13.2.0 build_system=autotools arch=linux-rocky8-x86_64_v4
[+]          ^gcc-runtime@13.2.0%gcc@13.2.0 build_system=generic arch=linux-rocky8-x86_64_v4
[e]          ^glibc@2.28%gcc@13.2.0 build_system=autotools arch=linux-rocky8-x86_64_v4
[e]          ^perl@5.26.3%gcc@13.2.0+cpanm+opcode+open+shared+threads build_system=generic patches=8cf4302 arch=linux-rocky8-x86_64_v4
[+]      ^automake@1.16.5%gcc@13.2.0 build_system=autotools arch=linux-rocky8-x86_64_v4
 -       ^gcc-runtime@14.1.0%gcc@14.1.0 build_system=generic arch=linux-rocky8-x86_64_v4
[e]      ^glibc@2.28%gcc@14.1.0 build_system=autotools arch=linux-rocky8-x86_64_v4
[+]      ^gmake@4.4.1%gcc@13.2.0~guile build_system=generic arch=linux-rocky8-x86_64_v4
[+]      ^libtool@2.4.7%gcc@13.2.0 build_system=autotools arch=linux-rocky8-x86_64_v4
[+]          ^findutils@4.9.0%gcc@13.2.0 build_system=autotools patches=440b954 arch=linux-rocky8-x86_64_v4
[+]      ^m1qn3@3.3%gcc@13.2.0 build_system=makefile patches=b978437 arch=linux-rocky8-x86_64_v4
[+]      ^m4@1.4.19%gcc@13.2.0+sigsegv build_system=autotools patches=9dc5fbd,bfdffa7 arch=linux-rocky8-x86_64_v4
[+]          ^diffutils@3.10%gcc@13.2.0 build_system=autotools arch=linux-rocky8-x86_64_v4
[+]              ^libiconv@1.17%gcc@13.2.0 build_system=autotools libs=shared,static arch=linux-rocky8-x86_64_v4
[+]          ^libsigsegv@2.14%gcc@13.2.0 build_system=autotools arch=linux-rocky8-x86_64_v4
[e]      ^openmpi@4.1.7%gcc@13.2.0~atomics~cuda~cxx~cxx_exceptions~gpfs~internal-hwloc~internal-libevent~internal-pmix~java~legacylaunchers~lustre~memchecker~openshmem~orterunprefix~romio+rsh~singularity~static+vt+wrapper-rpath build_system=autotools fabrics=none romio-filesystem=none schedulers=none arch=linux-rocky8-x86_64_v4
[+]      ^petsc@3.21.1%gcc@13.2.0~X~batch~cgns~complex~cuda~debug+double~exodusii~fftw+fortran~giflib+hdf5~hpddm~hwloc+hypre~int64~jpeg~knl~kokkos~libpng~libyaml~memkind+metis~mkl-pardiso~mmg~moab~mpfr+mpi+mumps~openmp~p4est~parmmg~ptscotch~random123~rocm~saws+scalapack+shared~strumpack~suite-sparse+superlu-dist~sycl~tetgen~trilinos~valgrind~zoltan build_system=generic clanguage=C memalign=none arch=linux-rocky8-x86_64_v4
[+]          ^hdf5@1.14.3%gcc@13.2.0~cxx~fortran~hl~ipo~java~map+mpi+shared~subfiling~szip~threadsafe+tools api=default build_system=cmake build_type=Release generator=make patches=82088c8 arch=linux-rocky8-x86_64_v4
[e]              ^cmake@3.24.2%gcc@13.2.0~doc+ncurses+ownlibs build_system=generic build_type=Release arch=linux-rocky8-x86_64_v4
[+]              ^pkgconf@2.2.0%gcc@13.2.0 build_system=autotools arch=linux-rocky8-x86_64_v4
[+]          ^hypre@2.31.0%gcc@13.2.0~caliper~complex~cuda~debug+fortran~gptune~gpu-aware-mpi~int64~internal-superlu~magma~mixedint+mpi~openmp~rocm+shared~superlu-dist~sycl~umpire~unified-memory build_system=autotools arch=linux-rocky8-x86_64_v4
[+]          ^metis@5.1.0%gcc@13.2.0~gdb~int64~ipo~real64+shared build_system=cmake build_type=Release generator=make patches=4991da9,93a7903,b1225da arch=linux-rocky8-x86_64_v4
[+]          ^mumps@5.6.2%gcc@13.2.0~blr_mt+complex+double+float~incfort~int64+metis+mpi~openmp+parmetis~ptscotch~scotch+shared build_system=generic patches=373d736 arch=linux-rocky8-x86_64_v4
[+]          ^netlib-scalapack@2.2.0%gcc@13.2.0~ipo~pic+shared build_system=cmake build_type=Release generator=make patches=072b006,1c9ce5f,244a9aa arch=linux-rocky8-x86_64_v4
[+]          ^openblas@0.3.26%gcc@13.2.0~bignuma~consistent_fpcsr+dynamic_dispatch+fortran~ilp64+locking+pic+shared build_system=makefile symbol_suffix=none threads=none arch=linux-rocky8-x86_64_v4
[+]          ^parmetis@4.0.3%gcc@13.2.0~gdb~int64~ipo+shared build_system=cmake build_type=Release generator=make patches=4f89253,50ed208,704b84f arch=linux-rocky8-x86_64_v4
[e]          ^python@3.11.7%gcc@13.2.0+bz2+crypt+ctypes+dbm~debug+libxml2+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tkinter+uuid+zlib build_system=generic patches=13fa8bf,b0615b2,ebdca64,f2fd060 arch=linux-rocky8-x86_64_v4
[+]          ^superlu-dist@8.2.1%gcc@13.2.0~cuda~int64~ipo~openmp+parmetis~rocm+shared build_system=cmake build_type=Release generator=make arch=linux-rocky8-x86_64_v4
[+]          ^zlib-ng@2.1.6%gcc@13.2.0+compat+new_strategies+opt+pic+shared build_system=autotools arch=linux-rocky8-x86_64_v4

@harshula
Copy link
Collaborator

Hi @justinh2002 , Can you please test a spack install issm +with_wrappers and then show if the files you expect are installed by Spack. Use spack find --path to find the location.

@justinh2002 justinh2002 force-pushed the 184-spack-issm_wrappers branch from 771db2e to 1165414 Compare February 13, 2025 04:39
@harshula
Copy link
Collaborator

Hi @justinh2002 , Can you please add this as the first version() call:

version("main", branch="main", preferred=True)

@@ -12,46 +14,112 @@ class Issm(AutotoolsPackage):
"""Ice-sheet and Sea-Level System Model"""

homepage = "https://issm.jpl.nasa.gov/"
git = "https://github.com/ISSMteam/ISSM.git"
git = "https://github.com/ACCESS-NRI/ISSM.git"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Stick to the style used in the rest of the SPRs.

@justinh2002 justinh2002 marked this pull request as draft February 20, 2025 04:11
@justinh2002
Copy link
Author

==> The following package specs will be reinstalled:

-- linux-rocky8-x86_64 / intel@2021.10.0 ------------------------
lomguu6 issm@access-development%intel +wrappers build_system=autotools
==> Do you want to proceed? [y/N] y
[+] /usr (external glibc-2.28-5elnsoiqgcg5k5zmmwsp33bmnmaa3g5p)
[+] /usr (external glibc-2.28-uuaslxoln7yp3dciqri7e3o6zilg4xyf)
==> python@3.9.2 : has external module in ['python3/3.9.2']
[+] /apps/python3/3.9.2 (external python-3.9.2-vdktqpoh3znzzjyxmdus2erpgewdp7ff)
[+] /usr (external perl-5.26.3-j2iydfbotd473dio57mzyevya77uzttt)
==> openmpi@4.1.5 : has external module in ['openmpi/4.1.5']
[+] /apps/openmpi/4.1.5 (external openmpi-4.1.5-uvea7q2exkjwz2v7azix3x4zfcddnc23)
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/gmake-4.4.1-doeoclgsn63cvh7zfx3trjmyk7rlcqn4
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/gcc-runtime-13.2.0-l7iuzcvlhpwm24dt6ctf6bpqcbft4dzx
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/pkgconf-2.2.0-vrupasu7smpgcbarzpdwap45fcvjbjoa
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/automake-1.16.5-xhxnwib2rx6q76cxv43h6psjascu5dp7
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/zlib-ng-2.1.6-wa2x7rho3km6qpiki56dpjlpsce4c5n6
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/libpthread-stubs-0.5-dotch4gildprcikwlpw2av4vofdz6mft
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/libmd-1.0.4-56stzrbv3sgrr4mt72u5nxsi7y3yq4ei
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/openblas-0.3.26-27sgaqsfiidei6aqxqx3z3rfosurexvx
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/python-venv-1.0-fywvlqtevmbye7yiwlvknvehufebcbrv
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/libsigsegv-2.14-lzpomlzyq3igfj6ui2iiub22daqpvabj
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/findutils-4.9.0-icla2mwkv7v24iqxgtsa2isxzop4nrm7
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/metis-5.1.0-oacrfxlb5in5mckjxqxggioi62nhyb3k
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/m1qn3-3.3-tmevv77pqvgfngh73wlwpqtbqp7xrncw
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/xtrans-1.5.0-2vmqqvclfxsxlo5lgcbdtbtstpkal2ap
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/inputproto-2.3.2-n37n5kwllyix64r2p662iiyfnvuc522i
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/kbproto-1.0.7-4m3zppkd4kbq3vka2xoakubseahbgmrv
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/xextproto-7.3.0-bzesygn3tvtsobeokxiljclf7nadjnv3
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/xproto-7.0.31-wgxisqcpkrpqz7wx2njgh2xtlwfbqpao
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/hdf5-1.14.3-aumsrgzvbh6grtyyegzuufilnqa7ftm7
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/libbsd-0.12.1-nxranwhajvnzvkcobyxelnbqlmup7jm6
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/hypre-2.31.0-uazvgfbppefyyio34ats4ep5mvxaolqf
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/netlib-scalapack-2.2.0-sc6ignl4jpbkglfsnwkpjj64oaj5qtks
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/xcb-proto-1.16.0-bfoxclrxh323cmzrafkhipfwphuzqxw7
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/m4-1.4.19-srkd3efxh7a2cx6tejshjslbivocktck
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/parmetis-4.0.3-cw4qhzoh4owtlqxui6vilmn4fyrlla4b
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/libxau-1.0.11-7b5vcmg7gcc4u2w7bq4fvudeygac23fk
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/gcc-13.2.0/libxdmcp-1.1.4-o4llmszcdtnlrluttkwczehfva6dsukf
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/autoconf-2.72-zkg7fpzb224l6ay3c2kggaz62uazgvbw
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/libtool-2.4.7-j2xeapd6mxt4owgj7p2elc32ucuqzqpz
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/mumps-5.6.2-veuf6uu3glim2usq6zhbqtbjcuvujpty
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/superlu-dist-8.2.1-4uxhwa72ox6tspbczzzxzkqs4zmxwdbq
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/libxcb-1.16-bwjihgdrx5532czilec7yp6xvle564xk
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/petsc-3.21.1-b7jnomxtbspa3s3dlnelibnzr2yhuvlh
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/libx11-1.8.7-mwsoaixsexit5gqtqsqwz4m3q75gk5qz
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/access-triangle-main-qlzfpeyb635vhvl4eetr3gs4hm57vvc5
==> Installing issm-access-development-lomguu6j4lrcsjtusz6442qlrdyevp5u [41/41]
==> No binary for issm-access-development-lomguu6j4lrcsjtusz6442qlrdyevp5u found: installing from source
==> No patches needed for issm
==> issm: Executing phase: 'autoreconf'
==> issm: Executing phase: 'configure'
==> issm: Executing phase: 'build'
==> issm: Executing phase: 'install'
==> Warning: Module file /g/data/au88/jh7060/spack/0.22/release/modules/linux-rocky8-x86_64/issm/access-development-lomguu6 exists and will not be overwritten
==> issm: Successfully installed issm-access-development-lomguu6j4lrcsjtusz6442qlrdyevp5u
  Stage: 10.31s.  Autoreconf: 13.85s.  Configure: 1m 16.40s.  Build: 47m 44.20s.  Install: 6m 20.50s.  Post-install: 1m 34.37s.  Total: 57m 36.09s
[+] /g/data/au88/jh7060/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/issm-access-development-lomguu6j4lrcsjtusz6442qlrdyevp5u```

@justinh2002
Copy link
Author

Does this need to be rebased to main before we put it in vk83? I would like to finish configuring spack.yaml in the deployment repo as we have a user who would like to start fiddling around with the code.

@harshula
Copy link
Collaborator

harshula commented Mar 7, 2025

Hi @justinh2002 , This needs to be tested, verified against Gadi non-spack build with wrappers, reviewed and merged before it appears on vk83.

Comment on lines +135 to +136
# Copy the entire source tree into an additional directory
install_tree(self.stage.source_path, prefix.src)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Are you sure that the ISSM Spack package should install all the source? That's very unusual.

@harshula
Copy link
Collaborator

harshula commented Mar 7, 2025

Hi @justinh2002 , Make a new Pull Request for the access-triangle SPR only. Let's get that reviewed and merged ASAP. Then come back to ISSM.

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.

2 participants