-
Notifications
You must be signed in to change notification settings - Fork 2
/
candia.def
56 lines (42 loc) · 1.89 KB
/
candia.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
Bootstrap: docker
From: continuumio/miniconda3:4.8.3
%files
candia_env.yaml
%post
mkdir -p /cephyr
mkdir -p /local
mkdir -p /apps
mkdir -p /usr/share/lmod/lmod
mkdir -p /var/hasplm
mkdir -p /var/opt/thinlinc
mkdir -p /usr/lib64
touch /usr/lib64/libdlfaker.so
touch /usr/lib64/libvglfaker.so
touch /usr/bin/nvidia-smi
apt-get update && apt-get install -y --no-install-recommends libgomp1 libicu-dev build-essential libcurl4-openssl-dev libxml2-dev libssl-dev r-base pandoc libz-dev
/opt/conda/bin/conda env update --name base --file candia_env.yaml --prune
######
# Workaround: Use conda JDK package since Spark looks for older Java 1.8.0 in system dir
######
mkdir -p /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin
ln -s /opt/conda/bin/java /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java
######
# Workaround: C libraries installed by conda as dependencies are a bit ouf date so we use the system ones
# Ref: https://conda.continuum.narkive.com/nGVLDlYz/r-jupyter-cxxabi-version-not-found
######
mv /opt/conda/lib/libstdc++.so.6 /opt/conda/lib/libstdc++.so.6_conda
mv /opt/conda/lib/libgomp.so.1 /opt/conda/lib/libgomp.so.1_conda
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /opt/conda/lib/libstdc++.so.6
ln -s /usr/lib/x86_64-linux-gnu/libgomp.so.1 /opt/conda/lib/libgomp.so.1
# Avoid warnings about locale
echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen
locale-gen && update-locale LANG=en_US.UTF-8
#####
# Install R pacakges
#####
R -e "install.packages('devtools', dependencies = T)" && R -e "library('devtools'); install_version('tidyverse', version='1.3.0'); install_version('data.table', version='1.12.8')"
R -e "install.packages(c('feather', 'filesstrings', 'optparse', 'yaml'))"
%environment
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/conda/lib
%runscript
exec "$@"