diff --git a/CMakeLists.txt b/CMakeLists.txt
index 545248f498e60db59d26d2f659b0306b91ab9e42..f95aec44072b473dd79251a92d1fd19ddb68136a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,13 +14,13 @@ EXECUTE_PROCESS(COMMAND chaos/common/version.sh)
 
 INCLUDE_DIRECTORIES(. ${PROJECT_SOURCE_DIR}/usr/local/include /usr/local/include /usr/include) 
 LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/usr/local/lib /usr/local/lib /usr/lib)
-ADD_DEFINITIONS(-O3 -Wall)
+ADD_DEFINITIONS(-O3 )
     
 IF( BUILD_FORCE_32 ) 
     MESSAGE( STATUS "Forcing 32 bit compilation" )
-    set (CMAKE_C_FLAGS "-m32 -march=i686")
-    set (CMAKE_CXX_FLAGS "-m32 -march=i686")
-    set (CMAKE_LINK_FLAGS "-m32 -march=i686")
+    set (CMAKE_C_FLAGS "-m32 ")
+    set (CMAKE_CXX_FLAGS "-m32")
+    set (CMAKE_LINK_FLAGS "-m32")
 ENDIF()
 
 IF(NOT BUILD_PREFIX)
diff --git a/bootstrap.sh b/bootstrap.sh
index e1d5b6931c023b7c09f86ae5fe9f55931ec8b1fc..97dbaa7d4e8df6334cdabad6b3d9de23a0865116 100755
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -17,12 +17,13 @@ if [ -n "$CHAOS_BOOST_VERSION" ]; then
 	BOOST_VERSION="1_"$CHAOS_BOOST_VERSION"_0"
 	BOOST_VERSION_IN_PATH="1.$CHAOS_BOOST_VERSION.0"
 else
-	BOOST_VERSION=1_53_0
-	BOOST_VERSION_IN_PATH=1.53.0
+	BOOST_VERSION=1_55_0
+	BOOST_VERSION_IN_PATH=1.55.0
 fi
 
 BOOST_NUMBER_VERSION=$(echo $BOOST_VERSION_IN_PATH |sed "s/[^0-9]//g" )
-LMEM_VERSION=1.0.16
+ZLIB_VERSION=1.2.8
+LMEM_VERSION=1.0.18
 ZMQ_VERSION=zeromq4-x
 COUCHBASE_VERSION=2.2.0
 
@@ -31,10 +32,25 @@ if [ -n "$1" ]; then
 else
     PREFIX=$CHAOS_DIR/usr/local
 fi
+CROSS_HOST_CONFIGURE=""
+if [ -n "$CROSS_HOST" ]; then
+CROSS_HOST_CONFIGURE="-host=$CROSS_HOST"
+fi
 
+do_make() {
+   if !(make -j$NPROC); then
+       echo "## error compiling $1"
+       exit 1
+   fi
+   if !(make install); then
+       echo "## error installing $1"
+       exit 1
+   fi
+
+}
 if [ -n "$CHAOS32" ]; then
-    export CFLAGS="-m32 -arch i386"
-    export CXXFLAGS="-m32 -arch i386"
+    export CFLAGS="-m32"
+    export CXXFLAGS="-m32"
     echo "Force 32 bit binaries"
 fi
 
@@ -71,47 +87,91 @@ if [ ! -d "$BASE_EXTERNAL" ]; then
     mkdir -p $BASE_EXTERNAL
 fi
 
