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

release/1.6.0: update site configs and documentation for Hercules/Nautilus/Narwhal-Intel/S4/Discover #927

Merged
merged 15 commits into from
Jan 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions configs/sites/discover/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,6 @@ packages:
externals:
- spec: libfuse@2.9.3
prefix: /usr
libtool:
externals:
- spec: libtool@2.4.2
prefix: /usr
libxpm:
externals:
- spec: libxpm@4.11.0
Expand Down
5 changes: 4 additions & 1 deletion configs/sites/hercules/compilers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@ compilers:
target: x86_64
modules:
- intel-oneapi-compilers/2023.1.0
environment: {}
environment:
set:
# https://github.com/ufs-community/ufs-weather-model/issues/2015#issuecomment-1864438186
I_MPI_EXTRA_FILESYSTEM: 'ON'
extra_rpaths: []
- compiler:
spec: gcc@12.2.0
Expand Down
11 changes: 4 additions & 7 deletions configs/sites/hercules/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ packages:
- mvapich2/2.3.7

### Modifications of common packages
# DH* TRY IF THIS IS STILL TRUE # Version 2.0.8 doesn't compile on Hercules
# DH* TRY IF THIS IS STILL TRUE wgrib2:
# DH* TRY IF THIS IS STILL TRUE version:: ['3.1.1']

### All other external packages listed alphabetically
autoconf:
Expand Down Expand Up @@ -84,10 +81,6 @@ packages:
externals:
- spec: groff@1.22.4
prefix: /usr
libtool:
externals:
- spec: libtool@2.4.6
prefix: /usr
m4:
externals:
- spec: m4@1.4.19
Expand All @@ -109,6 +102,10 @@ packages:
prefix: /apps/spack-managed/gcc-11.3.1/qt-5.15.8-d47tsna6f5dylcpblkfgw4gpn2cucihd
modules:
- qt/5.15.8
sed:
externals:
- spec: sed@4.8
prefix: /usr
subversion:
externals:
- spec: subversion@1.14.1
Expand Down
2 changes: 2 additions & 0 deletions configs/sites/narwhal/compilers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ compilers::
modules:
- PrgEnv-intel/8.3.2
- intel-classic/2021.4.0
- node.js/20.10.0
environment:
prepend_path:
PATH: '/opt/cray/pe/gcc/10.3.0/snos/bin'
Expand All @@ -31,6 +32,7 @@ compilers::
modules:
- PrgEnv-gnu/8.3.2
- gcc/10.3.0
- node.js/20.10.0
environment:
prepend_path:
LD_LIBRARY_PATH: '/opt/cray/pe/libsci/22.08.1.1/GNU/9.1/x86_64/lib'
Expand Down
4 changes: 4 additions & 0 deletions configs/sites/narwhal/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,10 @@ packages:
prefix: /p/app/projects/NEPTUNE/spack-stack/qt-5.15.2/5.15.2/gcc_64
modules:
- qt/5.15.2
sed:
externals:
- spec: sed@4.4
prefix: /usr
subversion:
externals:
- spec: subversion@1.10.6
Expand Down
8 changes: 4 additions & 4 deletions configs/sites/nautilus/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -103,10 +103,6 @@ packages:
externals:
- spec: groff@1.22.3
prefix: /usr
libtool:
externals:
- spec: libtool@2.4.6
prefix: /usr
m4:
externals:
- spec: m4@1.4.18
Expand All @@ -125,6 +121,10 @@ packages:
externals:
- spec: pkgconf@1.4.2
prefix: /usr
sed:
externals:
- spec: sed@4.5
prefix: /usr
tar:
externals:
- spec: tar@1.30
Expand Down
23 changes: 23 additions & 0 deletions doc/modulefile_templates/node.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#%Module1.0

module-whatis "Provides an node.js-20.10.0 installation for use with spack."

# Only allow one instance of compiler to load
conflict ecflow

proc ModulesHelp { } {
puts stderr "Provides an node.js-20.10.0 installation for use with spack."
}

if { [ module-info mode load ] && ![ is-loaded gcc/10.3.0 ] } {
module load gcc/10.3.0
}

# Set this value
set NODEJS_PATH "/p/app/projects/NEPTUNE/spack-stack/node-js-20.10.0/gcc-10.3.0"

prepend-path PATH "${NODEJS_PATH}/bin"
prepend-path LD_LIBRARY_PATH "${NODEJS_PATH}/lib"
prepend-path LIBRARY_PATH "${NODEJS_PATH}/lib"
prepend-path CPATH "${NODEJS_PATH}/include"
prepend-path CMAKE_PREFIX_PATH "${NODEJS_PATH}"
22 changes: 21 additions & 1 deletion doc/source/MaintainersSection.rst
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,7 @@ mysql
NAVY HPCMP Narwhal
------------------------------

On Narwhal, ``git-lfs``, ``qt``, ``ecflow``, and ``mysql`` need to be installed as a one-off before spack can be used.
On Narwhal, ``git-lfs``, ``qt``, ``ecflow``, and ``mysql`` need to be installed as a one-off before spack can be used. Also, temporarily it is necessary to install ``node.js`` as an external package to work around build errors for ``py-jupyter-server`` (see https://github.com/JCSDA/spack-stack/issues/928 and https://github.com/spack/spack/issues/41899).

git-lfs
The following instructions install ``git-lfs`` in ``/p/app/projects/NEPTUNE/spack-stack/git-lfs-2.10.0``. Version 2.10.0 is the default version for Narwhal. First, download the ``git-lfs`` RPM on a system with full internet access (e.g., Derecho) using ``wget https://download.opensuse.org/repositories/openSUSE:/Leap:/15.2/standard/x86_64/git-lfs-2.10.0-lp152.1.2.x86_64.rpm`` and copy this file to ``/p/app/projects/NEPTUNE/spack-stack/git-lfs-2.10.0/src``. Then switch to Narwhal and run the following commands.
Expand Down Expand Up @@ -397,6 +397,26 @@ ecflow
mysql
``mysql`` must be installed separately from ``spack`` using a binary tarball provided by the MySQL community. Follow the instructions in :numref:`Section %s <MaintainersSection_MySQL>` to install ``mysql`` in ``/p/app/projects/NEPTUNE/spack-stack/mysql-8.0.31``.

node.js
``node.js`` is difficult to install via ``spack``, but is needed to install certain Python packages. The complication is that when using a newer ``gcc`` compiler (either directly or as backend for ``icc`` etc.), the OS ``node.js`` errors out with unresolved symbols in the ``libstdc++`` library. Therefore, we need to install ``node.js`` with ``gcc@10.3.0`` loaded, and create modulefile ``node.js/20.10.0`` from template ``modulefiles/node.js``.

.. code-block:: console

module unload PrgEnv-cray
module load PrgEnv-gnu/8.3.2
module unload gcc
module load gcc/10.3.0

mkdir -p node-js-20.10.0/src && cd node-js-20.10.0/src
wget https://nodejs.org/dist/v20.10.0/node-v20.10.0.tar.gz
tar -xvzf node-v20.10.0.tar.gz
cd node-v20.10.0/
./configure --partly-static \
--prefix=/p/app/projects/NEPTUNE/spack-stack/node-js-20.10.0/gcc-10.3.0 \
2>&1 | tee log.config
make 2>&1 | tee log.make
make install 2>&1 | tee log.install

.. _MaintainersSection_Nautilus:

------------------------------
Expand Down
Loading
Loading