Skip to content

Linux x86_64 Build Example

Kevin Huck edited this page Oct 6, 2017 · 9 revisions

Building on for x86_64 is somewhat straightforward, but you may have to build some pre-requisite software. To set up your environment, do the following:

wget https://sqlite.org/2017/sqlite-autoconf-3200100.tar.gz
tar -xvzf sqlite-autoconf-3200100.tar.gz
cd sqlite-autoconf-3200100
./configure --prefix=/path/to/where/sqlite/will/be/installed
make
make install
  • Get and build EVPath (similar instructions to configuring for ADIOS)
mkdir chaos
cd chaos
wget http://www.cc.gatech.edu/systems/projects/EVPath/chaos_bootstrap.pl
# specify installation directory
FLEXPATH_DIR=/path/to/where/flexpath/will/be/installed
perl ./chaos_bootstrap.pl adios-1.12 $FLEXPATH_DIR
perl ./chaos_build.pl
  • Set environment variables
# set path to Flexpath/EVPath (see above)
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${FLEXPATH_DIR}/lib/pkgconfig

# For tracking the environment that SOS is built in:
export SOS_HOST_KNOWN_AS="\"Name of My Cluster\""
export SOS_HOST_NODE_NAME="\"$(uname -n)\""
export SOS_HOST_DETAILED="\"$(uname -o) $(uname -r) $(uname -m)\""
export CC=cc
export CXX=CC
  • Get the SOS source code:
git clone [email protected]:cdwdirect/sos_flow.git
git checkout master
mkdir build-linux
cd build-linux
  • Configure with cmake:
# set an installation prefix location, or just "." for testing
sosdir=$HOME/path/to/sos/installation/prefix
cmake \
        -DCMAKE_BUILD_TYPE=RelWithDebInfo \
        -DSOS_EVPATH_EXTRA_LIBS="-lffs -ldill -lcercs_env -latl -levpath" \
        -DCMAKE_INSTALL_PREFIX=${sosdir} \
        -DCMAKE_C_COMPILER=gcc \
        -DCMAKE_CXX_COMPILER=g++ \
        -DSOSD_CLOUD_SYNC_WITH_EVPATH=TRUE \
        -DSOSD_CLOUD_SYNC_WITH_MPI=FALSE \
        -DMPI_C_NO_INTERROGATE=TRUE \
        -DMPI_Fortran_COMPILER=mpif90 \
        -DMPI_C_COMPILER=mpicc \
        -DMPI_CXX_COMPILER=mpicxx ..
  • Compile!
make -j4
make install