+if [ ! -e "$PREFIX/include/zlib.h" ] || [ ! -e "$PREFIX/lib/libz.a" ]; then
+
+	if !( wget --no-check-certificate -O "$BASE_EXTERNAL/zlib-$ZLIB_VERSION.tar.gz" "http://zlib.net/zlib-$ZLIB_VERSION.tar.gz" ); then
+	    echo "## cannot download http://zlib.net/zlib-$ZLIB_VERSION.tar.gz, aborting "
+	    exit 1;
+	fi
+	if [ -e "$BASE_EXTERNAL/zlib-$ZLIB_VERSION.tar.gz" ]; then
+	    filetar="$BASE_EXTERNAL/zlib-$ZLIB_VERSION.tar.gz";
+	    if !( tar xvfz $filetar -C "$BASE_EXTERNAL" > /dev/null ) then
+		echo "## cannot extract $filetar, aborting "
+		exit 1
+	    fi
+	else
+	    echo "## cannot compile $BASE_EXTERNAL/zlib-$ZLIB_VERSION.tar.gz, aborting"
+	    exit 1
+	fi
+
+if [ -d "$BASE_EXTERNAL/zlib-$ZLIB_VERSION" ]; then
+	    cd $BASE_EXTERNAL/zlib-$ZLIB_VERSION
+	    echo "entering in $BASE_EXTERNAL/zlib-$ZLIB_VERSION"
+	    echo "using $CC and $CXX"
+	    ./configure --prefix=$PREFIX 
+	    do_make "ZLIB"
+else
+    echo "$BASE_EXTERNAL/zlib-$ZLIB_VERSION not found"
+    exit 1
+fi
+fi
+
 
 if [ ! -d "$PREFIX/include/boost" ]; then
     if [ ! -e "$BASE_EXTERNAL/boost_$BOOST_VERSION.tar.gz" ]; then
         echo "Download boost source"
-        wget --no-check-certificate -O $BASE_EXTERNAL/boost_$BOOST_VERSION.tar.gz "http://downloads.sourceforge.net/project/boost/boost/$BOOST_VERSION_IN_PATH/boost_$BOOST_VERSION.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2Ffiles%2Fboost%2F$BOOST_VERSION_IN_PATH%2F&ts=1350734344&use_mirror=freefr"
-
+        if !( wget --no-check-certificate -O $BASE_EXTERNAL/boost_$BOOST_VERSION.tar.gz "http://downloads.sourceforge.net/project/boost/boost/$BOOST_VERSION_IN_PATH/boost_$BOOST_VERSION.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2Ffiles%2Fboost%2F$BOOST_VERSION_IN_PATH%2F&ts=1350734344&use_mirror=freefr" ); then
+	    echo "## cannot download boost_$BOOST_VERSION.tar.gz"
+	    exit 1
+	 fi
+        
     fi
 
     if [ ! -e $BASE_EXTERNAL/boost ]; then
         tar zxvf $BASE_EXTERNAL/boost_$BOOST_VERSION.tar.gz -C $BASE_EXTERNAL
         mv $BASE_EXTERNAL/boost_$BOOST_VERSION $BASE_EXTERNAL/boost
     fi
-
+    
 #install old version of boost log
