diff --git a/.github/workflows/velox_backend_x86.yml b/.github/workflows/velox_backend_x86.yml index 3c9efc44bd..7342c62a15 100644 --- a/.github/workflows/velox_backend_x86.yml +++ b/.github/workflows/velox_backend_x86.yml @@ -68,7 +68,6 @@ jobs: ccache-centos7-release-default - name: Build Gluten native libraries run: | - docker pull apache/gluten:vcpkg-centos-7-gcc13 docker run -v $GITHUB_WORKSPACE:/work -w /work apache/gluten:vcpkg-centos-7-gcc13 bash -c " set -e yum install tzdata -y diff --git a/dev/vcpkg/init.sh b/dev/vcpkg/init.sh index 1247a14493..6683ba9151 100755 --- a/dev/vcpkg/init.sh +++ b/dev/vcpkg/init.sh @@ -85,7 +85,10 @@ if [ "$ENABLE_GCS" = "ON" ]; then EXTRA_FEATURES+="--x-feature=velox-gcs " fi if [ "$ENABLE_ABFS" = "ON" ]; then - EXTRA_FEATURES+="--x-feature=velox-abfs" + EXTRA_FEATURES+="--x-feature=velox-abfs " +fi +if [ "${VCPKG_DYNAMIC_OPENSSL:-OFF}" = "ON" ]; then + EXTRA_FEATURES+="--x-feature=dynamic-openssl " fi @@ -97,7 +100,9 @@ $VCPKG install --no-print-usage \ # needed by 'releases/libvelox.so' mkdir -p $VCPKG_TRIPLET_INSTALL_DIR/debug/lib/ cp $VCPKG_TRIPLET_INSTALL_DIR/lib/libz.a $VCPKG_TRIPLET_INSTALL_DIR/debug/lib -cp $VCPKG_TRIPLET_INSTALL_DIR/lib/libssl.a $VCPKG_TRIPLET_INSTALL_DIR/debug/lib -cp $VCPKG_TRIPLET_INSTALL_DIR/lib/libcrypto.a $VCPKG_TRIPLET_INSTALL_DIR/debug/lib +if [ "${VCPKG_DYNAMIC_OPENSSL:-OFF}" = "OFF" ]; then + cp $VCPKG_TRIPLET_INSTALL_DIR/lib/libssl.a $VCPKG_TRIPLET_INSTALL_DIR/debug/lib + cp $VCPKG_TRIPLET_INSTALL_DIR/lib/libcrypto.a $VCPKG_TRIPLET_INSTALL_DIR/debug/lib +fi cp $VCPKG_TRIPLET_INSTALL_DIR/lib/liblzma.a $VCPKG_TRIPLET_INSTALL_DIR/debug/lib cp $VCPKG_TRIPLET_INSTALL_DIR/lib/libdwarf.a $VCPKG_TRIPLET_INSTALL_DIR/debug/lib diff --git a/dev/vcpkg/triplets/arm64-linux-neon.cmake b/dev/vcpkg/triplets/arm64-linux-neon.cmake index c02fe5b442..92f03d1c4f 100644 --- a/dev/vcpkg/triplets/arm64-linux-neon.cmake +++ b/dev/vcpkg/triplets/arm64-linux-neon.cmake @@ -8,3 +8,7 @@ set(VCPKG_CMAKE_SYSTEM_NAME Linux) set(VCPKG_C_FLAGS "-march=armv8-a+crc") set(VCPKG_CXX_FLAGS "-march=armv8-a+crc -std=c++20") set(VCPKG_LINKER_FLAGS "-static-libstdc++ -static-libgcc") + +if("${PORT}" STREQUAL "openssl" AND "$ENV{VCPKG_DYNAMIC_OPENSSL}" STREQUAL "ON") + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif() diff --git a/dev/vcpkg/triplets/x64-linux-avx.cmake b/dev/vcpkg/triplets/x64-linux-avx.cmake index 50f1bdebc9..71600d4cb7 100644 --- a/dev/vcpkg/triplets/x64-linux-avx.cmake +++ b/dev/vcpkg/triplets/x64-linux-avx.cmake @@ -13,3 +13,7 @@ set(VCPKG_LINKER_FLAGS "-static-libstdc++ -static-libgcc") if("${PORT}" STREQUAL "snappy") list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS -DSNAPPY_HAVE_BMI2=ON) endif() + +if("${PORT}" STREQUAL "openssl" AND "$ENV{VCPKG_DYNAMIC_OPENSSL}" STREQUAL "ON") + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif() \ No newline at end of file diff --git a/dev/vcpkg/vcpkg.json b/dev/vcpkg/vcpkg.json index aba59968f2..ebe2329ab0 100644 --- a/dev/vcpkg/vcpkg.json +++ b/dev/vcpkg/vcpkg.json @@ -54,6 +54,15 @@ "grpc" ] }, + "dynamic-openssl": { + "description": "Enable dynamic OpenSSL with fips feature", + "dependencies": [ + { + "name": "openssl", + "features": ["fips"] + } + ] + }, "velox-s3": { "description": "Velox S3 Support", "dependencies": [