From c0b9d7852db98fbc4c7c420218fd9eaf27c86f3e Mon Sep 17 00:00:00 2001 From: Micah Kornfield Date: Wed, 16 Mar 2016 07:14:14 +0000 Subject: [PATCH] ARROW-68: Better error handling for systems missing prerequistites --- cpp/setup_build_env.sh | 4 ++-- cpp/thirdparty/build_thirdparty.sh | 9 ++++++--- cpp/thirdparty/download_thirdparty.sh | 1 + 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/cpp/setup_build_env.sh b/cpp/setup_build_env.sh index 26a727c87e526..1a33fe386f103 100755 --- a/cpp/setup_build_env.sh +++ b/cpp/setup_build_env.sh @@ -2,8 +2,8 @@ SOURCE_DIR=$(cd "$(dirname "${BASH_SOURCE:-$0}")"; pwd) -./thirdparty/download_thirdparty.sh -./thirdparty/build_thirdparty.sh +./thirdparty/download_thirdparty.sh || { echo "download_thirdparty.sh failed" ; return; } +./thirdparty/build_thirdparty.sh || { echo "build_thirdparty.sh failed" ; return; } source thirdparty/versions.sh export GTEST_HOME=$SOURCE_DIR/thirdparty/$GTEST_BASEDIR diff --git a/cpp/thirdparty/build_thirdparty.sh b/cpp/thirdparty/build_thirdparty.sh index 8de56a6d08678..beb248803594c 100755 --- a/cpp/thirdparty/build_thirdparty.sh +++ b/cpp/thirdparty/build_thirdparty.sh @@ -44,18 +44,21 @@ ln -sf lib "$PREFIX/lib64" # use the compiled tools export PATH=$PREFIX/bin:$PATH +type cmake >/dev/null 2>&1 || { echo >&2 "cmake not installed. Aborting."; exit 1; } +type make >/dev/null 2>&1 || { echo >&2 "make not installed. Aborting."; exit 1; } # build googletest +GOOGLETEST_ERROR="failed for googletest!" if [ -n "$F_ALL" -o -n "$F_GTEST" ]; then cd $TP_DIR/$GTEST_BASEDIR if [[ "$OSTYPE" == "darwin"* ]]; then - CXXFLAGS=-fPIC cmake -DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-value -Wno-ignored-attributes" + CXXFLAGS=-fPIC cmake -DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-value -Wno-ignored-attributes" || { echo "cmake $GOOGLETEST_ERROR" ; exit 1; } else - CXXFLAGS=-fPIC cmake . + CXXFLAGS=-fPIC cmake . || { echo "cmake $GOOGLETEST_ERROR"; exit 1; } fi - make VERBOSE=1 + make VERBOSE=1 || { echo "Make $GOOGLETEST_ERROR" ; exit 1; } fi echo "---------------------" diff --git a/cpp/thirdparty/download_thirdparty.sh b/cpp/thirdparty/download_thirdparty.sh index 0c801179e8d30..c18dd4d8e80ab 100755 --- a/cpp/thirdparty/download_thirdparty.sh +++ b/cpp/thirdparty/download_thirdparty.sh @@ -8,6 +8,7 @@ TP_DIR=$(cd "$(dirname "${BASH_SOURCE:-$0}")"; pwd) source $TP_DIR/versions.sh download_extract_and_cleanup() { + type curl >/dev/null 2>&1 || { echo >&2 "curl not installed. Aborting."; exit 1; } filename=$TP_DIR/$(basename "$1") curl -#LC - "$1" -o $filename tar xzf $filename -C $TP_DIR