diff --git a/demos/cluster_serving/install-dependencies.sh b/demos/cluster_serving/install-dependencies.sh index 0dacfe62..7a5effbc 100755 --- a/demos/cluster_serving/install-dependencies.sh +++ b/demos/cluster_serving/install-dependencies.sh @@ -1,13 +1,18 @@ #!/bin/bash +set -e -apt-get update -apt-get install -y openjdk-11-jre -apt-get install -y netcat - -#The openjdk has a broken symlink, remove it as a workaround -rm /usr/lib/jvm/java-11-openjdk-amd64/lib/security/blacklisted.certs +OS=`awk -F= '/^NAME/{print $2}' /etc/os-release` +if [ "$OS" == "\"Ubuntu\"" ]; then + apt-get update -y && apt-get install -y openjdk-11-jre netcat + # The openjdk has a broken symlink, remove it as a workaround + rm -f /usr/lib/jvm/java-11-openjdk-amd64/lib/security/blacklisted.certs +else + echo "Unsupported OS: $OS" + exit 1 +fi # Redis +rm -rf redis-${REDIS_VERSION}* wget http://download.redis.io/releases/redis-${REDIS_VERSION}.tar.gz && \ tar -zxvf redis-${REDIS_VERSION}.tar.gz rm redis-${REDIS_VERSION}.tar.gz @@ -16,16 +21,18 @@ make cd ../ # Flink +rm -rf flink-${FLINK_VERSION}* wget https://archive.apache.org/dist/flink/flink-${FLINK_VERSION}/flink-${FLINK_VERSION}-bin-scala_2.11.tgz tar -zxvf flink-${FLINK_VERSION}-bin-scala_2.11.tgz rm flink-${FLINK_VERSION}-bin-scala_2.11.tgz # Analytics Zoo +rm -rf analytics-zoo-bigdl_* wget https://repo1.maven.org/maven2/com/intel/analytics/zoo/analytics-zoo-bigdl_$BIGDL_VERSION-spark_$SPARK_VERSION/$ANALYTICS_ZOO_VERSION/analytics-zoo-bigdl_$BIGDL_VERSION-spark_$SPARK_VERSION-$ANALYTICS_ZOO_VERSION-serving.jar wget https://repo1.maven.org/maven2/com/intel/analytics/zoo/analytics-zoo-bigdl_$BIGDL_VERSION-spark_$SPARK_VERSION/$ANALYTICS_ZOO_VERSION/analytics-zoo-bigdl_$BIGDL_VERSION-spark_$SPARK_VERSION-$ANALYTICS_ZOO_VERSION-http.jar # models -mkdir resnet50 && \ +rm -rf resnet50 && mkdir resnet50 && \ cd resnet50 && \ wget -c "https://sourceforge.net/projects/analytics-zoo/files/analytics-zoo-models/openvino/2018_R5/resnet_v1_50.bin/download" -O resnet_v1_50.bin && \ wget -c "https://sourceforge.net/projects/analytics-zoo/files/analytics-zoo-models/openvino/2018_R5/resnet_v1_50.xml/download" -O resnet_v1_50.xml diff --git a/demos/flink/download_flink.sh b/demos/flink/download_flink.sh index 7a9c9a57..1b7f50ab 100755 --- a/demos/flink/download_flink.sh +++ b/demos/flink/download_flink.sh @@ -1,7 +1,18 @@ -apt-get update -apt-get install -y openjdk-11-jre -#The openjdk has a broken symlink, remove it as a workaround -rm /usr/lib/jvm/java-11-openjdk-amd64/lib/security/blacklisted.certs +#!/bin/bash +set -e +OS=`awk -F= '/^NAME/{print $2}' /etc/os-release` +if [ "$OS" == "\"Ubuntu\"" ]; then + apt-get update -y && apt-get install -y openjdk-11-jre + # The openjdk has a broken symlink, remove it as a workaround + rm -f /usr/lib/jvm/java-11-openjdk-amd64/lib/security/blacklisted.certs +else + echo "Unsupported OS: $OS" + exit 1 +fi + +rm -rf flink-1.10.1* wget https://archive.apache.org/dist/flink/flink-1.10.1/flink-1.10.1-bin-scala_2.11.tgz tar -xvzf flink-1.10.1-bin-scala_2.11.tgz + +echo "Download Flink Success" diff --git a/demos/grpc/grpc_glibc/download_and_install_grpc_glibc.sh b/demos/grpc/grpc_glibc/download_and_install_grpc_glibc.sh index b240dbdc..aa9b26f4 100755 --- a/demos/grpc/grpc_glibc/download_and_install_grpc_glibc.sh +++ b/demos/grpc/grpc_glibc/download_and_install_grpc_glibc.sh @@ -3,7 +3,7 @@ set -e GRPC_SRC_DIR=$PWD/grpc_src -mkdir -p $GRPC_SRC_DIR && cd $GRPC_SRC_DIR +rm -rf $GRPC_SRC_DIR && mkdir -p $GRPC_SRC_DIR && cd $GRPC_SRC_DIR git clone https://github.com/grpc/grpc.git . git checkout tags/v1.24.3 diff --git a/demos/grpc/grpc_glibc/prepare_client_server_glibc.sh b/demos/grpc/grpc_glibc/prepare_client_server_glibc.sh index 7404db7a..9fab3b35 100755 --- a/demos/grpc/grpc_glibc/prepare_client_server_glibc.sh +++ b/demos/grpc/grpc_glibc/prepare_client_server_glibc.sh @@ -4,7 +4,7 @@ set -e export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" cd grpc_src/examples/cpp/helloworld -mkdir -p cmake/build && cd cmake/build +rm -rf cmake/build && mkdir -p cmake/build && cd cmake/build cmake ../.. \ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-fPIC -pie" -DCMAKE_C_FLAGS="-fPIC -pie" make -j$(nproc) diff --git a/demos/grpc/grpc_glibc/prepare_stress_test_tool.sh b/demos/grpc/grpc_glibc/prepare_stress_test_tool.sh index b8c4f8bf..f60795c2 100755 --- a/demos/grpc/grpc_glibc/prepare_stress_test_tool.sh +++ b/demos/grpc/grpc_glibc/prepare_stress_test_tool.sh @@ -1,7 +1,7 @@ #!/bin/bash set -e -mkdir ghz_src && cd ghz_src +rm -rf ghz_src && mkdir ghz_src && cd ghz_src git clone https://github.com/bojand/ghz . git checkout tags/v0.105.0 make build diff --git a/demos/grpc/grpc_musl/download_and_install_grpc.sh b/demos/grpc/grpc_musl/download_and_install_grpc.sh index 4c2110e9..970f6f91 100755 --- a/demos/grpc/grpc_musl/download_and_install_grpc.sh +++ b/demos/grpc/grpc_musl/download_and_install_grpc.sh @@ -5,6 +5,7 @@ export PATH=$PATH:$INSTALL_DIR/bin # Tell CMake to search for packages in Occlum toolchain's directory only export PKG_CONFIG_LIBDIR=$INSTALL_DIR/lib +rm -rf grpc git clone https://github.com/grpc/grpc.git cd grpc git checkout tags/v1.24.3 diff --git a/demos/grpc/grpc_musl/download_and_install_openssl.sh b/demos/grpc/grpc_musl/download_and_install_openssl.sh index b139c0b8..c46620c5 100755 --- a/demos/grpc/grpc_musl/download_and_install_openssl.sh +++ b/demos/grpc/grpc_musl/download_and_install_openssl.sh @@ -1,6 +1,7 @@ #!/bin/sh #copyright@antfinancial:adopted from a script written by geding +rm -rf openssl git clone http://github.com/openssl/openssl cd openssl git checkout tags/OpenSSL_1_1_1 diff --git a/demos/grpc/grpc_tls/download_and_install_grpc.sh b/demos/grpc/grpc_tls/download_and_install_grpc.sh index 0e05aa43..8f1e5286 100755 --- a/demos/grpc/grpc_tls/download_and_install_grpc.sh +++ b/demos/grpc/grpc_tls/download_and_install_grpc.sh @@ -13,11 +13,13 @@ export PATH=$PATH:$INSTALL_DIR/bin export PKG_CONFIG_LIBDIR=$INSTALL_DIR/lib # Download grpc +rm -rf v${GRPC_VER}* wget https://github.com/grpc/grpc/archive/refs/tags/v${GRPC_VER}.tar.gz rm -rf ${GRPC_SRC_DIR} && mkdir ${GRPC_SRC_DIR} tar zxvf v${GRPC_VER}.tar.gz -C ${GRPC_SRC_DIR} --strip-components 1 # Download and Install c-ares +rm -rf cares-${CARES_VER}* wget https://github.com/c-ares/c-ares/archive/refs/tags/cares-${CARES_VER}.tar.gz tar zxvf cares-${CARES_VER}.tar.gz -C ${GRPC_SRC_DIR}/third_party/cares/cares/ --strip-components 1 cd $GRPC_SRC_DIR/third_party/cares/cares @@ -33,6 +35,7 @@ make install cd $PWD # Download and Install protobuf +rm -rf v${RPOTOBUF_VER}* wget https://github.com/protocolbuffers/protobuf/archive/refs/tags/v${RPOTOBUF_VER}.tar.gz tar zxvf v${RPOTOBUF_VER}.tar.gz -C $GRPC_SRC_DIR/third_party/protobuf/ --strip-components 1 cd $GRPC_SRC_DIR/third_party/protobuf @@ -50,7 +53,7 @@ cmake ../ \ make -j$(nproc) make install -cp $INSTALL_DIR/bin/protoc /usr/bin +cp -f $INSTALL_DIR/bin/protoc /usr/bin # Install gRPC cd $GRPC_SRC_DIR/cmake diff --git a/demos/grpc/grpc_tls/download_and_install_openssl.sh b/demos/grpc/grpc_tls/download_and_install_openssl.sh index 3bfdda5f..5a35bb92 100755 --- a/demos/grpc/grpc_tls/download_and_install_openssl.sh +++ b/demos/grpc/grpc_tls/download_and_install_openssl.sh @@ -2,6 +2,7 @@ #copyright@antfinancial:adopted from a script written by geding set -e +rm -rf openssl git clone -b OpenSSL_1_1_1 --depth 1 http://github.com/openssl/openssl cd openssl CC=occlum-gcc ./config \ diff --git a/demos/https_server/download_and_build_mongoose.sh b/demos/https_server/download_and_build_mongoose.sh index aa27e3f4..488dd211 100755 --- a/demos/https_server/download_and_build_mongoose.sh +++ b/demos/https_server/download_and_build_mongoose.sh @@ -2,7 +2,7 @@ set -e # 1. Download and install OpenSSL 1.1.1 -mkdir -p deps/openssl +rm -rf deps/openssl && mkdir -p deps/openssl pushd deps/openssl git clone https://github.com/openssl/openssl . git checkout tags/OpenSSL_1_1_1 -b OpenSSL_1_1_1 @@ -16,7 +16,7 @@ sudo make install popd # 2. Download Mongoose 6.15 -mkdir -p mongoose_src +rm -rf mongoose_src && mkdir -p mongoose_src pushd mongoose_src git clone https://github.com/cesanta/mongoose . git checkout tags/6.15 -b 6.15 @@ -26,3 +26,5 @@ popd pushd mongoose_src/examples/simplest_web_server_ssl CC=occlum-gcc CFLAGS_EXTRA="-Wno-format-truncation" make popd + +echo "Build Mongoose Success" diff --git a/demos/openvino/install_cmake.sh b/demos/openvino/install_cmake.sh index cc99829c..c6c223b8 100755 --- a/demos/openvino/install_cmake.sh +++ b/demos/openvino/install_cmake.sh @@ -1,8 +1,14 @@ #!/bin/bash set -e -cd ~ + +# Skip install if current cmake is newer +CURRENT_VER=`cmake --version | head -n1 | sed 's/[^0-9.]*//g'` +MIN_VER=3.15.5 +echo -e "$MIN_VER\n$CURRENT_VER" \ | sort -V | head -n1 | grep -q $MIN_VER && exit 0 + +rm -rf cmake-3.15.5* wget https://github.com/Kitware/CMake/releases/download/v3.15.5/cmake-3.15.5.tar.gz && tar xf cmake-3.15.5.tar.gz cd cmake-3.15.5 ./bootstrap -make -j4 +make -j$(nproc) sudo make install diff --git a/demos/tensorflow/tensorflow_serving/build_occlum_tf_serving.sh b/demos/tensorflow/tensorflow_serving/build_occlum_tf_serving.sh index df47c5ec..61a9b211 100755 --- a/demos/tensorflow/tensorflow_serving/build_occlum_tf_serving.sh +++ b/demos/tensorflow/tensorflow_serving/build_occlum_tf_serving.sh @@ -1,4 +1,6 @@ -#!/bin/sh +#!/bin/bash +set -e + echo Building tf-serving with pic cd docker ./build_tf_serving_with_pic.sh diff --git a/demos/tensorflow/tensorflow_serving/client/prepare_client_env.sh b/demos/tensorflow/tensorflow_serving/client/prepare_client_env.sh index eb7e0888..2e1a4753 100755 --- a/demos/tensorflow/tensorflow_serving/client/prepare_client_env.sh +++ b/demos/tensorflow/tensorflow_serving/client/prepare_client_env.sh @@ -1,3 +1,11 @@ -apt update -apt install -y libgl1-mesa-glx +#!/bin/bash +set -e + +OS=`awk -F= '/^NAME/{print $2}' /etc/os-release` +if [ "$OS" == "\"Ubuntu\"" ]; then + apt-get update -y && apt-get install -y libgl1-mesa-glx +else + yum install -y mesa-libGL +fi + pip3 install -r requirements.txt -v diff --git a/demos/tensorflow/tensorflow_serving/download_model.sh b/demos/tensorflow/tensorflow_serving/download_model.sh index 789004af..06b132ad 100755 --- a/demos/tensorflow/tensorflow_serving/download_model.sh +++ b/demos/tensorflow/tensorflow_serving/download_model.sh @@ -1,8 +1,11 @@ +#!/bin/bash +set -e + cur_dir=`pwd -P` models_abs_dir=${cur_dir}/models -mkdir ${models_abs_dir} +rm -rf ${models_abs_dir} && mkdir ${models_abs_dir} # resnet50-v15 -mkdir ${models_abs_dir}/resnet50-v15-fp32 +rm -rf ${models_abs_dir}/resnet50-v15-fp32 && mkdir ${models_abs_dir}/resnet50-v15-fp32 cd ${models_abs_dir}/resnet50-v15-fp32 wget --no-check-certificate -c https://storage.googleapis.com/intel-optimized-tensorflow/models/v1_8/resnet50_fp32_pretrained_model.pb -O resnet50-v15-fp32.pb diff --git a/demos/tensorflow/tensorflow_serving/generate_ssl_config.sh b/demos/tensorflow/tensorflow_serving/generate_ssl_config.sh index 53fbafa5..be958189 100755 --- a/demos/tensorflow/tensorflow_serving/generate_ssl_config.sh +++ b/demos/tensorflow/tensorflow_serving/generate_ssl_config.sh @@ -1,3 +1,6 @@ +#!/bin/bash +set -e + service_domain_name=$1 rm -rf ssl_configure diff --git a/demos/tensorflow/tensorflow_serving/prepare_model_and_env.sh b/demos/tensorflow/tensorflow_serving/prepare_model_and_env.sh index a1a9e458..d11ab14b 100755 --- a/demos/tensorflow/tensorflow_serving/prepare_model_and_env.sh +++ b/demos/tensorflow/tensorflow_serving/prepare_model_and_env.sh @@ -1,5 +1,13 @@ -apt-get update -apt install -y python3-pip +#!/bin/bash +set -e + +OS=`awk -F= '/^NAME/{print $2}' /etc/os-release` +if [ "$OS" == "\"Ubuntu\"" ]; then + apt-get update -y && apt-get install -y python3-pip +else + yum install -y python3-pip +fi + pip3 install --upgrade pip pip3 install --upgrade tensorflow==2.4 ./download_model.sh diff --git a/demos/tensorflow_lite/download_and_build_tflite.sh b/demos/tensorflow_lite/download_and_build_tflite.sh index 14bfcda9..98ebf9a1 100755 --- a/demos/tensorflow_lite/download_and_build_tflite.sh +++ b/demos/tensorflow_lite/download_and_build_tflite.sh @@ -3,7 +3,7 @@ set -e SRC_DIR="tensorflow_src" # 1. Build tensorflow lite and the demo program -mkdir -p $SRC_DIR +rm -rf $SRC_DIR && mkdir -p $SRC_DIR pushd $SRC_DIR git clone https://github.com/tensorflow/tensorflow . git checkout tags/v1.15.0-rc0 -b v1.15.0-rc0 @@ -15,7 +15,7 @@ make -j 3 -f tensorflow/lite/tools/make/Makefile popd # 2. Download tflite model and labels -mkdir models +rm -rf models && mkdir models curl https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224.tgz | tar xzv -C ./models curl https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_1.0_224_frozen.tgz | tar xzv -C ./models mobilenet_v1_1.0_224/labels.txt mv ./models/mobilenet_v1_1.0_224/labels.txt ./models/labels.txt diff --git a/demos/xgboost/download_and_build_xgboost.sh b/demos/xgboost/download_and_build_xgboost.sh index c8975181..ab6d8786 100755 --- a/demos/xgboost/download_and_build_xgboost.sh +++ b/demos/xgboost/download_and_build_xgboost.sh @@ -5,8 +5,12 @@ set -e export PKG_CONFIG_LIBDIR=/usr/local/occlum/x86_64-linux-musl/lib # Install the dependencies -apt-get update -apt-get install -y python3-pip python3-setuptools +OS=`awk -F= '/^NAME/{print $2}' /etc/os-release` +if [ "$OS" == "\"Ubuntu\"" ]; then + apt-get update -y && apt-get install -y python3-pip python3-setuptools +else + yum install -y python3-pip python3-setuptools +fi pip3 install kubernetes #install the cmake diff --git a/demos/xgboost/install_cmake.sh b/demos/xgboost/install_cmake.sh index 87992079..c6c223b8 100755 --- a/demos/xgboost/install_cmake.sh +++ b/demos/xgboost/install_cmake.sh @@ -1,6 +1,12 @@ #!/bin/bash set -e -cd ~ + +# Skip install if current cmake is newer +CURRENT_VER=`cmake --version | head -n1 | sed 's/[^0-9.]*//g'` +MIN_VER=3.15.5 +echo -e "$MIN_VER\n$CURRENT_VER" \ | sort -V | head -n1 | grep -q $MIN_VER && exit 0 + +rm -rf cmake-3.15.5* wget https://github.com/Kitware/CMake/releases/download/v3.15.5/cmake-3.15.5.tar.gz && tar xf cmake-3.15.5.tar.gz cd cmake-3.15.5 ./bootstrap