By default, Gluten's vcpkg build statically links OpenSSL into the native libraries (libvelox.so and libgluten.so). However, in environments requiring FIPS (Federal Information Processing Standards) compliance or dynamic OpenSSL linking, Gluten now supports building with dynamically linked OpenSSL.
This feature is particularly useful for:
enable_vcpkg=ON)To enable dynamic OpenSSL linking with FIPS support, set the VCPKG_DYNAMIC_OPENSSL environment variable:
export VCPKG_DYNAMIC_OPENSSL=ON ./dev/buildbundle-veloxbe.sh --enable_vcpkg=ON
When VCPKG_DYNAMIC_OPENSSL=ON is set:
dynamic-openssl feature is enabled in vcpkg.json, which includes OpenSSL with FIPS supportx64-linux-avx.cmake and arm64-linux-neon.cmake) detect the environment variable and switch OpenSSL from static to dynamic linkageinit.sh script adds the --x-feature=dynamic-openssl flag to vcpkg installNOTE: At runtime,
LD_LIBRARY_PATHmust include the OS-provided OpenSSL libraries, includinglibssl.so,libcrypto.so, and the FIPS-certifiedfips.so. These libraries must be available and loadable; otherwise, Gluten will fail to start. At the time of the Gluten 1.7 release, Gluten is built and tested with OpenSSL3.5.2. Users should ensure that the OpenSSL libraries (libssl.soandlibcrypto.so) available at runtime are compatible with those used during linking. To minimize the risk of ABI or API compatibility issues, we recommend using the same major OpenSSL version for both build-time and runtime environments.