Skip to content

build Linux (Deprecated)

Shane Canon edited this page Dec 21, 2016 · 1 revision

Please consult the docs in the doc directory in the repo.

Building udiRoot on a x86_64 cluster

Building and installing on a x86_64 cluster requires that you install Shifter into the same path on all login and compute nodes.

Install Dependencies

  1. Install json-c (including devel packages)
  2. Install munge (including devel packages)
  3. Install curl (including devel packages)
  4. Install openssl and zlib (including devel packages)

Start & test munge

sudo /etc/init.d/munged start
munge -n | ssh imagegwnode unmunge

Build and install udiRoot

Get the latest version:

wget 'https://bitbucket.org/berkeleylab/shifter/get/15.12.0.tar.bz2'
tar xjf 15.12.0.tar.bz2 
cd berkeleylab-shifter-a5f1dbaeb86b #a5f1dbaeb86b is the hash of the release 15.12.0

Build it and install it:

export APPS=/opt/
cd udiRoot
./autogen.sh
export CFLAGS='-O0 -g'   # use this if you need to debug the code 
export CXXFLAGS='-O0 -g' # use this if you need to debug the code 
mkdir -p ${APPS}/system/opt/shifter/15.12.0/udiRoot && ./configure --prefix=${APPS}/system/opt/shifter/15.12.0/udiRoot --with-json-c --with-libcurl --with-munge --with-slurm
make && sudo make install && ln -s ${APPS}/system/opt/shifter/15.12.0 ${APPS}/system/opt/shifter/default

Configuration

An important step when doing the configuration is making sure that the passwd and group file is properly filled. When using LDAP, doing a simply

getent group > ./group 

wont' do the trick as sometimes groups are not consistently generated (i.e. your username is on groups A, B and C, but the groups file shows that your username only belongs to group C). Make sure the generated group file is correct.

Also make sure the following is set to tmpfs:

rootfsType=rootfs