This is an automated email from the ASF dual-hosted git repository.

zhouyuan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gluten.git


The following commit(s) were added to refs/heads/main by this push:
     new b0ca60a5c8 [GLUTEN-8232][VL] Allow to enable dynamic openssl link in 
VCPKG packaging (#11444)
b0ca60a5c8 is described below

commit b0ca60a5c8390e3419086aaae896c995be59e312
Author: Yuan <[email protected]>
AuthorDate: Thu May 28 16:07:02 2026 +0800

    [GLUTEN-8232][VL] Allow to enable dynamic openssl link in VCPKG packaging 
(#11444)
    
    This patch enabled dynamic openssl to include FIPS feature in vcpkg build.
    The feature is off by default, it can be enabled by set env 
VCPKG_DYNAMIC_OPENSSL to ON
    
    In the runtime user will need to ensure the libssl.so & libcrypt.so are 
available otherwise Gluten will fail to run
    
    ---------
    
    Signed-off-by: Yuan <[email protected]>
---
 .github/workflows/velox_backend_x86.yml   |  1 -
 dev/vcpkg/init.sh                         | 11 ++++++++---
 dev/vcpkg/triplets/arm64-linux-neon.cmake |  4 ++++
 dev/vcpkg/triplets/x64-linux-avx.cmake    |  4 ++++
 dev/vcpkg/vcpkg.json                      |  9 +++++++++
 5 files changed, 25 insertions(+), 4 deletions(-)

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": [


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to