-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapptainer.def
127 lines (104 loc) · 6.18 KB
/
apptainer.def
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Bootstrap: docker
From: rockylinux/rockylinux:8.5
%post
yum -y upgrade
yum -y install dnf-plugins-core
yum -y install glibc-langpack-en
#PYTHON_VERSION=3.9 # also used later
#yum -y module install python39:$PYTHON_VERSION # Why is the module not "python3"!
yum -y module install swig:4.0 # rather than 3.0
yum -y module install ruby:2.7 # rather than 2.5
yum -y module install postgresql:13/client # rather than 10/server
yum -y module install subversion:1.14 # rather than 1.10
#yum -y module install perl:5.30 # rather than 5.26
yum -y install yum-utils
yum-config-manager -y --enable powertools
yum -y install epel-release
yum-config-manager -y --enable epel
yum -y install --allowerasing coreutils # coreutils-single doesn't provide /usr/bin/pinky
yum -y install --allowerasing libcurl # libcurl-minimal doesn't include ssh access
yum -y install man
yum -y install man-pages
# System things, these are just guesses, no doubt there are many more needed
yum -y install logrotate net-tools nvme-cli sssd tcpdump
yum -y install golang-github-prometheus-node-exporter
# Slurm
# Note: brings in things for which we might want to add -devel packages: hdf5, libgfortram
# yum -y install slurm slurm-pmi slurm-perlapi
# Infiniband
#yum -y group install 'Infiniband Support'
#yum -y install libibverbs
#yum -y install libibverbs-utils
yum -y install librdmacm
#yum -y install librdmacm-utils
#yum -y install rdma-core
yum -y install ibacm
#yum -y install infiniband-diags
#yum -y install libibmad
#yum -y install libibumad
# Tools
yum -y install bison byacc flex # parsing
yum -y install gnuplot intltool dos2unix GraphicsMagick jq # misc
yum -y install man-pages gdb ctags patchutils diffutils # dev
yum -y install libtool m4 autoconf automake make patch # building
yum -y install wget curl rsync mailx telnet lynx # network
yum -y install bzip2 zip unzip bsdtar p7zip # compression
yum -y install which time sudo strace ltrace lsof quota file patchelf # system
yum -y install psmisc # system
yum -y install munge Lmod datamash stress pigz # HPC
yum -y install perl ruby bc # interpreters
yum -y install subversion git git-lfs # version control
yum -y install vim-enhanced emacs emacs-nox nano gedit micro ed # editors
yum -y install fish zsh ksh tcsh bash-completion # shells
yum -y install tmux screen mc tree htop pspg expect # terminal things
yum -y install pdsh pdsh-rcmd-ssh # pdsh-mod-slurm # pdsh
yum -y install xterm xorg-x11-server-Xvfb # X11
# Libraries which user programs can reasonably build against
function install_devel {
yum -y install ${@/%/-devel}
}
install_devel glibc glib2 libcurl libdb libdrm libffi libidn libssh2 gdbm
install_devel elfutils-libelf # XALT
install_devel munge libjwt json-c compat-lua # slurm
install_devel readline ncurses # terminal
install_devel cairo gd fontconfig libfontenc freetype graphite2 harfbuzz # drawing and fonts
install_devel jbigkit libjpeg-turbo libpng libtiff giflib libwebp # images
install_devel expat gettext libunistring libxml2 libxslt pcre pcre2 # text
install_devel libICE libX11 libXdmcp libXext libXfont2 libXrandr libXrender libXaw # X11
install_devel libXft libXmu libXpm libXScrnSaver libXt libXtst libXv libxkbfile # X11
install_devel libxshmfence libxcb freeglut motif gtk2 gtk3 qt5-qtbase tcl tk # GUIs
install_devel bzip2 libzstd lzo snappy xz zlib libarchive # compression
install_devel hwloc numactl lm_sensors # hardware
install_devel mariadb-connector-c libquadmath java-latest-openjdk numactl # misc
# For existing binaries
yum -y install libpng12 libpng15
yum -y install compat-openssl10 ncurses-compat-libs # and compat-libtiff3 ?
yum -y install libnsl
yum-config-manager -y --enable baseos-debug
yum -y install glibc-debuginfo
#yum -y install python${PYTHON_VERSION//./}-psycopg2
#pip${PYTHON_VERSION} install sqlalchemy
#pip${PYTHON_VERSION} install python-dateutil
#pip${PYTHON_VERSION} install click-completion
yum -y install python3-psycopg2 python3-sqlalchemy python3-dateutil python3-click
# Dunno what this is, but it fails.
# alternatives --set python /usr/bin/python3 || 0
# Experimental below here
set +e
# This works but isn't needed yet
#wget -q https://sourceforge.net/projects/virtualgl/files/2.6.5/VirtualGL-2.6.5.x86_64.rpm
#yum -y install VirtualGL-2.6.5.x86_64.rpm
#rm -f VirtualGL-2.6.5.x86_64.rpm
# This works but isn't needed yet
#TURBOVNC_VERSION=2.2.4
#wget https://sourceforge.net/projects/turbovnc/files/${TURBOVNC_VERSION}/turbovnc-${TURBOVNC_VERSION}.x86_64.rpm -q
#yum install -y turbovnc-${TURBOVNC_VERSION}.x86_64.rpm
#rm -f turbovnc-${TURBOVNC_VERSION}.x86_64.rpm
# Not useful until this becomes a real node rather than a container?
#yum config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
#yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
#yum install nvidia-driver nvidia-settings
# OpenHPC specifies a whole lot of scientific libs which we have in modules. And we found Lmod elsewhere. So no need for it?
#yum -y install http://repos.openhpc.community/OpenHPC/2/CentOS_8/x86_64/ohpc-release-2-1.el8.x86_64.rpm
#yum -y install lmod-ohpc
yum clean all # Save 75 MB?