2
2
3
3
set -ex
4
4
5
- if command -v sudo > /dev/null 2>&1 ; then
6
- SUDO=sudo
7
- else
8
- if [[ $EUID -ne 0 ]]; then
9
- echo " This script requires 'sudo' to install packages. Please install 'sudo' or run as root."
10
- exit 1
5
+ sudo_wrapper () {
6
+ if command -v sudo > /dev/null 2>&1 ; then
7
+ SUDO=" sudo"
8
+ else
9
+ if [[ $EUID -ne 0 ]]; then
10
+ echo " This script requires 'sudo' to install packages. Please install 'sudo' or run as root."
11
+ exit 1
12
+ fi
13
+ SUDO=" "
11
14
fi
12
- fi
15
+ $SUDO " $@ "
16
+ }
13
17
14
18
require_fetch ()
15
19
{
@@ -27,7 +31,7 @@ require_fetch()
27
31
# https://github.com/cea-hpc/modules
28
32
install_environment_modules_apt () {
29
33
echo " Installing environment-modules package..."
30
- $SUDO apt-get install -y environment-modules
34
+ sudo_wrapper apt-get install -y environment-modules
31
35
echo " Environment-modules installed."
32
36
echo " Sourcing modules.sh script to set up environment modules..."
33
37
source /etc/profile.d/modules.sh
@@ -62,8 +66,8 @@ install_gcc_brew()
62
66
install_gcc_apt ()
63
67
{
64
68
if [ " $version " == " latest" ]; then
65
- $SUDO apt-get update
66
- $SUDO apt-get install -y gcc gfortran g++
69
+ sudo_wrapper apt-get update
70
+ sudo_wrapper apt-get install -y gcc gfortran g++
67
71
else
68
72
# Check whether the system gcc version is the version we are after.
69
73
cur=$( apt show gcc | grep " Version" | cut -d' :' -f3 | cut -d' -' -f1)
@@ -77,15 +81,15 @@ install_gcc_apt()
77
81
fi
78
82
else
79
83
# Install the PPA for installing other versions of gcc.
80
- $SUDO add-apt-repository --yes ppa:ubuntu-toolchain-r/test
81
- $SUDO apt-get update
84
+ sudo_wrapper add-apt-repository --yes ppa:ubuntu-toolchain-r/test
85
+ sudo_wrapper apt-get update
82
86
fi
83
87
84
88
if [ " ${needs_install} " == " 1" ]; then
85
- $SUDO apt-get install -y gcc-${version} gfortran-${version} g++-${version}
89
+ sudo_wrapper apt-get install -y gcc-${version} gfortran-${version} g++-${version}
86
90
fi
87
91
88
- $SUDO update-alternatives \
92
+ sudo_wrapper update-alternatives \
89
93
--install /usr/bin/gcc gcc /usr/bin/gcc-${version} 100 \
90
94
--slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${version} \
91
95
--slave /usr/bin/gcov gcov /usr/bin/gcov-${version} \
@@ -376,25 +380,25 @@ install_intel_apt()
376
380
require_fetch
377
381
local _KEY=" GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB"
378
382
$fetch https://apt.repos.intel.com/intel-gpg-keys/$_KEY > $_KEY
379
- $SUDO apt-key add $_KEY
383
+ sudo_wrapper apt-key add $_KEY
380
384
rm $_KEY
381
385
echo " deb https://apt.repos.intel.com/oneapi all main" \
382
- | $SUDO tee /etc/apt/sources.list.d/oneAPI.list
383
- $SUDO apt-get update
386
+ | sudo_wrapper tee /etc/apt/sources.list.d/oneAPI.list
387
+ sudo_wrapper apt-get update
384
388
385
389
if [ " $version " == " latest" ]; then
386
- $SUDO apt-get install -y \
390
+ sudo_wrapper apt-get install -y \
387
391
intel-oneapi-compiler-fortran \
388
392
intel-oneapi-compiler-dpcpp-cpp
389
393
else
390
394
# c/cpp compiler package names changed with 2024+
391
395
case $version in
392
396
2024* | 2025* )
393
- $SUDO apt-get install -y \
397
+ sudo_wrapper apt-get install -y \
394
398
intel-oneapi-compiler-{fortran,dpcpp-cpp}-$version
395
399
;;
396
400
* )
397
- $SUDO apt-get install -y \
401
+ sudo_wrapper apt-get install -y \
398
402
intel-oneapi-compiler-{fortran,dpcpp-cpp-and-cpp-classic}-$version
399
403
;;
400
404
esac
@@ -462,7 +466,7 @@ install_intel_dmg()
462
466
require_fetch
463
467
$fetch $MACOS_HPCKIT_URL > m_HPCKit.dmg
464
468
hdiutil attach m_HPCKit.dmg
465
- $SUDO /Volumes/" $( basename " $MACOS_HPCKIT_URL " .dmg) " /bootstrapper.app/Contents/MacOS/bootstrapper -s \
469
+ sudo_wrapper /Volumes/" $( basename " $MACOS_HPCKIT_URL " .dmg) " /bootstrapper.app/Contents/MacOS/bootstrapper -s \
466
470
--action install \
467
471
--eula=accept \
468
472
--continue-with-optional-error=yes \
@@ -598,10 +602,10 @@ install_nvidiahpc_apt()
598
602
599
603
# install NVIDIA HPC SDK
600
604
echo " Installing NVIDIA HPC SDK $version ..."
601
- curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | $SUDO gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg
602
- echo ' deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | $SUDO tee /etc/apt/sources.list.d/nvhpc.list
603
- $SUDO apt-get update -y
604
- $SUDO apt-get install -y nvhpc-$cversion
605
+ curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo_wrapper gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg
606
+ echo ' deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo_wrapper tee /etc/apt/sources.list.d/nvhpc.list
607
+ sudo_wrapper apt-get update -y
608
+ sudo_wrapper apt-get install -y nvhpc-$cversion
605
609
echo " NVIDIA HPC SDK $version installed."
606
610
607
611
# load NVIDIA HPC SDK module
0 commit comments