forked from MJ0706/HCM-project
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSingularity_fenics2017_msucompbiomechlab
131 lines (110 loc) · 5.04 KB
/
Singularity_fenics2017_msucompbiomechlab
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
128
129
130
131
Bootstrap: docker
From: quay.io/fenicsproject/stable:2017.1.0
#FROM quay.io/fenicsproject/stable:2016.1.0
#FROM quay.io/fenicsproject/stable:2016.2.0
#FROM quay.io/fenicsproject/stable:2017.2.0
#FROM quay.io/fenicsproject/stable:current
#FROM quay.io/fenicsproject/stable:latest
%post -c /bin/bash
# Setup a very minimal bashrc file
mkdir -p /opt
echo 'PS1="Singularity \w> "' > /opt/bashrc
##################### INSTALLING SUNDIALS #########################################################################
wget https://computing.llnl.gov/projects/sundials/download/sundials-3.2.1.tar.gz
tar -xf sundials-3.2.1.tar.gz
cd sundials-3.2.1
mkdir build; cd build
ls /usr/local
cmake -DCMAKE_INSTALL_PREFIX=/usr/local \
-DCMAKE_LAPACK_ENABLE=ON \
-DMPI_ENABLE=ON \
-DOPENMP_ENABLE=ON \
-DLAPACK_ENABLE=ON \
-DPETSC_ENABLE=ON \
-DPETSC_DIR=/usr/local/petsc-64 \
..
make
make install
# # Install fenics
apt-get update
apt-get -y install libatlas-base-dev
apt-get -y install libglu1
apt-get -y install libfontconfig1 libxrender1 libxcursor-dev libxft2 libxinerama1 libexpat1 libsm6 libxext
apt-get -y install python-pip
apt-get -y install python3.5
apt-get -y install virtualenv
apt-get -y install wget
apt-get -y install libyaml-dev
apt-get -y install cmake
apt-get -y install make
apt-get -y install mpich
apt-get -y install valgrind
apt-get -y install m4
apt-get -y install bison
apt-get -y install libopenblas-dev
apt-get -y install libopenblas-base
apt-get -y install swig
apt-get -y install libboost-all-dev
apt-get -y install flex
apt-get -y install git
apt-get -y install gnuplot
apt-get -y install vim
#apt-get -y install gsl-bin
#apt-get -y install libgsl0-dev
#apt-get -y install libgsl0ldbl
apt-get -y install python-future python-numpy python-scipy python-matplotlib; apt-get clean
pip install --user pyquaternion
##################### INSTALLING FENICSCHTOOLS #########################################################################
wget https://github.com/mikaem/fenicstools/archive/2016.1.tar.gz \
&& tar xf 2016.1.tar.gz \
&& cd fenicstools-2016.1 \
&& python setup.py install --prefix=/usr/local \
&& cd ..
########################################################################################################################
##################### INSTALLING GSL 2.6 ###############################################################################
wget ftp://ftp.gnu.org/gnu/gsl/gsl-2.6.tar.gz \
&& tar -zxvf gsl-2.6.tar.gz \
&& cd gsl-2.6 \
&& ./configure --prefix=/usr \
&& make \
&& make install \
&& cd ..
########################################################################################################################
##################### INSTALL GMSH ###################################################################################
wget http://gmsh.info/bin/Linux/gmsh-2.12.0-Linux64.tgz \
&& tar xf gmsh-2.12.0-Linux64.tgz \
&& cp gmsh-2.12.0-Linux/bin/gmsh /usr/local/bin/gmsh \
########################################################################################################################
######################## INSTALLING VTK ################################################################################
apt-get update \
&& apt-get install --yes --no-install-recommends \
wget cmake build-essential \
libboost-all-dev \
libgl1-mesa-dev libxt-dev \
&& rm -rf /var/lib/apt/lists/*
wget https://gitlab.kitware.com/vtk/vtk/-/archive/v8.1.1/vtk-v8.1.1.tar.gz \
&& tar xf vtk-v8.1.1.tar.gz \
&& cmake -Hvtk-v8.1.1 -Bvtk-v8.1.1/build \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_DOCUMENTATION=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DVTK_WRAP_PYTHON:BOOL=ON \
-DVTK_WRAP_PYTHON_SIP:BOOL=ON \
&& make -j8 -C vtk-v8.1.1/build install \
&& rm -rf vtk-v8.1.1.tar.gz vtk-v8.1.1
########################################################################################################################
apt-get update; apt-get -y install gnuplot git; apt-get clean
#rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
mkdir code
%environment
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7:/usr/local/lib/python2.7/site-packages:/usr/local/lib/python2.7/site-packages/vtk
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/local/lib
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/include/vtk-8.1:/usr/include/mpi:/usr/local/include
export PATH=$PATH:/gmsh-2.12.0-Linux/bin
%runscript
echo "Welcome to the Fenics!"
# Disable annoying sudo message
touch ~/.sudo_as_admin_successful
exec /bin/bash --rcfile /opt/bashrc "$@"