已开启
使用系统依赖编译 #320
zzh创建于 2025年5月29日
使用系统依赖编译 #320
已开启
共 2 个文件变更+20-13
| @@ -34,6 +34,17 @@ ZLIB_LIB="${ROOT_DIR}/output/kernel/dependency/zlib1.2.11/comm/lib/libz.so" | |||
| 34 | OPENSSL_DIR="${ROOT_DIR}/output/kernel/dependency/openssl/comm" | 34 | OPENSSL_DIR="${ROOT_DIR}/output/kernel/dependency/openssl/comm" |
| 35 | INSTALL_COMPOENT_PATH_NAME="${ROOT_DIR}/output/kernel/dependency/aws-sdk-cpp" | 35 | INSTALL_COMPOENT_PATH_NAME="${ROOT_DIR}/output/kernel/dependency/aws-sdk-cpp" |
| 36 | 36 | ||
| 37 | +extra_cmake_opt="" | ||
| 38 | +os_info=$(cat /etc/os-release | grep '^ID=' | cut -d'=' -f2 | tr -d '"') | ||
| 39 | +if [[ "$os_info" == "centos" ]]; then | ||
| 40 | + extra_cmake_opt="-DCURL_INCLUDE_DIR=${CURL_INCLUDE} \ | ||
| 41 | + -DCURL_LIBRARY=${CURL_LIB} \ | ||
| 42 | + -Dcrypto_INCLUDE_DIR=${CRYPTO_INCLUDE} \ | ||
| 43 | + -Dcrypto_SHARED_LIBRARY=${CRYPTO_LIB} \ | ||
| 44 | + -Dcrypto_STATIC_LIBRARY=${CRYPTO_STATIC} \ | ||
| 45 | + -DOPENSSL_ROOT_DIR=${OPENSSL_DIR} " | ||
| 46 | +fi | ||
| 47 | + | ||
| 37 | log() | 48 | log() |
| 38 | { | 49 | { |
| 39 | echo "[Build libaws-sdk-cpp] "$(date +%y-%m-%d" "%T)": $@" | 50 | echo "[Build libaws-sdk-cpp] "$(date +%y-%m-%d" "%T)": $@" |
| @@ -64,15 +75,10 @@ function build_component() | |||
| 64 | -DCMAKE_SKIP_RPATH=TRUE \ | 75 | -DCMAKE_SKIP_RPATH=TRUE \ |
| 65 | -DCMAKE_BUILD_TYPE=Release \ | 76 | -DCMAKE_BUILD_TYPE=Release \ |
| 66 | -DCMAKE_INSTALL_PREFIX=${LOCAL_DIR}/install_comm \ | 77 | -DCMAKE_INSTALL_PREFIX=${LOCAL_DIR}/install_comm \ |
| 67 | - -DCURL_INCLUDE_DIR=${CURL_INCLUDE} \ | ||
| 68 | - -DCURL_LIBRARY=${CURL_LIB} \ | ||
| 69 | - -Dcrypto_INCLUDE_DIR=${CRYPTO_INCLUDE} \ | ||
| 70 | - -Dcrypto_SHARED_LIBRARY=${CRYPTO_LIB} \ | ||
| 71 | - -Dcrypto_STATIC_LIBRARY=${CRYPTO_STATIC} \ | ||
| 72 | -DZLIB_ROOT=${ZLIB_DIR} \ | 78 | -DZLIB_ROOT=${ZLIB_DIR} \ |
| 73 | -DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE} \ | 79 | -DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE} \ |
| 74 | -DZLIB_LIBRARIES=${ZLIB_LIB} \ | 80 | -DZLIB_LIBRARIES=${ZLIB_LIB} \ |
| 75 | - -DOPENSSL_ROOT_DIR=${OPENSSL_DIR} \ | 81 | + ${extra_cmake_opt} \ |
| 76 | -DENABLE_TESTING=OFF | 82 | -DENABLE_TESTING=OFF |
| 77 | make -j4 | 83 | make -j4 |
| 78 | make install | 84 | make install |
| @@ -89,15 +95,10 @@ function build_component() | |||
| 89 | -DCMAKE_SKIP_RPATH=TRUE \ | 95 | -DCMAKE_SKIP_RPATH=TRUE \ |
| 90 | -DCMAKE_BUILD_TYPE=Release \ | 96 | -DCMAKE_BUILD_TYPE=Release \ |
| 91 | -DCMAKE_INSTALL_PREFIX=${LOCAL_DIR}/install_llt \ | 97 | -DCMAKE_INSTALL_PREFIX=${LOCAL_DIR}/install_llt \ |
| 92 | - -DCURL_INCLUDE_DIR=${CURL_INCLUDE} \ | ||
| 93 | - -DCURL_LIBRARY=${CURL_LIB} \ | ||
| 94 | - -Dcrypto_INCLUDE_DIR=${CRYPTO_INCLUDE} \ | ||
| 95 | - -Dcrypto_SHARED_LIBRARY=${CRYPTO_LIB} \ | ||
| 96 | - -Dcrypto_STATIC_LIBRARY=${CRYPTO_STATIC} \ | ||
| 97 | -DZLIB_ROOT=${ZLIB_DIR} \ | 98 | -DZLIB_ROOT=${ZLIB_DIR} \ |
| 98 | -DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE} \ | 99 | -DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE} \ |
| 99 | -DZLIB_LIBRARIES=${ZLIB_LIB} \ | 100 | -DZLIB_LIBRARIES=${ZLIB_LIB} \ |
| 100 | - -DOPENSSL_ROOT_DIR=${OPENSSL_DIR} \ | 101 | + ${extra_cmake_opt} \ |
| 101 | -DENABLE_TESTING=OFF | 102 | -DENABLE_TESTING=OFF |
| 102 | make -j4 | 103 | make -j4 |
| 103 | make install | 104 | make install |
| @@ -30,7 +30,13 @@ done | |||
| 30 | tar -zxf $TAR_SOURCE_FILE -C $SOURCE_FILE --strip-components 1 | 30 | tar -zxf $TAR_SOURCE_FILE -C $SOURCE_FILE --strip-components 1 |
| 31 | cd $SOURCE_FILE | 31 | cd $SOURCE_FILE |
| 32 | patch -p1 < ../CVE-2023-49083.patch | 32 | patch -p1 < ../CVE-2023-49083.patch |
| 33 | -CFLAGS='-fstack-protector-all' LDFLAGS='-Wl,-z,relro,-z,now -z,noexecstack' python3 setup.py build_ext --inplace --library-dirs=${OPENSSL_ROOT_DIR}/lib --include-dirs=${OPENSSL_ROOT_DIR}/include | 33 | +os_info=$(cat /etc/os-release | grep '^ID=' | cut -d'=' -f2 | tr -d '"') |
| 34 | +os_version=$(cat /etc/os-release | grep 'VERSION_ID=' | cut -d'=' -f2 | tr -d '"') | ||
| 35 | +if [[ "$os_info" == "centos" || "$os_version" == "24.03" ]]; then | ||
| 36 | + CFLAGS='-fstack-protector-all' LDFLAGS='-Wl,-z,relro,-z,now -z,noexecstack' python3 setup.py build_ext --inplace --library-dirs=${OPENSSL_ROOT_DIR}/lib --include-dirs=${OPENSSL_ROOT_DIR}/include | ||
| 37 | +else | ||
| 38 | + CFLAGS='-fstack-protector-all' LDFLAGS='-Wl,-z,relro,-z,now -z,noexecstack' python3 setup.py build_ext --inplace | ||
| 39 | +fi | ||
| 34 | 40 | ||
| 35 | python3 setup.py install --user | 41 | python3 setup.py install --user |
| 36 | 42 | ||