-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathbuild_plugin.sh
More file actions
executable file
·119 lines (100 loc) · 3.69 KB
/
build_plugin.sh
File metadata and controls
executable file
·119 lines (100 loc) · 3.69 KB
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
#!/bin/bash
cd /Trelis-sdk
dpkg -i Trelis-$1-Lin64.deb
cd /opt
tar -xzvf /Trelis-sdk/Trelis-SDK-$1-Lin64.tar.gz
cd /opt/Trelis-16.5
tar -xzvf /Trelis-sdk/Trelis-SDK-$1-Lin64.tar.gz
apt-get update -y
apt-get install -y autogen autoconf libtool libeigen3-dev libhdf5-dev patchelf gfortran git cmake
cd
# Setup
CURRENT=$(pwd)
SCRIPTPATH=`dirname $(dirname $(realpath $0))`
PLUGIN_DIR="plugin-build"
mkdir ${PLUGIN_DIR}
PLUGIN_ABS_PATH=${CURRENT}/${PLUGIN_DIR}
echo "Building the Trelis plugin in ${CURRENT}\\${PLUGIN_DIR}"
unset LD_LIBRARY_PATH
cd ${PLUGIN_ABS_PATH}
ln -s $SCRIPTPATH/ ./
mkdir -pv moab/bld
cd moab
git clone https://bitbucket.org/fathomteam/moab -b Version5.1.0
cd moab
autoreconf -fi
cd ../bld
../moab/configure CXXFLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 \
--disable-blaslapack \
--enable-shared \
--enable-optimize \
--disable-debug \
--disable-blaslapack \
--with-eigen3=/usr/include/eigen3 \
--with-hdf5=/usr/lib/x86_64-linux-gnu/hdf5/serial \
--prefix=${PLUGIN_ABS_PATH}/moab
make -j`grep -c processor /proc/cpuinfo`
make install
cd ${PLUGIN_ABS_PATH}
mkdir -pv DAGMC/bld
cd DAGMC
git clone https://github.com/bam241/DAGMC -b preproc_plugin
cd bld
cmake ../DAGMC -DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_CXX11_ABI=0 \
-DMOAB_DIR=${PLUGIN_ABS_PATH}/moab \
-DBUILD_UWUW=ON \
-DBUILD_TALLY=OFF \
-DBUILD_BUILD_OBB=OFF \
-DBUILD_MAKE_WATERTIGHT=ON \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${PLUGIN_ABS_PATH}/DAGMC
make -j`grep -c processor /proc/cpuinfo`
make install
cd ${PLUGIN_ABS_PATH}/Trelis-plugin
git submodule update --init
cd ${PLUGIN_ABS_PATH}
mkdir -pv bld
cd bld
ls /opt/Trelis-${1::4}
ls /opt/Trelis-*
ls /opt
cmake ../Trelis-plugin -DCUBIT_ROOT=/opt/Trelis-${1::4} \
-DDAGMC_DIR=${PLUGIN_ABS_PATH}/DAGMC \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${PLUGIN_ABS_PATH}
make -j`grep -c processor /proc/cpuinfo`
make install
echo " cmake ../Trelis-plugin -DCubit_DIR=/opt/Trelis-${1::4} \
-DCUBIT_ROOT=/opt/Trelis-${1::4} \
-DDAGMC_DIR=${PLUGIN_ABS_PATH}/DAGMC \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${PLUGIN_ABS_PATH} "
cd ${PLUGIN_ABS_PATH}
mkdir -p pack/bin/plugins/svalinn
cd pack/bin/plugins/svalinn
# Copy all needed libraries into current directory
cp -pPv ${PLUGIN_ABS_PATH}/lib/* .
cp -pPv ${PLUGIN_ABS_PATH}/moab/lib/libMOAB.so* .
cp -pPv ${PLUGIN_ABS_PATH}/DAGMC/lib/libdagmc.so* .
cp -pPv ${PLUGIN_ABS_PATH}/DAGMC/lib/libmakeWatertight.so* .
cp -pPv ${PLUGIN_ABS_PATH}/DAGMC/lib/libpyne_dagmc.so .
cp -pPv ${PLUGIN_ABS_PATH}/DAGMC/lib/libuwuw.so .
cp -pPv /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.100* .
chmod 644 *
# Set the RPATH to be the current directory for the DAGMC libraries
patchelf --set-rpath /opt/Trelis-${1::4}/bin/plugins/svalinn libMOAB.so
patchelf --set-rpath /opt/Trelis-${1::4}/bin/plugins/svalinn libdagmc.so
patchelf --set-rpath /opt/Trelis-${1::4}/bin/plugins/svalinn libmakeWatertight.so
patchelf --set-rpath /opt/Trelis-${1::4}/bin/plugins/svalinn libpyne_dagmc.so
patchelf --set-rpath /opt/Trelis-${1::4}/bin/plugins/svalinn libuwuw.so
# Create the Svalinn plugin tarball
cd ..
ln -sv svalinn/libsvalinn_plugin.so .
cd ../..
tar --sort=name -czvf svalinn-plugin_linux_$1.tgz bin
mv -v svalinn-plugin_linux_$1.tgz /Trelis-sdk
cd ..
rm -rf pack bld DAGMC lib moab
rm Trelis-plugin