-	if [ $BOOST_NUMBER_VERSION -le 1530 ] && [ ! -d "$BASE_EXTERNAL/boost_log" ]; then
-		git clone https://cvs.lnf.infn.it/boost_log $BASE_EXTERNAL/boost_log
-
-		if [ ! -d "$BASE_EXTERNAL/boost/boost/log" ]; then
-			echo "link $BASE_EXTERNAL/boost/boost/log -> $BASE_EXTERNAL/boost_log/boost/log"
-			ln -s $BASE_EXTERNAL/boost_log/boost/log $BASE_EXTERNAL/boost/boost/log
-		fi
-
-		if [ ! -d "$BASE_EXTERNAL/boost/libs/log" ]; then
-			echo "link $BASE_EXTERNAL/boost/libs/log -> $BASE_EXTERNAL/boost_log/libs/log"
-			ln -s $BASE_EXTERNAL/boost_log/libs/log $BASE_EXTERNAL/boost/libs/log
-		fi
+    if [ $BOOST_NUMBER_VERSION -le 1530 ] && [ ! -d "$BASE_EXTERNAL/boost_log" ]; then
+	
+	if !(git clone https://cvs.lnf.infn.it/boost_log $BASE_EXTERNAL/boost_log); then
+	    echo "## cannot git clone  https://cvs.lnf.infn.it/boost_log"
+	    exit 1
 	fi
+	
+	if [ ! -d "$BASE_EXTERNAL/boost/boost/log" ]; then
+	    echo "link $BASE_EXTERNAL/boost/boost/log -> $BASE_EXTERNAL/boost_log/boost/log"
+	    ln -s $BASE_EXTERNAL/boost_log/boost/log $BASE_EXTERNAL/boost/boost/log
+	fi
+	
+	if [ ! -d "$BASE_EXTERNAL/boost/libs/log" ]; then
+	    echo "link $BASE_EXTERNAL/boost/libs/log -> $BASE_EXTERNAL/boost_log/libs/log"
+	    ln -s $BASE_EXTERNAL/boost_log/libs/log $BASE_EXTERNAL/boost/libs/log
+	fi
+    fi
 
 
-    if [ ! -f "$BASE_EXTERNAL/boost/b2" ]; then
-        echo "Boostrapping boost"
-        cd $BASE_EXTERNAL/boost
-        ./bootstrap.sh
+    echo "Boostrapping boost"
+    cd $BASE_EXTERNAL/boost
+    if !( ./bootstrap.sh ); then
+	echo "## cannot bootstrap boost"
+	exit 1;
+    fi
+
+    echo "-> $CROSS_HOST" 
+    if [ -n "$CROSS_HOST" ]; then
+	echo "* Patching project-config.jam to cross compile for $CROSS_HOST"
+	sed --in-place=.bak -e "s/using gcc/using gcc : arm : $CROSS_HOST-g++/" project-config.jam 
     fi
+    
 
     cd $BASE_EXTERNAL/boost
     echo "Compile and install boost libraries into $PREFIX/"
 
-if [ -n "$CHAOS32" ]; then
-    	echo "INSTALLING BOOST X86 32"
-    	./b2 link=shared cflags=-m32 cxxflags=-m32 architecture=x86 address-model=32 --prefix=$PREFIX --with-iostreams --with-program_options --with-chrono --with-filesystem --with-log --with-regex --with-system --with-thread --with-atomic --with-timer install
+    if [ -n "$CHAOS32" ]; then
+    	echo "INSTALLING BOOST 32"
+    	./b2 link=shared cflags=-m32 cxxflags=-m32 address-model=32 --prefix=$PREFIX --with-iostreams --with-program_options --with-chrono --with-filesystem --with-log --with-regex --with-system --with-thread --with-atomic --with-timer install
     else
         if [ `echo $OS | tr [:upper:] [:lower:]` = `echo "Darwin" | tr [:upper:] [:lower:]` ] && [ $KERNEL_SHORT_VER -ge 1300 ]; then
             ./b2  toolset=clang cxxflags=-stdlib=libstdc++ linkflags=-stdlib=libstdc++ link=shared --prefix=$PREFIX --with-program_options --with-chrono --with-filesystem --with-iostreams --with-log --with-regex --with-system --with-thread --with-atomic --with-timer install
@@ -135,12 +195,14 @@ if [ ! -d "$PREFIX/include/modbus" ] || [ ! -d "$BASE_EXTERNAL/libmodbus" ]; the
                 cd $BASE_EXTERNAL/libmodbus/
                 git pull
         fi
+
 ./autogen.sh
+./configure --prefix=$PREFIX $CROSS_HOST_CONFIGURE
+
 
-./configure --prefix=$PREFIX
 make clean
-make
-make install
+do_make "MODBUS"
+
 echo "libmodbus done"
 fi
 
@@ -148,18 +210,22 @@ if [ ! -d "$PREFIX/include/msgpack" ]; then
 	echo "Setup MSGPACK"
 	if [ ! -d "$BASE_EXTERNAL/msgpack-c" ]; then
 		echo "Install msgpack-c"
-		git clone https://github.com/msgpack/msgpack-c.git $BASE_EXTERNAL/msgpack-c
-		cd $BASE_EXTERNAL/msgpack-c/
+		if !(git clone https://github.com/msgpack/msgpack-c.git $BASE_EXTERNAL/msgpack-c); then
+		    echo "## cannot clone https://github.com/msgpack/msgpack-c.git"
+		    exit 1
+		fi
+	
 	else
 		echo "Update msgpack-c"
 		cd $BASE_EXTERNAL/msgpack-c/
 		git pull
 	fi
+cd $BASE_EXTERNAL/msgpack-c/
 ./bootstrap
-./configure --prefix=$PREFIX
+./configure $CROSS_HOST_CONFIGURE --prefix=$PREFIX 
+
 make clean
-make
-make install
+do_make "MSG PACK"
 echo "MSGPACK done"
 fi
 
@@ -168,7 +234,10 @@ if [ ! -d "$PREFIX/include/mp" ]; then
 	if [ ! -d "$BASE_EXTERNAL/mpio" ]; then
 		echo "Install mpio"
 	#    git clone https://github.com/frsyuki/mpio.git $BASE_EXTERNAL/mpio
-		git clone https://github.com/bisegni/mpio.git $BASE_EXTERNAL/mpio
+		if !(git clone https://github.com/bisegni/mpio.git $BASE_EXTERNAL/mpio); then
+		    echo "## cannot git clone https://github.com/bisegni/mpio.git "
+		    exit 1
+		fi
 		cd $BASE_EXTERNAL/mpio
 	else
 		echo "Update mpio"
@@ -176,14 +245,13 @@ if [ ! -d "$PREFIX/include/mp" ]; then
 		git pull
 	fi
 	./bootstrap
-	if [ `echo $OS | tr [:upper:] [:lower:]` = `echo "linux" | tr [:upper:] [:lower:]` ] && [ $KERNEL_SHORT_VER -le 2625 ]; then
-         ./configure --prefix=$PREFIX
+	if [ `echo $OS | tr "[:upper:]" "[:lower:]"` = `echo "linux" | tr "[:upper:]" "[:lower:]"` ] && [ $KERNEL_SHORT_VER -le 2625 ]; then
+         ./configure --prefix=$PREFIX $CROSS_HOST_CONFIGURE
 	else
-         ./configure --disable-timerfd --disable-signalfd --prefix=$PREFIX
+         ./configure --disable-timerfd --disable-signalfd --prefix=$PREFIX $CROSS_HOST_CONFIGURE
 	fi
 	make clean
-	make
-	make install
+	do_make "MPIO"
 	echo "MPIO done"
 fi
 
@@ -192,7 +260,10 @@ if [ ! -d "$PREFIX/include/msgpack/rpc" ]; then
 	if [ ! -d "$BASE_EXTERNAL/msgpack-rpc" ]; then
 		echo "Install msgpack-rpc"
 #git clone https://github.com/msgpack-rpc/msgpack-rpc-cpp.git $BASE_EXTERNAL/msgpack-rpc
-		git clone https://github.com/bisegni/msgpack-rpc-cpp.git $BASE_EXTERNAL/msgpack-rpc
+		if !(git clone https://github.com/bisegni/msgpack-rpc-cpp.git $BASE_EXTERNAL/msgpack-rpc); then
+		    echo "## cannot git clone  https://github.com/bisegni/msgpack-rpc-cpp.git"
+		    exit 1
+   		fi
 		cd $BASE_EXTERNAL/msgpack-rpc
 	else
 		echo "Update msgpack-rpc"
@@ -201,10 +272,10 @@ if [ ! -d "$PREFIX/include/msgpack/rpc" ]; then
 		cd $BASE_EXTERNAL/msgpack-rpc/
 	fi
 	./bootstrap
-	./configure --prefix=$PREFIX --with-mpio=$PREFIX --with-msgpack=$PREFIX
+	./configure --prefix=$PREFIX --with-mpio=$PREFIX --with-msgpack=$PREFIX $CROSS_HOST_CONFIGURE
 	make clean
-	make
-	make install
+	do_make "MSGPACK-RPC"
+
 	echo "MSGPACK-RPC done"
 fi
 
@@ -213,17 +284,19 @@ if [ ! -d "$PREFIX/include/event2" ]; then
 	if [ ! -f "$BASE_EXTERNAL/libevent" ]; then
 		echo "Installing LibEvent"
 	#    git clone git://levent.git.sourceforge.net/gitroot/levent/libevent $BASE_EXTERNAL/libevent
-		git clone http://git.code.sf.net/p/levent/libevent $BASE_EXTERNAL/libevent
+		if !(git clone http://git.code.sf.net/p/levent/libevent $BASE_EXTERNAL/libevent); then
+		    echo "## cannot clone http://git.code.sf.net/p/levent/libevent"
+		    exit 1
+		fi
 		cd $BASE_EXTERNAL/libevent
 	else
 		cd $BASE_EXTERNAL/libevent
 		git pull
 	fi
 	./autogen.sh
-	./configure --prefix=$PREFIX
+	./configure --prefix=$PREFIX $CROSS_HOST_CONFIGURE
 	make clean
-	make
-	make install
+	do_make "LIBEVENT"
 	echo "LIBEVENT done"
 fi
 
@@ -231,17 +304,19 @@ if [ ! -f "$PREFIX/include/uv.h" ]; then
 	echo "Setup LIBUV"
 	if [ ! -f "$BASE_EXTERNAL/libuv" ]; then
 		echo "Installing LibEvent"
-		git clone https://github.com/joyent/libuv.git $BASE_EXTERNAL/libuv
+		if !(git clone https://github.com/joyent/libuv.git $BASE_EXTERNAL/libuv); then
+		    echo "## cannot git clone https://github.com/joyent/libuv.git"
+		    exit 1
+		fi
 		cd $BASE_EXTERNAL/libuv
 	else
 		cd $BASE_EXTERNAL/libuv
 		git pull
 	fi
 ./autogen.sh
-./configure --prefix=$PREFIX
+./configure --prefix=$PREFIX $CROSS_HOST_CONFIGURE
 make clean
-make
-make install
+do_make "LIBUV"
 echo "LIBUV done"
 fi
 
@@ -249,13 +324,15 @@ echo "Setup Couchbase sdk"
 if [ ! -f "$PREFIX/include/libcouchbase/couchbase.h" ]; then
 if [ ! -f "$BASE_EXTERNAL/libcouchbase-$COUCHBASE_VERSION" ]; then
 	echo "Download couchabse source"
-	wget --no-check-certificate -O $BASE_EXTERNAL/libcouchbase-$COUCHBASE_VERSION.tar.gz http://packages.couchbase.com/clients/c/libcouchbase-$COUCHBASE_VERSION.tar.gz
+	if !(wget --no-check-certificate -O $BASE_EXTERNAL/libcouchbase-$COUCHBASE_VERSION.tar.gz http://packages.couchbase.com/clients/c/libcouchbase-$COUCHBASE_VERSION.tar.gz); then
+	    echo "## cannot wget http://packages.couchbase.com/clients/c/libcouchbase-$COUCHBASE_VERSION.tar.gz"
+	    exit 1
+	fi
 	tar zxvf $BASE_EXTERNAL/libcouchbase-$COUCHBASE_VERSION.tar.gz -C $BASE_EXTERNAL
 fi
 cd $BASE_EXTERNAL/libcouchbase-$COUCHBASE_VERSION
-./configure --prefix=$PREFIX --disable-couchbasemock --disable-plugins
-make
-make install
+./configure --prefix=$PREFIX --disable-couchbasemock --disable-plugins $CROSS_HOST_CONFIGURE
+do_make "COUCHBASE"
 echo "Couchbase done"
 fi
 
@@ -263,27 +340,37 @@ echo "Setup MongoDB client"
 if [ ! -f "$PREFIX/include/mongo/client/dbclient.h" ]; then
 	if [ ! -f "$BASE_EXTERNAL/mongo" ]; then
 		echo "Download mongodb client"
-		git clone https://github.com/mongodb/mongo-cxx-driver.git $BASE_EXTERNAL/mongo
+		if !(git clone https://github.com/mongodb/mongo-cxx-driver.git $BASE_EXTERNAL/mongo); then
+		    echo "## cannnot git clone https://github.com/mongodb/mongo-cxx-driver.git"
+		    exit 1
+		fi
 		cd $BASE_EXTERNAL/mongo
 	else
 		cd $BASE_EXTERNAL/mongo
 		git pull
 	fi
 
-scons --prefix=$PREFIX --libpath=$PREFIX/lib --cpppath=$PREFIX/include --extrapath=$PREFIX install-mongoclient
+if !(scons --prefix=$PREFIX --libpath=$PREFIX/lib --cxx=$CXX --cc=$CC --cpppath=$PREFIX/include --extrapath=$PREFIX install-mongoclient); then
+    echo "## error scons configuration of mongo failed, maybe you miss scons package"
+    exit 1
+fi
 echo "Mongodb done"
 fi
 
 echo "Setup LIBMEMCACHED"
 if [ ! -d "$PREFIX/include/libmemcached" ]; then
     echo "Install libmemcached into  $BASE_EXTERNAL/libmemcached"
-    wget --no-check-certificate -O $BASE_EXTERNAL/libmemcached.tar.gz https://launchpad.net/libmemcached/1.0/$LMEM_VERSION/+download/libmemcached-$LMEM_VERSION.tar.gz
+    if !(wget --no-check-certificate -O $BASE_EXTERNAL/libmemcached.tar.gz https://launchpad.net/libmemcached/1.0/$LMEM_VERSION/+download/libmemcached-$LMEM_VERSION.tar.gz); then
+      echo "## cannot wget  https://launchpad.net/libmemcached/1.0/$LMEM_VERSION/+download/libmemcached-$LMEM_VERSION.tar.gz"
+      exit 1
+    fi
+
     tar zxvf $BASE_EXTERNAL/libmemcached.tar.gz -C $BASE_EXTERNAL
     cd $BASE_EXTERNAL/libmemcached-$LMEM_VERSION
-    ./configure --disable-sasl --without-memcached --prefix=$PREFIX
+    ./configure --disable-sasl --host $CROSS_HOST --prefix=$PREFIX  $CROSS_HOST_CONFIGURE
+
     make clean
-    make
-    make install
+    do_make "LIBMEMCACHED"
 fi
 echo "Libmemcached done"
 
@@ -291,7 +378,11 @@ echo "Setup ZMQ"
 if [ ! -f "$PREFIX/include/zmq.h" ]; then
 	if [ ! -d "$BASE_EXTERNAL/$ZMQ_VERSION" ]; then
 	echo "Download zmq source"
-	git clone https://github.com/zeromq/$ZMQ_VERSION.git $BASE_EXTERNAL/$ZMQ_VERSION
+
+	if !(git clone https://github.com/zeromq/$ZMQ_VERSION.git $BASE_EXTERNAL/$ZMQ_VERSION); then
+	    echo "## cannot git clone  https://github.com/zeromq/$ZMQ_VERSION.git"
+	    exit 1
+	fi
 	else
 	echo "Update zmq source"
 	cd $BASE_EXTERNAL/$ZMQ_VERSION
@@ -319,9 +410,9 @@ if [ ! -f "$PREFIX/include/zmq.h" ]; then
 #        make -j4
 #    fi
     ./autogen.sh
-	./configure --prefix=$PREFIX
-	make
-    make install
+	./configure --prefix=$PREFIX $CROSS_HOST_CONFIGURE
+	do_make "ZMQ"
+
 #	./autogen.sh
 #	./configure --prefix=$PREFIX
 #make
@@ -331,6 +422,7 @@ fi
 
 echo "Compile !CHAOS"
 cd $SCRIPTPATH
+
 if [ -n "$CHAOS32" ]; then
     cmake $COMP_TYPE -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DBUILD_FORCE_32=true -DBUILD_PREFIX=$PREFIX $SCRIPTPATH/.
 else
@@ -338,7 +430,7 @@ else
         echo "Use standard CLIB with clang"
         cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-stdlib=libstdc++" $COMP_TYPE -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DBUILD_PREFIX=$PREFIX $SCRIPTPATH/.
     else
-        cmake $COMP_TYPE -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DBUILD_PREFIX=$PREFIX $SCRIPTPATH/.
+        cmake $COMP_TYPE -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX -DCMAKE_CXX_COMPILER=$CXX  -DCMAKE_C_COMPILER=$CC -DBUILD_PREFIX=$PREFIX $SCRIPTPATH/.
     fi
 
 fi
@@ -351,9 +443,15 @@ if [ "$ARCH" = "armv7l" ]; then
 fi
 
 if [ -n "$CHAOS_DEVELOPMENT" ]; then
-    make -j$NPROC  VERBOSE=1
+    if !(make -j$NPROC  VERBOSE=1); then
+	echo "## error compiling !CHAOS DEVELOPMENT"
+	exit 1
+    fi
 else
-    make -j$NPROC
+    if !(make -j$NPROC); then
+	echo "## error compiling !CHAOS"
+	exit 1
+    fi
 fi
 make install
 
diff --git a/chaos/common/CMakeLists.txt b/chaos/common/CMakeLists.txt
index e6359744028ee9e368fbdf00bf685877f198428d..865dab17b7beccb11ea1e5d7fdba352375f51cee 100644
--- a/chaos/common/CMakeLists.txt
+++ b/chaos/common/CMakeLists.txt
@@ -36,7 +36,7 @@ SET(common_lib_src  ${common_lib_src}	batch_command/AttributeSetting.cpp batch_c
                                         batch_command/BatchCommand.cpp)
 
 
-SET(common_lib_library boost_program_options boost_system boost_thread boost_chrono boost_regex boost_log boost_log_setup memcached msgpack msgpack-rpc mpio zmq)
+SET(common_lib_library boost_program_options boost_system boost_thread boost_chrono boost_regex boost_log boost_log_setup memcached msgpack msgpack-rpc mpio zmq dl)
 
 
 ADD_LIBRARY(chaos_common SHARED ${common_lib_src})