This is an automated email from the ASF dual-hosted git repository.
yuanzhou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git
The following commit(s) were added to refs/heads/main by this push:
new c48e42685 [GLUTEN-2620][VL] Enable compile_arrow_java by default to
avoid invalid pointer error (#5648)
c48e42685 is described below
commit c48e42685557dcce5b34d5cb26bdb210a3d9dbbc
Author: PHILO-HE <[email protected]>
AuthorDate: Fri May 10 20:41:29 2024 +0800
[GLUTEN-2620][VL] Enable compile_arrow_java by default to avoid invalid
pointer error (#5648)
Though the reported issue is on centos-7 by now, it's still possible that
user encounters such issue on other OS. So let's directly enable this option by
default.
---
.github/workflows/velox_docker.yml | 105 +-
dev/builddeps-veloxbe.sh | 2 +-
dev/vcpkg/ports/aws-sdk-cpp/fix-aws-root.patch | 22 +
.../aws-sdk-cpp/fix-awsmigrationhub-build.patch | 10 +
dev/vcpkg/ports/aws-sdk-cpp/fix-header.patch | 12 +
dev/vcpkg/ports/aws-sdk-cpp/generateFeatures.ps1 | 73 ++
.../lock-curl-http-and-tls-settings.patch | 20 +
.../aws-sdk-cpp/patch-relocatable-rpath.patch | 12 +
dev/vcpkg/ports/aws-sdk-cpp/portfile.cmake | 101 ++
dev/vcpkg/ports/aws-sdk-cpp/usage | 12 +
dev/vcpkg/ports/aws-sdk-cpp/vcpkg.in.json | 38 +
dev/vcpkg/ports/aws-sdk-cpp/vcpkg.json | 1187 ++++++++++++++++++++
dev/vcpkg/vcpkg.json | 1 -
docs/get-started/build-guide.md | 4 +-
docs/velox-backend-troubleshooting.md | 34 +-
ep/build-velox/src/modify_arrow.patch | 31 +-
16 files changed, 1591 insertions(+), 73 deletions(-)
diff --git a/.github/workflows/velox_docker.yml
b/.github/workflows/velox_docker.yml
index 284bf9198..194cea287 100644
--- a/.github/workflows/velox_docker.yml
+++ b/.github/workflows/velox_docker.yml
@@ -162,7 +162,6 @@ jobs:
mv apache-maven-3.8.8 /usr/lib/maven
- name: Set environment variables
run: |
- echo "MAVEN_HOME=/usr/lib/maven" >> $GITHUB_ENV
echo "PATH=${PATH}:/usr/lib/maven/bin" >> $GITHUB_ENV
if [ "${{ matrix.java }}" = "java-17" ]; then
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk" >> $GITHUB_ENV
@@ -500,16 +499,15 @@ jobs:
container: ghcr.io/facebookincubator/velox-dev:circleci-avx
steps:
- uses: actions/checkout@v2
- - name: Setup java and maven
+ - name: Setup build dependency
run: |
- yum install sudo patch java-1.8.0-openjdk-devel wget numactl-devel
-y && \
+ yum install sudo patch java-1.8.0-openjdk-devel wget -y
wget
https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
tar -xvf apache-maven-3.8.8-bin.tar.gz
- mv apache-maven-3.8.8 /usr/lib/maven
+ mv apache-maven-3.8.8 /usr/lib/maven
+ echo "PATH=${PATH}:/usr/lib/maven/bin" >> $GITHUB_ENV
- name: Build Gluten velox third party
run: |
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
cd ep/build-velox/src && \
./get_velox.sh && \
source /opt/rh/gcc-toolset-9/enable && \
@@ -545,8 +543,6 @@ jobs:
run: |
cd $GITHUB_WORKSPACE/
export SPARK_SCALA_VERSION=2.12
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
mvn -ntp clean install -Pspark-3.2 -Pspark-ut -Pbackends-velox
-Pceleborn -Piceberg -Pdelta
-DargLine="-Dspark.test.home=$GITHUB_WORKSPACE//shims/spark32/spark_home/"
-DtagsToExclude=org.apache.spark.tags.ExtendedSQLTest,org.apache.gluten.tags.UDFTest,org.apache.gluten.tags.SkipTestTags
&& \
mvn -ntp test -Pspark-3.2 -Pbackends-velox -Piceberg -Pdelta
-DtagsToExclude=None -DtagsToInclude=org.apache.gluten.tags.UDFTest
- name: Upload golden files
@@ -566,16 +562,15 @@ jobs:
container: ghcr.io/facebookincubator/velox-dev:circleci-avx
steps:
- uses: actions/checkout@v2
- - name: Setup java and maven
+ - name: Setup build dependency
run: |
- yum install sudo patch java-1.8.0-openjdk-devel wget numactl-devel
-y && \
+ yum install sudo patch java-1.8.0-openjdk-devel wget -y
wget
https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
tar -xvf apache-maven-3.8.8-bin.tar.gz
- mv apache-maven-3.8.8 /usr/lib/maven
+ mv apache-maven-3.8.8 /usr/lib/maven
+ echo "PATH=${PATH}:/usr/lib/maven/bin" >> $GITHUB_ENV
- name: Build Gluten velox third party
run: |
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
cd ep/build-velox/src && \
./get_velox.sh && \
source /opt/rh/gcc-toolset-9/enable && \
@@ -595,9 +590,7 @@ jobs:
mv sql shims/spark32/spark_home/
- name: Build and run unit test for Spark 3.2.2 (slow tests)
run: |
- cd $GITHUB_WORKSPACE/ && \
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
+ cd $GITHUB_WORKSPACE/
mvn -ntp clean install -Pspark-3.2 -Pspark-ut -Pbackends-velox
-Pceleborn -Piceberg -Pdelta
-DargLine="-Dspark.test.home=$GITHUB_WORKSPACE//shims/spark32/spark_home/"
-DtagsToInclude=org.apache.spark.tags.ExtendedSQLTest
run-spark-test-spark33:
@@ -605,16 +598,15 @@ jobs:
container: ghcr.io/facebookincubator/velox-dev:circleci-avx
steps:
- uses: actions/checkout@v2
- - name: Setup java and maven
+ - name: Setup build dependency
run: |
- yum install sudo patch java-1.8.0-openjdk-devel wget -y && \
+ yum install sudo patch java-1.8.0-openjdk-devel wget -y
wget
https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
tar -xvf apache-maven-3.8.8-bin.tar.gz
- mv apache-maven-3.8.8 /usr/lib/maven
+ mv apache-maven-3.8.8 /usr/lib/maven
+ echo "PATH=${PATH}:/usr/lib/maven/bin" >> $GITHUB_ENV
- name: Build Gluten velox third party
run: |
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
cd ep/build-velox/src && \
./get_velox.sh && \
source /opt/rh/gcc-toolset-9/enable && \
@@ -644,10 +636,8 @@ jobs:
pip3 install pandas pyarrow
- name: Build and Run unit test for Spark 3.3.1 (other tests)
run: |
- cd $GITHUB_WORKSPACE/ && \
- export SPARK_SCALA_VERSION=2.12 && \
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
+ cd $GITHUB_WORKSPACE/
+ export SPARK_SCALA_VERSION=2.12
mvn -ntp clean install -Pspark-3.3 -Pbackends-velox -Pceleborn
-Piceberg -Pdelta -Pspark-ut
-DargLine="-Dspark.test.home=$GITHUB_WORKSPACE//shims/spark33/spark_home/"
-DtagsToExclude=org.apache.spark.tags.ExtendedSQLTest,org.apache.gluten.tags.UDFTest,org.apache.gluten.tags.SkipTestTags
&& \
mvn -ntp test -Pspark-3.3 -Pbackends-velox -Piceberg -Pdelta
-DtagsToExclude=None -DtagsToInclude=org.apache.gluten.tags.UDFTest
- name: Upload golden files
@@ -663,16 +653,15 @@ jobs:
container: ghcr.io/facebookincubator/velox-dev:circleci-avx
steps:
- uses: actions/checkout@v2
- - name: Setup java and maven
+ - name: Setup build dependency
run: |
- yum install sudo patch java-1.8.0-openjdk-devel wget numactl-devel
-y && \
+ yum install sudo patch java-1.8.0-openjdk-devel wget -y
wget
https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
tar -xvf apache-maven-3.8.8-bin.tar.gz
- mv apache-maven-3.8.8 /usr/lib/maven
+ mv apache-maven-3.8.8 /usr/lib/maven
+ echo "PATH=${PATH}:/usr/lib/maven/bin" >> $GITHUB_ENV
- name: Build Gluten velox third party
run: |
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
cd ep/build-velox/src && \
./get_velox.sh && \
source /opt/rh/gcc-toolset-9/enable && \
@@ -692,9 +681,7 @@ jobs:
mv sql shims/spark33/spark_home/
- name: Build and Run unit test for Spark 3.3.1 (slow tests)
run: |
- cd $GITHUB_WORKSPACE/ && \
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
+ cd $GITHUB_WORKSPACE/
mvn -ntp clean install -Pspark-3.3 -Pbackends-velox -Pceleborn
-Piceberg -Pdelta -Pspark-ut
-DargLine="-Dspark.test.home=$GITHUB_WORKSPACE//shims/spark33/spark_home/"
-DtagsToInclude=org.apache.spark.tags.ExtendedSQLTest
run-spark-test-spark34:
@@ -702,16 +689,15 @@ jobs:
container: ghcr.io/facebookincubator/velox-dev:circleci-avx
steps:
- uses: actions/checkout@v2
- - name: Setup java and maven
+ - name: Setup build dependency
run: |
- yum install sudo patch java-1.8.0-openjdk-devel wget -y && \
+ yum install sudo patch java-1.8.0-openjdk-devel wget -y
wget
https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
tar -xvf apache-maven-3.8.8-bin.tar.gz
- mv apache-maven-3.8.8 /usr/lib/maven
+ mv apache-maven-3.8.8 /usr/lib/maven
+ echo "PATH=${PATH}:/usr/lib/maven/bin" >> $GITHUB_ENV
- name: Build Gluten velox third party
run: |
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
cd ep/build-velox/src && \
./get_velox.sh && \
source /opt/rh/gcc-toolset-9/enable && \
@@ -741,10 +727,8 @@ jobs:
pip3 install pandas pyarrow
- name: Build and Run unit test for Spark 3.4.2 (other tests)
run: |
- cd $GITHUB_WORKSPACE/ && \
- export SPARK_SCALA_VERSION=2.12 && \
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
+ cd $GITHUB_WORKSPACE/
+ export SPARK_SCALA_VERSION=2.12
mvn -ntp clean install -Pspark-3.4 -Pbackends-velox -Pceleborn
-Piceberg -Pdelta -Pspark-ut
-DargLine="-Dspark.test.home=$GITHUB_WORKSPACE//shims/spark34/spark_home/"
-DtagsToExclude=org.apache.spark.tags.ExtendedSQLTest,org.apache.gluten.tags.UDFTest,org.apache.gluten.tags.SkipTestTags
&& \
mvn -ntp test -Pspark-3.4 -Pbackends-velox -Piceberg -Pdelta
-DtagsToExclude=None -DtagsToInclude=org.apache.gluten.tags.UDFTest
- name: Upload golden files
@@ -760,16 +744,15 @@ jobs:
container: ghcr.io/facebookincubator/velox-dev:circleci-avx
steps:
- uses: actions/checkout@v2
- - name: Setup java and maven
+ - name: Setup build dependency
run: |
- yum install sudo patch java-1.8.0-openjdk-devel wget -y && \
+ yum install sudo patch java-1.8.0-openjdk-devel wget -y
wget
https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
tar -xvf apache-maven-3.8.8-bin.tar.gz
- mv apache-maven-3.8.8 /usr/lib/maven
+ mv apache-maven-3.8.8 /usr/lib/maven
+ echo "PATH=${PATH}:/usr/lib/maven/bin" >> $GITHUB_ENV
- name: Build Gluten velox third party
run: |
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
cd ep/build-velox/src && \
./get_velox.sh && \
source /opt/rh/gcc-toolset-9/enable && \
@@ -790,8 +773,6 @@ jobs:
- name: Build and Run unit test for Spark 3.4.2 (slow tests)
run: |
cd $GITHUB_WORKSPACE/
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
mvn -ntp clean install -Pspark-3.4 -Pbackends-velox -Pceleborn
-Piceberg -Pdelta -Pspark-ut
-DargLine="-Dspark.test.home=$GITHUB_WORKSPACE//shims/spark34/spark_home/"
-DtagsToInclude=org.apache.spark.tags.ExtendedSQLTest
run-spark-test-spark35:
@@ -799,16 +780,15 @@ jobs:
container: ghcr.io/facebookincubator/velox-dev:circleci-avx
steps:
- uses: actions/checkout@v2
- - name: Setup java and maven
+ - name: Setup build dependency
run: |
- yum install sudo patch java-1.8.0-openjdk-devel wget -y && \
+ yum install sudo patch java-1.8.0-openjdk-devel wget -y
wget
https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
tar -xvf apache-maven-3.8.8-bin.tar.gz
- mv apache-maven-3.8.8 /usr/lib/maven
+ mv apache-maven-3.8.8 /usr/lib/maven
+ echo "PATH=${PATH}:/usr/lib/maven/bin" >> $GITHUB_ENV
- name: Build Gluten velox third party
run: |
- export MAVEN_HOME=/usr/lib/maven && \
- export PATH=${PATH}:${MAVEN_HOME}/bin && \
cd ep/build-velox/src && \
./get_velox.sh && \
source /opt/rh/gcc-toolset-9/enable && \
@@ -838,10 +818,8 @@ jobs:
pip3 install pandas pyarrow
- name: Build and Run unit test for Spark 3.5.1 (other tests)
run: |
- cd $GITHUB_WORKSPACE/ && \
- export SPARK_SCALA_VERSION=2.12 && \
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
+ cd $GITHUB_WORKSPACE/
+ export SPARK_SCALA_VERSION=2.12
mvn -ntp clean install -Pspark-3.5 -Pbackends-velox -Pceleborn
-Piceberg -Pdelta -Pspark-ut
-DargLine="-Dspark.test.home=$GITHUB_WORKSPACE//shims/spark35/spark_home/"
-DtagsToExclude=org.apache.spark.tags.ExtendedSQLTest,org.apache.gluten.tags.UDFTest,org.apache.gluten.tags.SkipTestTags
&& \
mvn -ntp test -Pspark-3.5 -Pbackends-velox -Piceberg -Pdelta
-DtagsToExclude=None -DtagsToInclude=org.apache.gluten.tags.UDFTest
- name: Upload golden files
@@ -856,16 +834,15 @@ jobs:
container: ghcr.io/facebookincubator/velox-dev:circleci-avx
steps:
- uses: actions/checkout@v2
- - name: Setup java and maven
+ - name: Setup build dependency
run: |
- yum install sudo patch java-1.8.0-openjdk-devel wget -y && \
+ yum install sudo patch java-1.8.0-openjdk-devel wget -y
wget
https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
tar -xvf apache-maven-3.8.8-bin.tar.gz
- mv apache-maven-3.8.8 /usr/lib/maven
+ mv apache-maven-3.8.8 /usr/lib/maven
+ echo "PATH=${PATH}:/usr/lib/maven/bin" >> $GITHUB_ENV
- name: Build Gluten velox third party
run: |
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
cd ep/build-velox/src && \
./get_velox.sh && \
source /opt/rh/gcc-toolset-9/enable && \
@@ -892,6 +869,4 @@ jobs:
- name: Build and Run unit test for Spark 3.5.1 (slow tests)
run: |
cd $GITHUB_WORKSPACE/
- export MAVEN_HOME=/usr/lib/maven
- export PATH=${PATH}:${MAVEN_HOME}/bin
mvn -ntp clean install -Pspark-3.5 -Pbackends-velox -Pceleborn
-Piceberg -Pdelta -Pspark-ut
-DargLine="-Dspark.test.home=$GITHUB_WORKSPACE//shims/spark35/spark_home/"
-DtagsToInclude=org.apache.spark.tags.ExtendedSQLTest
\ No newline at end of file
diff --git a/dev/builddeps-veloxbe.sh b/dev/builddeps-veloxbe.sh
index e90106ee7..232c36d40 100755
--- a/dev/builddeps-veloxbe.sh
+++ b/dev/builddeps-veloxbe.sh
@@ -31,7 +31,7 @@ VELOX_REPO=""
VELOX_BRANCH=""
VELOX_HOME=""
VELOX_PARAMETER=""
-COMPILE_ARROW_JAVA=OFF
+COMPILE_ARROW_JAVA=ON
# set default number of threads as cpu cores minus 2
if [[ "$(uname)" == "Darwin" ]]; then
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/fix-aws-root.patch
b/dev/vcpkg/ports/aws-sdk-cpp/fix-aws-root.patch
new file mode 100644
index 000000000..da4365ad7
--- /dev/null
+++ b/dev/vcpkg/ports/aws-sdk-cpp/fix-aws-root.patch
@@ -0,0 +1,22 @@
+diff --git a/cmake/AWSSDKConfig.cmake b/cmake/AWSSDKConfig.cmake
+--- a/cmake/AWSSDKConfig.cmake (revision
2f90f9fd6c56460bd382243aa215fcddcb5883c8)
++++ b/cmake/AWSSDKConfig.cmake (date 1636913220527)
+@@ -54,18 +54,14 @@
+ string(REPLACE ";" "${AWS_MODULE_DIR};" SYSTEM_MODULE_PATH
"${CMAKE_SYSTEM_PREFIX_PATH}${AWS_MODULE_DIR}")
+ list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH} ${SYSTEM_MODULE_PATH})
+
+-# On Windows, dlls are treated as runtime target and installed in bindir
+ if (WIN32 AND AWSSDK_INSTALL_AS_SHARED_LIBS)
+- set(AWSSDK_INSTALL_LIBDIR "${AWSSDK_INSTALL_BINDIR}")
+ # If installed CMake scripts are associated with dll library, define
USE_IMPORT_EXPORT for customers
+ add_definitions(-DUSE_IMPORT_EXPORT)
+ endif()
+
+
+ # Compute the default installation root relative to this file.
+-# from prefix/lib/cmake/AWSSDK/xx.cmake to prefix
+ get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${CMAKE_CURRENT_LIST_FILE}"
PATH)
+-get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}"
PATH)
+ get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}"
PATH)
+ get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}"
PATH)
+ get_filename_component(AWS_NATIVE_SDK_ROOT "${CMAKE_CURRENT_SOURCE_DIR}"
ABSOLUTE)
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/fix-awsmigrationhub-build.patch
b/dev/vcpkg/ports/aws-sdk-cpp/fix-awsmigrationhub-build.patch
new file mode 100644
index 000000000..c2d980301
--- /dev/null
+++ b/dev/vcpkg/ports/aws-sdk-cpp/fix-awsmigrationhub-build.patch
@@ -0,0 +1,10 @@
+diff --git a/generated/src/aws-cpp-sdk-AWSMigrationHub/CMakeLists.txt
b/generated/src/aws-cpp-sdk-AWSMigrationHub/CMakeLists.txt
+index a8a888d..574b985 100644
+--- a/generated/src/aws-cpp-sdk-AWSMigrationHub/CMakeLists.txt
++++ b/generated/src/aws-cpp-sdk-AWSMigrationHub/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-add_project(aws-cpp-sdk-AWSMigrationHub "C++ SDK for the AWS AWSMigrationHub
service" aws-cpp-sdk-core)
++add_project(aws-cpp-sdk-awsmigrationhub "C++ SDK for the AWS AWSMigrationHub
service" aws-cpp-sdk-core)
+
+ file(GLOB AWS_AWSMIGRATIONHUB_HEADERS
+ "include/aws/AWSMigrationHub/*.h"
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/fix-header.patch
b/dev/vcpkg/ports/aws-sdk-cpp/fix-header.patch
new file mode 100644
index 000000000..be4511ada
--- /dev/null
+++ b/dev/vcpkg/ports/aws-sdk-cpp/fix-header.patch
@@ -0,0 +1,12 @@
+diff --git a/src/aws-cpp-sdk-core/include/aws/core/Aws.h
b/src/aws-cpp-sdk-core/include/aws/core/Aws.h
+index 5c27e75a84c..d221af2039b 100644
+--- a/src/aws-cpp-sdk-core/include/aws/core/Aws.h
++++ b/src/aws-cpp-sdk-core/include/aws/core/Aws.h
+@@ -12,6 +12,7 @@
+ #include <aws/core/http/HttpClientFactory.h>
+ #include <aws/core/monitoring/MonitoringManager.h>
+ #include <aws/core/Core_EXPORTS.h>
++#include <aws/core/VersionConfig.h>
+ #include <aws/crt/io/Bootstrap.h>
+ #include <aws/crt/io/TlsOptions.h>
+
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/generateFeatures.ps1
b/dev/vcpkg/ports/aws-sdk-cpp/generateFeatures.ps1
new file mode 100644
index 000000000..d0f9a5aba
--- /dev/null
+++ b/dev/vcpkg/ports/aws-sdk-cpp/generateFeatures.ps1
@@ -0,0 +1,73 @@
+[CmdletBinding()]
+param(
+ [Parameter(Mandatory=$true)][string]$SourcesRef,
+ [Parameter(Mandatory=$false)][string]$PortDirectory = $PSScriptRoot,
+ [Parameter(Mandatory=$false)][string]$vcpkg = "$PSScriptRoot/../../vcpkg"
+)
+
+$ErrorActionPreference = "Stop"
+
+$ManifestIn = "$PortDirectory/vcpkg.in.json"
+$ManifestOut = "$PortDirectory/vcpkg.json"
+
+$ExtractedSources = "${env:TEMP}/aws-sdk-cpp-generateFeatures-$SourcesRef"
+if (-not (Test-Path $ExtractedSources)) {
+ if (Test-Path "$ExtractedSources.tmp") {
+ Remove-Item -Force "$ExtractedSources.tmp"
+ }
+ git clone "https://github.com/aws/aws-sdk-cpp" "$ExtractedSources.tmp" |
Out-Host
+ git -c "$ExtractedSources.tmp" checkout $SourcesRef
+ Move-Item "$ExtractedSources.tmp" "$ExtractedSources"
+}
+Write-Host "Using sources directory: $ExtractedSources"
+
+
+$subfolders = Get-ChildItem -Path
"$ExtractedSources\generated\src\aws-cpp-sdk-*",
"$ExtractedSources\src\aws-cpp-sdk*" | Sort-Object -Property Name
+
+$manifest = Get-Content $ManifestIn | ConvertFrom-Json
+$manifest | Add-Member `
+ -NotePropertyName '$note' `
+ -NotePropertyValue 'Automatically generated by generateFeatures.ps1'
+$manifest | Add-Member -NotePropertyName 'features' -NotePropertyValue @{}
+
+function GetDescription($dir, $modulename)
+{
+ if (Test-Path "$dir\CMakeLists.txt")
+ {
+ $descs = @(Select-String -Path "$dir\CMakeLists.txt" -Pattern "`"C\+\+
SDK for the AWS [^`"]*`"")
+ if ($descs.count -eq 1) {
+ $desc = $descs[0].Matches.Value -replace "`"",""
+ "$desc"
+ }
+ else { "C++ SDK for the AWS $modulename service" }
+ }
+ else { "C++ SDK for the AWS $modulename service" }
+}
+
+$featureDependencies = @{}
+Select-String -Path "$ExtractedSources\cmake\sdksCommon.cmake" -Pattern
"list\(APPEND SDK_DEPENDENCY_LIST `"([\w-]+):([\w-,]+)`"\)" -AllMatches `
+| ForEach-Object { $_.Matches } `
+| ForEach-Object { $featureDependencies[$_.Groups[1].Value] =
@($_.Groups[2].Value -split "," `
+| Where-Object { $_ -ne "core" }) }
+
+foreach ($subfolder in $subfolders)
+{
+ $modulename = $subfolder.name -replace "^aws-cpp-sdk-",""
+ if ($modulename -match "-tests`$") { continue }
+ if ($modulename -match "-sample`$") { continue }
+ if ($modulename -eq "core") { continue }
+
+ $lowermodulename = $modulename.ToLower()
+
+ $featureObj = @{ description = (GetDescription $subfolder $modulename) }
+
+ if ($featureDependencies.ContainsKey($lowermodulename)) {
+ $featureObj.dependencies = ,@{ name = "aws-sdk-cpp";
"default-features" = $false; "features" =
$featureDependencies[$lowermodulename] }
+ }
+
+ $manifest.features.Add("$lowermodulename", $featureObj)
+}
+
+[IO.File]::WriteAllText($ManifestOut, (ConvertTo-Json -Depth 10 -InputObject
$manifest))
+
+& $vcpkg format-manifest --feature-flags=-manifests $ManifestOut
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/lock-curl-http-and-tls-settings.patch
b/dev/vcpkg/ports/aws-sdk-cpp/lock-curl-http-and-tls-settings.patch
new file mode 100644
index 000000000..0f7a3b191
--- /dev/null
+++ b/dev/vcpkg/ports/aws-sdk-cpp/lock-curl-http-and-tls-settings.patch
@@ -0,0 +1,20 @@
+diff --git a/src/aws-cpp-sdk-core/CMakeLists.txt
b/src/aws-cpp-sdk-core/CMakeLists.txt
+index c44546b0e..b66888362 100644
+--- a/src/aws-cpp-sdk-core/CMakeLists.txt
++++ b/src/aws-cpp-sdk-core/CMakeLists.txt
+@@ -113,13 +113,8 @@ if(ENABLE_CURL_CLIENT)
+ int main() {
+ CURL* handle = curl_easy_init();
+ return curl_easy_setopt(handle, CURLOPT_PROXY_SSLCERT, \"client.pem\");
}")
+- if (CMAKE_CROSSCOMPILING)
+- check_c_source_compiles("${CHECK_CURL_HAS_H2}" CURL_HAS_H2)
+- check_c_source_compiles("${CHECK_CURL_HAS_TLS_PROXY}"
CURL_HAS_TLS_PROXY)
+- else()
+- check_c_source_runs("${CHECK_CURL_HAS_H2}" CURL_HAS_H2)
+- check_c_source_runs("${CHECK_CURL_HAS_TLS_PROXY}" CURL_HAS_TLS_PROXY)
+- endif()
++ set(CURL_HAS_H2 OFF)
++ set(CURL_HAS_TLS_PROXY ON)
+ elseif(ENABLE_WINDOWS_CLIENT)
+ # NOTE: HTTP/2 is not supported when using IXML_HTTP_REQUEST_2
+ if(USE_IXML_HTTP_REQUEST_2)
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/patch-relocatable-rpath.patch
b/dev/vcpkg/ports/aws-sdk-cpp/patch-relocatable-rpath.patch
new file mode 100644
index 000000000..1dc1cfd76
--- /dev/null
+++ b/dev/vcpkg/ports/aws-sdk-cpp/patch-relocatable-rpath.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 41d220d5fa..f6ee9a2a74 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -147,7 +147,6 @@ if (LEGACY_BUILD)
+ endif ()
+
+ # Add Linker search paths to RPATH so as to fix the problem where some
linkers can't find cross-compiled dependent libraries in customer paths when
linking executables.
+- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true)
+
+ # build the sdk targets
+ project("aws-cpp-sdk-all" VERSION "${PROJECT_VERSION}" LANGUAGES CXX)
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/portfile.cmake
b/dev/vcpkg/ports/aws-sdk-cpp/portfile.cmake
new file mode 100644
index 000000000..ac3f2292b
--- /dev/null
+++ b/dev/vcpkg/ports/aws-sdk-cpp/portfile.cmake
@@ -0,0 +1,101 @@
+vcpkg_buildpath_length_warning(37)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO aws/aws-sdk-cpp
+ REF "${VERSION}"
+ SHA512
63de900870e9bec23d42e9458e0e9b1579a9e2dc7b0f404eae1b0dd406898b6d6841c5e2f498710b3828f212705437da3a2fe94813a6c3a842945100a05ae368
+ PATCHES
+ patch-relocatable-rpath.patch
+ fix-aws-root.patch
+ lock-curl-http-and-tls-settings.patch
+ fix-awsmigrationhub-build.patch
+ fix-header.patch
+)
+
+string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FORCE_SHARED_CRT)
+
+set(EXTRA_ARGS)
+if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS)
+ set(rpath "@loader_path")
+elseif (VCPKG_TARGET_IS_ANDROID)
+ set(EXTRA_ARGS "-DTARGET_ARCH=ANDROID"
+ "-DGIT_EXECUTABLE=--invalid-git-executable--"
+ "-DGIT_FOUND=TRUE"
+ "-DNDK_DIR=$ENV{ANDROID_NDK_HOME}"
+ "-DANDROID_BUILD_ZLIB=FALSE"
+ "-DANDROID_BUILD_CURL=FALSE"
+ "-DANDROID_BUILD_OPENSSL=FALSE"
+ )
+else()
+ set(rpath "\$ORIGIN")
+endif()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ DISABLE_PARALLEL_CONFIGURE
+ OPTIONS
+ ${EXTRA_ARGS}
+ "-DENABLE_UNITY_BUILD=ON"
+ "-DENABLE_TESTING=OFF"
+ "-DFORCE_SHARED_CRT=${FORCE_SHARED_CRT}"
+ "-DBUILD_ONLY=${FEATURES}"
+ "-DBUILD_DEPS=OFF"
+ "-DBUILD_SHARED_LIBS=OFF"
+ "-DAWS_SDK_WARNINGS_ARE_ERRORS=OFF"
+ "-DCMAKE_INSTALL_RPATH=${rpath}"
+ "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" #
use extra cmake files
+)
+vcpkg_cmake_install()
+
+foreach(TARGET IN LISTS FEATURES)
+ vcpkg_cmake_config_fixup(PACKAGE_NAME "aws-cpp-sdk-${TARGET}" CONFIG_PATH
"lib/cmake/aws-cpp-sdk-${TARGET}" DO_NOT_DELETE_PARENT_CONFIG_PATH)
+endforeach()
+vcpkg_cmake_config_fixup(PACKAGE_NAME "AWSSDK" CONFIG_PATH "lib/cmake/AWSSDK")
+
+vcpkg_copy_pdbs()
+
+file(GLOB_RECURSE AWS_TARGETS
"${CURRENT_PACKAGES_DIR}/share/*/*-targets-*.cmake")
+foreach(AWS_TARGET IN LISTS AWS_TARGETS)
+ file(READ ${AWS_TARGET} _contents)
+ string(REGEX REPLACE
+ "bin\\/([A-Za-z0-9_.-]+\\.lib)"
+ "lib/\\1"
+ _contents "${_contents}")
+ file(WRITE ${AWS_TARGET} "${_contents}")
+endforeach()
+
+file(GLOB AWS_CONFIGS
"${CURRENT_PACKAGES_DIR}/share/*/aws-cpp-sdk-*-config.cmake")
+list(FILTER AWS_CONFIGS EXCLUDE REGEX "aws-cpp-sdk-core-config\\.cmake\$")
+foreach(AWS_CONFIG IN LISTS AWS_CONFIGS)
+ file(READ "${AWS_CONFIG}" _contents)
+ file(WRITE "${AWS_CONFIG}"
"include(CMakeFindDependencyMacro)\nfind_dependency(aws-cpp-sdk-core)\n${_contents}")
+endforeach()
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+ "${CURRENT_PACKAGES_DIR}/lib/pkgconfig"
+ "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig"
+ "${CURRENT_PACKAGES_DIR}/nuget"
+ "${CURRENT_PACKAGES_DIR}/debug/nuget"
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*.lib)
+ if(LIB_FILES)
+ file(COPY ${LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(REMOVE ${LIB_FILES})
+ endif()
+ file(GLOB DEBUG_LIB_FILES ${CURRENT_PACKAGES_DIR}/debug/bin/*.lib)
+ if(DEBUG_LIB_FILES)
+ file(COPY ${DEBUG_LIB_FILES} DESTINATION
${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(REMOVE ${DEBUG_LIB_FILES})
+ endif()
+
+ file(APPEND "${CURRENT_PACKAGES_DIR}/include/aws/core/SDKConfig.h"
"#ifndef USE_IMPORT_EXPORT\n#define USE_IMPORT_EXPORT\n#endif")
+endif()
+
+configure_file("${CURRENT_PORT_DIR}/usage"
"${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY)
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/usage
b/dev/vcpkg/ports/aws-sdk-cpp/usage
new file mode 100644
index 000000000..37e1f617b
--- /dev/null
+++ b/dev/vcpkg/ports/aws-sdk-cpp/usage
@@ -0,0 +1,12 @@
+The package @PORT@:@TARGET_TRIPLET@ provides CMake targets:
+
+ When using AWSSDK, AWSSDK_ROOT_DIR must be defined by the user.
+ find_package(AWSSDK CONFIG COMPONENTS core dynamodb kinesis s3 REQUIRED)
+ target_include_directories(main PRIVATE ${AWSSDK_INCLUDE_DIRS})
+ target_link_libraries(main PRIVATE ${AWSSDK_LIBRARIES})
+
+ OR
+
+ find_package(aws-cpp-sdk-core REQUIRED)
+ target_include_directories(main PRIVATE aws-cpp-sdk-core)
+ target_link_libraries(main PRIVATE aws-cpp-sdk-core)
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/vcpkg.in.json
b/dev/vcpkg/ports/aws-sdk-cpp/vcpkg.in.json
new file mode 100644
index 000000000..a618a77d8
--- /dev/null
+++ b/dev/vcpkg/ports/aws-sdk-cpp/vcpkg.in.json
@@ -0,0 +1,38 @@
+{
+ "name": "aws-sdk-cpp",
+ "version": "1.11.160",
+ "port-version": 1,
+ "description": "AWS SDK for C++",
+ "homepage": "https://github.com/aws/aws-sdk-cpp",
+ "license": "Apache-2.0",
+ "supports": "!(windows & arm) & !uwp",
+ "dependencies": [
+ "aws-crt-cpp",
+ {
+ "name": "curl",
+ "default-features": false,
+ "features": [
+ "ssl"
+ ],
+ "platform": "!uwp & !windows"
+ },
+ {
+ "name": "openssl",
+ "platform": "!uwp & !windows"
+ },
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ },
+ "zlib"
+ ],
+ "default-features": [
+ "dynamodb",
+ "kinesis",
+ "s3"
+ ]
+}
diff --git a/dev/vcpkg/ports/aws-sdk-cpp/vcpkg.json
b/dev/vcpkg/ports/aws-sdk-cpp/vcpkg.json
new file mode 100644
index 000000000..138894a9e
--- /dev/null
+++ b/dev/vcpkg/ports/aws-sdk-cpp/vcpkg.json
@@ -0,0 +1,1187 @@
+{
+ "$note": "Automatically generated by generateFeatures.ps1",
+ "name": "aws-sdk-cpp",
+ "version": "1.11.169",
+ "port-version": 2,
+ "description": "AWS SDK for C++",
+ "homepage": "https://github.com/aws/aws-sdk-cpp",
+ "license": "Apache-2.0",
+ "supports": "!(windows & arm) & !uwp",
+ "dependencies": [
+ "aws-crt-cpp",
+ {
+ "name": "curl",
+ "default-features": false,
+ "features": [
+ "ssl"
+ ],
+ "platform": "!uwp & !windows"
+ },
+ {
+ "name": "openssl",
+ "platform": "!uwp & !windows"
+ },
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ },
+ "zlib"
+ ],
+ "default-features": [
+ "dynamodb",
+ "kinesis",
+ "s3"
+ ],
+ "features": {
+ "access-management": {
+ "description": "C++ SDK for the AWS access-management service",
+ "dependencies": [
+ {
+ "name": "aws-sdk-cpp",
+ "default-features": false,
+ "features": [
+ "cognito-identity",
+ "iam"
+ ]
+ }
+ ]
+ },
+ "accessanalyzer": {
+ "description": "C++ SDK for the AWS accessanalyzer service"
+ },
+ "account": {
+ "description": "C++ SDK for the AWS account service"
+ },
+ "acm": {
+ "description": "C++ SDK for the AWS acm service"
+ },
+ "acm-pca": {
+ "description": "C++ SDK for the AWS acm-pca service"
+ },
+ "alexaforbusiness": {
+ "description": "C++ SDK for the AWS alexaforbusiness service"
+ },
+ "amp": {
+ "description": "C++ SDK for the AWS amp service"
+ },
+ "amplify": {
+ "description": "C++ SDK for the AWS amplify service"
+ },
+ "amplifybackend": {
+ "description": "C++ SDK for the AWS amplifybackend service"
+ },
+ "amplifyuibuilder": {
+ "description": "C++ SDK for the AWS amplifyuibuilder service"
+ },
+ "apigateway": {
+ "description": "C++ SDK for the AWS apigateway service"
+ },
+ "apigatewaymanagementapi": {
+ "description": "C++ SDK for the AWS apigatewaymanagementapi service"
+ },
+ "apigatewayv2": {
+ "description": "C++ SDK for the AWS apigatewayv2 service"
+ },
+ "appconfig": {
+ "description": "C++ SDK for the AWS appconfig service"
+ },
+ "appconfigdata": {
+ "description": "C++ SDK for the AWS appconfigdata service"
+ },
+ "appfabric": {
+ "description": "C++ SDK for the AWS appfabric service"
+ },
+ "appflow": {
+ "description": "C++ SDK for the AWS appflow service"
+ },
+ "appintegrations": {
+ "description": "C++ SDK for the AWS appintegrations service"
+ },
+ "application-autoscaling": {
+ "description": "C++ SDK for the AWS application-autoscaling service"
+ },
+ "application-insights": {
+ "description": "C++ SDK for the AWS application-insights service"
+ },
+ "applicationcostprofiler": {
+ "description": "C++ SDK for the AWS applicationcostprofiler service"
+ },
+ "appmesh": {
+ "description": "C++ SDK for the AWS appmesh service"
+ },
+ "apprunner": {
+ "description": "C++ SDK for the AWS apprunner service"
+ },
+ "appstream": {
+ "description": "C++ SDK for the AWS appstream service"
+ },
+ "appsync": {
+ "description": "C++ SDK for the AWS appsync service"
+ },
+ "arc-zonal-shift": {
+ "description": "C++ SDK for the AWS arc-zonal-shift service"
+ },
+ "athena": {
+ "description": "C++ SDK for the AWS athena service"
+ },
+ "auditmanager": {
+ "description": "C++ SDK for the AWS auditmanager service"
+ },
+ "autoscaling": {
+ "description": "C++ SDK for the AWS autoscaling service"
+ },
+ "autoscaling-plans": {
+ "description": "C++ SDK for the AWS autoscaling-plans service"
+ },
+ "awsmigrationhub": {
+ "description": "C++ SDK for the AWS AWSMigrationHub service"
+ },
+ "awstransfer": {
+ "description": "C++ SDK for the AWS awstransfer service"
+ },
+ "backup": {
+ "description": "C++ SDK for the AWS backup service"
+ },
+ "backup-gateway": {
+ "description": "C++ SDK for the AWS backup-gateway service"
+ },
+ "backupstorage": {
+ "description": "C++ SDK for the AWS backupstorage service"
+ },
+ "batch": {
+ "description": "C++ SDK for the AWS batch service"
+ },
+ "billingconductor": {
+ "description": "C++ SDK for the AWS billingconductor service"
+ },
+ "braket": {
+ "description": "C++ SDK for the AWS braket service"
+ },
+ "budgets": {
+ "description": "C++ SDK for the AWS budgets service"
+ },
+ "ce": {
+ "description": "C++ SDK for the AWS ce service"
+ },
+ "chime": {
+ "description": "C++ SDK for the AWS chime service"
+ },
+ "chime-sdk-identity": {
+ "description": "C++ SDK for the AWS chime-sdk-identity service"
+ },
+ "chime-sdk-media-pipelines": {
+ "description": "C++ SDK for the AWS chime-sdk-media-pipelines service"
+ },
+ "chime-sdk-meetings": {
+ "description": "C++ SDK for the AWS chime-sdk-meetings service"
+ },
+ "chime-sdk-messaging": {
+ "description": "C++ SDK for the AWS chime-sdk-messaging service"
+ },
+ "chime-sdk-voice": {
+ "description": "C++ SDK for the AWS chime-sdk-voice service"
+ },
+ "cleanrooms": {
+ "description": "C++ SDK for the AWS cleanrooms service"
+ },
+ "cloud9": {
+ "description": "C++ SDK for the AWS cloud9 service"
+ },
+ "cloudcontrol": {
+ "description": "C++ SDK for the AWS cloudcontrol service"
+ },
+ "clouddirectory": {
+ "description": "C++ SDK for the AWS clouddirectory service"
+ },
+ "cloudformation": {
+ "description": "C++ SDK for the AWS cloudformation service"
+ },
+ "cloudfront": {
+ "description": "C++ SDK for the AWS cloudfront service"
+ },
+ "cloudhsm": {
+ "description": "C++ SDK for the AWS cloudhsm service"
+ },
+ "cloudhsmv2": {
+ "description": "C++ SDK for the AWS cloudhsmv2 service"
+ },
+ "cloudsearch": {
+ "description": "C++ SDK for the AWS cloudsearch service"
+ },
+ "cloudsearchdomain": {
+ "description": "C++ SDK for the AWS cloudsearchdomain service"
+ },
+ "cloudtrail": {
+ "description": "C++ SDK for the AWS cloudtrail service"
+ },
+ "cloudtrail-data": {
+ "description": "C++ SDK for the AWS cloudtrail-data service"
+ },
+ "codeartifact": {
+ "description": "C++ SDK for the AWS codeartifact service"
+ },
+ "codebuild": {
+ "description": "C++ SDK for the AWS codebuild service"
+ },
+ "codecatalyst": {
+ "description": "C++ SDK for the AWS codecatalyst service"
+ },
+ "codecommit": {
+ "description": "C++ SDK for the AWS codecommit service"
+ },
+ "codedeploy": {
+ "description": "C++ SDK for the AWS codedeploy service"
+ },
+ "codeguru-reviewer": {
+ "description": "C++ SDK for the AWS codeguru-reviewer service"
+ },
+ "codeguru-security": {
+ "description": "C++ SDK for the AWS codeguru-security service"
+ },
+ "codeguruprofiler": {
+ "description": "C++ SDK for the AWS codeguruprofiler service"
+ },
+ "codepipeline": {
+ "description": "C++ SDK for the AWS codepipeline service"
+ },
+ "codestar": {
+ "description": "C++ SDK for the AWS codestar service"
+ },
+ "codestar-connections": {
+ "description": "C++ SDK for the AWS codestar-connections service"
+ },
+ "codestar-notifications": {
+ "description": "C++ SDK for the AWS codestar-notifications service"
+ },
+ "cognito-identity": {
+ "description": "C++ SDK for the AWS cognito-identity service"
+ },
+ "cognito-idp": {
+ "description": "C++ SDK for the AWS cognito-idp service"
+ },
+ "cognito-sync": {
+ "description": "C++ SDK for the AWS cognito-sync service"
+ },
+ "comprehend": {
+ "description": "C++ SDK for the AWS comprehend service"
+ },
+ "comprehendmedical": {
+ "description": "C++ SDK for the AWS comprehendmedical service"
+ },
+ "compute-optimizer": {
+ "description": "C++ SDK for the AWS compute-optimizer service"
+ },
+ "config": {
+ "description": "C++ SDK for the AWS config service"
+ },
+ "connect": {
+ "description": "C++ SDK for the AWS connect service"
+ },
+ "connect-contact-lens": {
+ "description": "C++ SDK for the AWS connect-contact-lens service"
+ },
+ "connectcampaigns": {
+ "description": "C++ SDK for the AWS connectcampaigns service"
+ },
+ "connectcases": {
+ "description": "C++ SDK for the AWS connectcases service"
+ },
+ "connectparticipant": {
+ "description": "C++ SDK for the AWS connectparticipant service"
+ },
+ "controltower": {
+ "description": "C++ SDK for the AWS controltower service"
+ },
+ "cur": {
+ "description": "C++ SDK for the AWS cur service"
+ },
+ "customer-profiles": {
+ "description": "C++ SDK for the AWS customer-profiles service"
+ },
+ "databrew": {
+ "description": "C++ SDK for the AWS databrew service"
+ },
+ "dataexchange": {
+ "description": "C++ SDK for the AWS dataexchange service"
+ },
+ "datapipeline": {
+ "description": "C++ SDK for the AWS datapipeline service"
+ },
+ "datasync": {
+ "description": "C++ SDK for the AWS datasync service"
+ },
+ "dax": {
+ "description": "C++ SDK for the AWS dax service"
+ },
+ "detective": {
+ "description": "C++ SDK for the AWS detective service"
+ },
+ "devicefarm": {
+ "description": "C++ SDK for the AWS devicefarm service"
+ },
+ "devops-guru": {
+ "description": "C++ SDK for the AWS devops-guru service"
+ },
+ "directconnect": {
+ "description": "C++ SDK for the AWS directconnect service"
+ },
+ "discovery": {
+ "description": "C++ SDK for the AWS discovery service"
+ },
+ "dlm": {
+ "description": "C++ SDK for the AWS dlm service"
+ },
+ "dms": {
+ "description": "C++ SDK for the AWS dms service"
+ },
+ "docdb": {
+ "description": "C++ SDK for the AWS docdb service"
+ },
+ "docdb-elastic": {
+ "description": "C++ SDK for the AWS docdb-elastic service"
+ },
+ "drs": {
+ "description": "C++ SDK for the AWS drs service"
+ },
+ "ds": {
+ "description": "C++ SDK for the AWS ds service"
+ },
+ "dynamodb": {
+ "description": "C++ SDK for the AWS dynamodb service"
+ },
+ "dynamodbstreams": {
+ "description": "C++ SDK for the AWS dynamodbstreams service"
+ },
+ "ebs": {
+ "description": "C++ SDK for the AWS ebs service"
+ },
+ "ec2": {
+ "description": "C++ SDK for the AWS ec2 service"
+ },
+ "ec2-instance-connect": {
+ "description": "C++ SDK for the AWS ec2-instance-connect service"
+ },
+ "ecr": {
+ "description": "C++ SDK for the AWS ecr service"
+ },
+ "ecr-public": {
+ "description": "C++ SDK for the AWS ecr-public service"
+ },
+ "ecs": {
+ "description": "C++ SDK for the AWS ecs service"
+ },
+ "eks": {
+ "description": "C++ SDK for the AWS eks service"
+ },
+ "elastic-inference": {
+ "description": "C++ SDK for the AWS elastic-inference service"
+ },
+ "elasticache": {
+ "description": "C++ SDK for the AWS elasticache service"
+ },
+ "elasticbeanstalk": {
+ "description": "C++ SDK for the AWS elasticbeanstalk service"
+ },
+ "elasticfilesystem": {
+ "description": "C++ SDK for the AWS elasticfilesystem service"
+ },
+ "elasticloadbalancing": {
+ "description": "C++ SDK for the AWS elasticloadbalancing service"
+ },
+ "elasticloadbalancingv2": {
+ "description": "C++ SDK for the AWS elasticloadbalancingv2 service"
+ },
+ "elasticmapreduce": {
+ "description": "C++ SDK for the AWS elasticmapreduce service"
+ },
+ "elastictranscoder": {
+ "description": "C++ SDK for the AWS elastictranscoder service"
+ },
+ "email": {
+ "description": "C++ SDK for the AWS email service"
+ },
+ "emr-containers": {
+ "description": "C++ SDK for the AWS emr-containers service"
+ },
+ "emr-serverless": {
+ "description": "C++ SDK for the AWS emr-serverless service"
+ },
+ "entityresolution": {
+ "description": "C++ SDK for the AWS entityresolution service"
+ },
+ "es": {
+ "description": "C++ SDK for the AWS es service"
+ },
+ "eventbridge": {
+ "description": "C++ SDK for the AWS eventbridge service"
+ },
+ "events": {
+ "description": "C++ SDK for the AWS events service"
+ },
+ "evidently": {
+ "description": "C++ SDK for the AWS evidently service"
+ },
+ "finspace": {
+ "description": "C++ SDK for the AWS finspace service"
+ },
+ "finspace-data": {
+ "description": "C++ SDK for the AWS finspace-data service"
+ },
+ "firehose": {
+ "description": "C++ SDK for the AWS firehose service"
+ },
+ "fis": {
+ "description": "C++ SDK for the AWS fis service"
+ },
+ "fms": {
+ "description": "C++ SDK for the AWS fms service"
+ },
+ "forecast": {
+ "description": "C++ SDK for the AWS forecast service"
+ },
+ "forecastquery": {
+ "description": "C++ SDK for the AWS forecastquery service"
+ },
+ "frauddetector": {
+ "description": "C++ SDK for the AWS frauddetector service"
+ },
+ "fsx": {
+ "description": "C++ SDK for the AWS fsx service"
+ },
+ "gamelift": {
+ "description": "C++ SDK for the AWS gamelift service"
+ },
+ "gamesparks": {
+ "description": "C++ SDK for the AWS gamesparks service"
+ },
+ "glacier": {
+ "description": "C++ SDK for the AWS glacier service"
+ },
+ "globalaccelerator": {
+ "description": "C++ SDK for the AWS globalaccelerator service"
+ },
+ "glue": {
+ "description": "C++ SDK for the AWS glue service"
+ },
+ "grafana": {
+ "description": "C++ SDK for the AWS grafana service"
+ },
+ "greengrass": {
+ "description": "C++ SDK for the AWS greengrass service"
+ },
+ "greengrassv2": {
+ "description": "C++ SDK for the AWS greengrassv2 service"
+ },
+ "groundstation": {
+ "description": "C++ SDK for the AWS groundstation service"
+ },
+ "guardduty": {
+ "description": "C++ SDK for the AWS guardduty service"
+ },
+ "health": {
+ "description": "C++ SDK for the AWS health service"
+ },
+ "healthlake": {
+ "description": "C++ SDK for the AWS healthlake service"
+ },
+ "honeycode": {
+ "description": "C++ SDK for the AWS honeycode service"
+ },
+ "iam": {
+ "description": "C++ SDK for the AWS iam service"
+ },
+ "identity-management": {
+ "description": "C++ SDK for the AWS identity-management service",
+ "dependencies": [
+ {
+ "name": "aws-sdk-cpp",
+ "default-features": false,
+ "features": [
+ "cognito-identity",
+ "sts"
+ ]
+ }
+ ]
+ },
+ "identitystore": {
+ "description": "C++ SDK for the AWS identitystore service"
+ },
+ "imagebuilder": {
+ "description": "C++ SDK for the AWS imagebuilder service"
+ },
+ "importexport": {
+ "description": "C++ SDK for the AWS importexport service"
+ },
+ "inspector": {
+ "description": "C++ SDK for the AWS inspector service"
+ },
+ "inspector2": {
+ "description": "C++ SDK for the AWS inspector2 service"
+ },
+ "internetmonitor": {
+ "description": "C++ SDK for the AWS internetmonitor service"
+ },
+ "iot": {
+ "description": "C++ SDK for the AWS iot service"
+ },
+ "iot-data": {
+ "description": "C++ SDK for the AWS iot-data service"
+ },
+ "iot-jobs-data": {
+ "description": "C++ SDK for the AWS iot-jobs-data service"
+ },
+ "iot-roborunner": {
+ "description": "C++ SDK for the AWS iot-roborunner service"
+ },
+ "iot1click-devices": {
+ "description": "C++ SDK for the AWS iot1click-devices service"
+ },
+ "iot1click-projects": {
+ "description": "C++ SDK for the AWS iot1click-projects service"
+ },
+ "iotanalytics": {
+ "description": "C++ SDK for the AWS iotanalytics service"
+ },
+ "iotdeviceadvisor": {
+ "description": "C++ SDK for the AWS iotdeviceadvisor service"
+ },
+ "iotevents": {
+ "description": "C++ SDK for the AWS iotevents service"
+ },
+ "iotevents-data": {
+ "description": "C++ SDK for the AWS iotevents-data service"
+ },
+ "iotfleethub": {
+ "description": "C++ SDK for the AWS iotfleethub service"
+ },
+ "iotfleetwise": {
+ "description": "C++ SDK for the AWS iotfleetwise service"
+ },
+ "iotsecuretunneling": {
+ "description": "C++ SDK for the AWS iotsecuretunneling service"
+ },
+ "iotsitewise": {
+ "description": "C++ SDK for the AWS iotsitewise service"
+ },
+ "iotthingsgraph": {
+ "description": "C++ SDK for the AWS iotthingsgraph service"
+ },
+ "iottwinmaker": {
+ "description": "C++ SDK for the AWS iottwinmaker service"
+ },
+ "iotwireless": {
+ "description": "C++ SDK for the AWS iotwireless service"
+ },
+ "ivs": {
+ "description": "C++ SDK for the AWS ivs service"
+ },
+ "ivs-realtime": {
+ "description": "C++ SDK for the AWS ivs-realtime service"
+ },
+ "ivschat": {
+ "description": "C++ SDK for the AWS ivschat service"
+ },
+ "kafka": {
+ "description": "C++ SDK for the AWS kafka service"
+ },
+ "kafkaconnect": {
+ "description": "C++ SDK for the AWS kafkaconnect service"
+ },
+ "kendra": {
+ "description": "C++ SDK for the AWS kendra service"
+ },
+ "kendra-ranking": {
+ "description": "C++ SDK for the AWS kendra-ranking service"
+ },
+ "keyspaces": {
+ "description": "C++ SDK for the AWS keyspaces service"
+ },
+ "kinesis": {
+ "description": "C++ SDK for the AWS kinesis service"
+ },
+ "kinesis-video-archived-media": {
+ "description": "C++ SDK for the AWS kinesis-video-archived-media service"
+ },
+ "kinesis-video-media": {
+ "description": "C++ SDK for the AWS kinesis-video-media service"
+ },
+ "kinesis-video-signaling": {
+ "description": "C++ SDK for the AWS kinesis-video-signaling service"
+ },
+ "kinesis-video-webrtc-storage": {
+ "description": "C++ SDK for the AWS kinesis-video-webrtc-storage service"
+ },
+ "kinesisanalytics": {
+ "description": "C++ SDK for the AWS kinesisanalytics service"
+ },
+ "kinesisanalyticsv2": {
+ "description": "C++ SDK for the AWS kinesisanalyticsv2 service"
+ },
+ "kinesisvideo": {
+ "description": "C++ SDK for the AWS kinesisvideo service"
+ },
+ "kms": {
+ "description": "C++ SDK for the AWS kms service"
+ },
+ "lakeformation": {
+ "description": "C++ SDK for the AWS lakeformation service"
+ },
+ "lambda": {
+ "description": "C++ SDK for the AWS lambda service"
+ },
+ "lex": {
+ "description": "C++ SDK for the AWS lex service"
+ },
+ "lex-models": {
+ "description": "C++ SDK for the AWS lex-models service"
+ },
+ "lexv2-models": {
+ "description": "C++ SDK for the AWS lexv2-models service"
+ },
+ "lexv2-runtime": {
+ "description": "C++ SDK for the AWS lexv2-runtime service"
+ },
+ "license-manager": {
+ "description": "C++ SDK for the AWS license-manager service"
+ },
+ "license-manager-linux-subscriptions": {
+ "description": "C++ SDK for the AWS license-manager-linux-subscriptions
service"
+ },
+ "license-manager-user-subscriptions": {
+ "description": "C++ SDK for the AWS license-manager-user-subscriptions
service"
+ },
+ "lightsail": {
+ "description": "C++ SDK for the AWS lightsail service"
+ },
+ "location": {
+ "description": "C++ SDK for the AWS location service"
+ },
+ "logs": {
+ "description": "C++ SDK for the AWS logs service"
+ },
+ "lookoutequipment": {
+ "description": "C++ SDK for the AWS lookoutequipment service"
+ },
+ "lookoutmetrics": {
+ "description": "C++ SDK for the AWS lookoutmetrics service"
+ },
+ "lookoutvision": {
+ "description": "C++ SDK for the AWS lookoutvision service"
+ },
+ "m2": {
+ "description": "C++ SDK for the AWS m2 service"
+ },
+ "machinelearning": {
+ "description": "C++ SDK for the AWS machinelearning service"
+ },
+ "macie": {
+ "description": "C++ SDK for the AWS macie service"
+ },
+ "macie2": {
+ "description": "C++ SDK for the AWS macie2 service"
+ },
+ "managedblockchain": {
+ "description": "C++ SDK for the AWS managedblockchain service"
+ },
+ "managedblockchain-query": {
+ "description": "C++ SDK for the AWS managedblockchain-query service"
+ },
+ "marketplace-catalog": {
+ "description": "C++ SDK for the AWS marketplace-catalog service"
+ },
+ "marketplace-entitlement": {
+ "description": "C++ SDK for the AWS marketplace-entitlement service"
+ },
+ "marketplacecommerceanalytics": {
+ "description": "C++ SDK for the AWS marketplacecommerceanalytics service"
+ },
+ "mediaconnect": {
+ "description": "C++ SDK for the AWS mediaconnect service"
+ },
+ "mediaconvert": {
+ "description": "C++ SDK for the AWS mediaconvert service"
+ },
+ "medialive": {
+ "description": "C++ SDK for the AWS medialive service"
+ },
+ "mediapackage": {
+ "description": "C++ SDK for the AWS mediapackage service"
+ },
+ "mediapackage-vod": {
+ "description": "C++ SDK for the AWS mediapackage-vod service"
+ },
+ "mediapackagev2": {
+ "description": "C++ SDK for the AWS mediapackagev2 service"
+ },
+ "mediastore": {
+ "description": "C++ SDK for the AWS mediastore service"
+ },
+ "mediastore-data": {
+ "description": "C++ SDK for the AWS mediastore-data service"
+ },
+ "mediatailor": {
+ "description": "C++ SDK for the AWS mediatailor service"
+ },
+ "medical-imaging": {
+ "description": "C++ SDK for the AWS medical-imaging service"
+ },
+ "memorydb": {
+ "description": "C++ SDK for the AWS memorydb service"
+ },
+ "meteringmarketplace": {
+ "description": "C++ SDK for the AWS meteringmarketplace service"
+ },
+ "mgn": {
+ "description": "C++ SDK for the AWS mgn service"
+ },
+ "migration-hub-refactor-spaces": {
+ "description": "C++ SDK for the AWS migration-hub-refactor-spaces
service"
+ },
+ "migrationhub-config": {
+ "description": "C++ SDK for the AWS migrationhub-config service"
+ },
+ "migrationhuborchestrator": {
+ "description": "C++ SDK for the AWS migrationhuborchestrator service"
+ },
+ "migrationhubstrategy": {
+ "description": "C++ SDK for the AWS migrationhubstrategy service"
+ },
+ "mobile": {
+ "description": "C++ SDK for the AWS mobile service"
+ },
+ "monitoring": {
+ "description": "C++ SDK for the AWS monitoring service"
+ },
+ "mq": {
+ "description": "C++ SDK for the AWS mq service"
+ },
+ "mturk-requester": {
+ "description": "C++ SDK for the AWS mturk-requester service"
+ },
+ "mwaa": {
+ "description": "C++ SDK for the AWS mwaa service"
+ },
+ "neptune": {
+ "description": "C++ SDK for the AWS neptune service"
+ },
+ "neptunedata": {
+ "description": "C++ SDK for the AWS neptunedata service"
+ },
+ "network-firewall": {
+ "description": "C++ SDK for the AWS network-firewall service"
+ },
+ "networkmanager": {
+ "description": "C++ SDK for the AWS networkmanager service"
+ },
+ "nimble": {
+ "description": "C++ SDK for the AWS nimble service"
+ },
+ "oam": {
+ "description": "C++ SDK for the AWS oam service"
+ },
+ "omics": {
+ "description": "C++ SDK for the AWS omics service"
+ },
+ "opensearch": {
+ "description": "C++ SDK for the AWS opensearch service"
+ },
+ "opensearchserverless": {
+ "description": "C++ SDK for the AWS opensearchserverless service"
+ },
+ "opsworks": {
+ "description": "C++ SDK for the AWS opsworks service"
+ },
+ "opsworkscm": {
+ "description": "C++ SDK for the AWS opsworkscm service"
+ },
+ "organizations": {
+ "description": "C++ SDK for the AWS organizations service"
+ },
+ "osis": {
+ "description": "C++ SDK for the AWS osis service"
+ },
+ "outposts": {
+ "description": "C++ SDK for the AWS outposts service"
+ },
+ "panorama": {
+ "description": "C++ SDK for the AWS panorama service"
+ },
+ "payment-cryptography": {
+ "description": "C++ SDK for the AWS payment-cryptography service"
+ },
+ "payment-cryptography-data": {
+ "description": "C++ SDK for the AWS payment-cryptography-data service"
+ },
+ "pca-connector-ad": {
+ "description": "C++ SDK for the AWS pca-connector-ad service"
+ },
+ "personalize": {
+ "description": "C++ SDK for the AWS personalize service"
+ },
+ "personalize-events": {
+ "description": "C++ SDK for the AWS personalize-events service"
+ },
+ "personalize-runtime": {
+ "description": "C++ SDK for the AWS personalize-runtime service"
+ },
+ "pi": {
+ "description": "C++ SDK for the AWS pi service"
+ },
+ "pinpoint": {
+ "description": "C++ SDK for the AWS pinpoint service"
+ },
+ "pinpoint-email": {
+ "description": "C++ SDK for the AWS pinpoint-email service"
+ },
+ "pinpoint-sms-voice-v2": {
+ "description": "C++ SDK for the AWS pinpoint-sms-voice-v2 service"
+ },
+ "pipes": {
+ "description": "C++ SDK for the AWS pipes service"
+ },
+ "polly": {
+ "description": "C++ SDK for the AWS polly service"
+ },
+ "pricing": {
+ "description": "C++ SDK for the AWS pricing service"
+ },
+ "privatenetworks": {
+ "description": "C++ SDK for the AWS privatenetworks service"
+ },
+ "proton": {
+ "description": "C++ SDK for the AWS proton service"
+ },
+ "qldb": {
+ "description": "C++ SDK for the AWS qldb service"
+ },
+ "qldb-session": {
+ "description": "C++ SDK for the AWS qldb-session service"
+ },
+ "queues": {
+ "description": "C++ SDK for the AWS queues service",
+ "dependencies": [
+ {
+ "name": "aws-sdk-cpp",
+ "default-features": false,
+ "features": [
+ "sqs"
+ ]
+ }
+ ]
+ },
+ "quicksight": {
+ "description": "C++ SDK for the AWS quicksight service"
+ },
+ "ram": {
+ "description": "C++ SDK for the AWS ram service"
+ },
+ "rbin": {
+ "description": "C++ SDK for the AWS rbin service"
+ },
+ "rds": {
+ "description": "C++ SDK for the AWS rds service"
+ },
+ "rds-data": {
+ "description": "C++ SDK for the AWS rds-data service"
+ },
+ "redshift": {
+ "description": "C++ SDK for the AWS redshift service"
+ },
+ "redshift-data": {
+ "description": "C++ SDK for the AWS redshift-data service"
+ },
+ "redshift-serverless": {
+ "description": "C++ SDK for the AWS redshift-serverless service"
+ },
+ "rekognition": {
+ "description": "C++ SDK for the AWS rekognition service"
+ },
+ "resiliencehub": {
+ "description": "C++ SDK for the AWS resiliencehub service"
+ },
+ "resource-explorer-2": {
+ "description": "C++ SDK for the AWS resource-explorer-2 service"
+ },
+ "resource-groups": {
+ "description": "C++ SDK for the AWS resource-groups service"
+ },
+ "resourcegroupstaggingapi": {
+ "description": "C++ SDK for the AWS resourcegroupstaggingapi service"
+ },
+ "robomaker": {
+ "description": "C++ SDK for the AWS robomaker service"
+ },
+ "rolesanywhere": {
+ "description": "C++ SDK for the AWS rolesanywhere service"
+ },
+ "route53": {
+ "description": "C++ SDK for the AWS route53 service"
+ },
+ "route53-recovery-cluster": {
+ "description": "C++ SDK for the AWS route53-recovery-cluster service"
+ },
+ "route53-recovery-control-config": {
+ "description": "C++ SDK for the AWS route53-recovery-control-config
service"
+ },
+ "route53-recovery-readiness": {
+ "description": "C++ SDK for the AWS route53-recovery-readiness service"
+ },
+ "route53domains": {
+ "description": "C++ SDK for the AWS route53domains service"
+ },
+ "route53resolver": {
+ "description": "C++ SDK for the AWS route53resolver service"
+ },
+ "rum": {
+ "description": "C++ SDK for the AWS rum service"
+ },
+ "s3": {
+ "description": "C++ SDK for the AWS s3 service"
+ },
+ "s3-crt": {
+ "description": "C++ SDK for the AWS s3-crt service"
+ },
+ "s3-encryption": {
+ "description": "C++ SDK for the AWS s3-encryption service",
+ "dependencies": [
+ {
+ "name": "aws-sdk-cpp",
+ "default-features": false,
+ "features": [
+ "kms",
+ "s3"
+ ]
+ }
+ ]
+ },
+ "s3control": {
+ "description": "C++ SDK for the AWS s3control service"
+ },
+ "s3outposts": {
+ "description": "C++ SDK for the AWS s3outposts service"
+ },
+ "sagemaker": {
+ "description": "C++ SDK for the AWS sagemaker service"
+ },
+ "sagemaker-a2i-runtime": {
+ "description": "C++ SDK for the AWS sagemaker-a2i-runtime service"
+ },
+ "sagemaker-edge": {
+ "description": "C++ SDK for the AWS sagemaker-edge service"
+ },
+ "sagemaker-featurestore-runtime": {
+ "description": "C++ SDK for the AWS sagemaker-featurestore-runtime
service"
+ },
+ "sagemaker-geospatial": {
+ "description": "C++ SDK for the AWS sagemaker-geospatial service"
+ },
+ "sagemaker-metrics": {
+ "description": "C++ SDK for the AWS sagemaker-metrics service"
+ },
+ "sagemaker-runtime": {
+ "description": "C++ SDK for the AWS sagemaker-runtime service"
+ },
+ "savingsplans": {
+ "description": "C++ SDK for the AWS savingsplans service"
+ },
+ "scheduler": {
+ "description": "C++ SDK for the AWS scheduler service"
+ },
+ "schemas": {
+ "description": "C++ SDK for the AWS schemas service"
+ },
+ "sdb": {
+ "description": "C++ SDK for the AWS sdb service"
+ },
+ "secretsmanager": {
+ "description": "C++ SDK for the AWS secretsmanager service"
+ },
+ "securityhub": {
+ "description": "C++ SDK for the AWS securityhub service"
+ },
+ "securitylake": {
+ "description": "C++ SDK for the AWS securitylake service"
+ },
+ "serverlessrepo": {
+ "description": "C++ SDK for the AWS serverlessrepo service"
+ },
+ "service-quotas": {
+ "description": "C++ SDK for the AWS service-quotas service"
+ },
+ "servicecatalog": {
+ "description": "C++ SDK for the AWS servicecatalog service"
+ },
+ "servicecatalog-appregistry": {
+ "description": "C++ SDK for the AWS servicecatalog-appregistry service"
+ },
+ "servicediscovery": {
+ "description": "C++ SDK for the AWS servicediscovery service"
+ },
+ "sesv2": {
+ "description": "C++ SDK for the AWS sesv2 service"
+ },
+ "shield": {
+ "description": "C++ SDK for the AWS shield service"
+ },
+ "signer": {
+ "description": "C++ SDK for the AWS signer service"
+ },
+ "simspaceweaver": {
+ "description": "C++ SDK for the AWS simspaceweaver service"
+ },
+ "sms": {
+ "description": "C++ SDK for the AWS sms service"
+ },
+ "sms-voice": {
+ "description": "C++ SDK for the AWS sms-voice service"
+ },
+ "snow-device-management": {
+ "description": "C++ SDK for the AWS snow-device-management service"
+ },
+ "snowball": {
+ "description": "C++ SDK for the AWS snowball service"
+ },
+ "sns": {
+ "description": "C++ SDK for the AWS sns service"
+ },
+ "sqs": {
+ "description": "C++ SDK for the AWS sqs service"
+ },
+ "ssm": {
+ "description": "C++ SDK for the AWS ssm service"
+ },
+ "ssm-contacts": {
+ "description": "C++ SDK for the AWS ssm-contacts service"
+ },
+ "ssm-incidents": {
+ "description": "C++ SDK for the AWS ssm-incidents service"
+ },
+ "ssm-sap": {
+ "description": "C++ SDK for the AWS ssm-sap service"
+ },
+ "sso": {
+ "description": "C++ SDK for the AWS sso service"
+ },
+ "sso-admin": {
+ "description": "C++ SDK for the AWS sso-admin service"
+ },
+ "sso-oidc": {
+ "description": "C++ SDK for the AWS sso-oidc service"
+ },
+ "states": {
+ "description": "C++ SDK for the AWS states service"
+ },
+ "storagegateway": {
+ "description": "C++ SDK for the AWS storagegateway service"
+ },
+ "sts": {
+ "description": "C++ SDK for the AWS sts service"
+ },
+ "support": {
+ "description": "C++ SDK for the AWS support service"
+ },
+ "support-app": {
+ "description": "C++ SDK for the AWS support-app service"
+ },
+ "swf": {
+ "description": "C++ SDK for the AWS swf service"
+ },
+ "synthetics": {
+ "description": "C++ SDK for the AWS synthetics service"
+ },
+ "text-to-speech": {
+ "description": "C++ SDK for the AWS text-to-speech service",
+ "dependencies": [
+ {
+ "name": "aws-sdk-cpp",
+ "default-features": false,
+ "features": [
+ "polly"
+ ]
+ }
+ ]
+ },
+ "textract": {
+ "description": "C++ SDK for the AWS textract service"
+ },
+ "timestream-query": {
+ "description": "C++ SDK for the AWS timestream-query service"
+ },
+ "timestream-write": {
+ "description": "C++ SDK for the AWS timestream-write service"
+ },
+ "tnb": {
+ "description": "C++ SDK for the AWS tnb service"
+ },
+ "transcribe": {
+ "description": "C++ SDK for the AWS transcribe service"
+ },
+ "transcribestreaming": {
+ "description": "C++ SDK for the AWS transcribestreaming service"
+ },
+ "transfer": {
+ "description": "C++ SDK for the AWS transfer service",
+ "dependencies": [
+ {
+ "name": "aws-sdk-cpp",
+ "default-features": false,
+ "features": [
+ "s3"
+ ]
+ }
+ ]
+ },
+ "translate": {
+ "description": "C++ SDK for the AWS translate service"
+ },
+ "verifiedpermissions": {
+ "description": "C++ SDK for the AWS verifiedpermissions service"
+ },
+ "voice-id": {
+ "description": "C++ SDK for the AWS voice-id service"
+ },
+ "vpc-lattice": {
+ "description": "C++ SDK for the AWS vpc-lattice service"
+ },
+ "waf": {
+ "description": "C++ SDK for the AWS waf service"
+ },
+ "waf-regional": {
+ "description": "C++ SDK for the AWS waf-regional service"
+ },
+ "wafv2": {
+ "description": "C++ SDK for the AWS wafv2 service"
+ },
+ "wellarchitected": {
+ "description": "C++ SDK for the AWS wellarchitected service"
+ },
+ "wisdom": {
+ "description": "C++ SDK for the AWS wisdom service"
+ },
+ "workdocs": {
+ "description": "C++ SDK for the AWS workdocs service"
+ },
+ "worklink": {
+ "description": "C++ SDK for the AWS worklink service"
+ },
+ "workmail": {
+ "description": "C++ SDK for the AWS workmail service"
+ },
+ "workmailmessageflow": {
+ "description": "C++ SDK for the AWS workmailmessageflow service"
+ },
+ "workspaces": {
+ "description": "C++ SDK for the AWS workspaces service"
+ },
+ "workspaces-web": {
+ "description": "C++ SDK for the AWS workspaces-web service"
+ },
+ "xray": {
+ "description": "C++ SDK for the AWS xray service"
+ }
+ }
+}
diff --git a/dev/vcpkg/vcpkg.json b/dev/vcpkg/vcpkg.json
index f11d4d409..4593c86e7 100644
--- a/dev/vcpkg/vcpkg.json
+++ b/dev/vcpkg/vcpkg.json
@@ -60,7 +60,6 @@
"dependencies": [
{
"name": "aws-sdk-cpp",
- "version>=": "1.11.169",
"features": [
"identity-management",
"s3",
diff --git a/docs/get-started/build-guide.md b/docs/get-started/build-guide.md
index df78634c7..90c2ed119 100644
--- a/docs/get-started/build-guide.md
+++ b/docs/get-started/build-guide.md
@@ -31,7 +31,7 @@ Please set them via `--`, e.g. `--build_type=Release`.
| velox_home | Specify your own Velox source path to build.
| "" |
| build_velox_tests | Build Velox tests.
| OFF |
| build_velox_benchmarks | Build Velox benchmarks (velox_tests and connectors
will be disabled if ON) | OFF |
-| compile_arrow_java | Compile arrow java for gluten build to use to fix
invalid pointer issues. | OFF |
+| compile_arrow_java | Compile arrow java for gluten build to use to fix
invalid pointer issues. | ON |
### Velox build parameters for build_velox.sh
Please set them via `--`, e.g., `--velox_home=/YOUR/PATH`.
@@ -49,7 +49,7 @@ Please set them via `--`, e.g., `--velox_home=/YOUR/PATH`.
| build_test_utils | Build Velox with cmake arg -DVELOX_BUILD_TEST_UTILS=ON
if ON. | OFF |
| build_tests | Build Velox test.
| OFF |
| build_benchmarks | Build Velox benchmarks.
| OFF |
-| compile_arrow_java | Build arrow java for gluten build to use to fix invalid
pointer issues. | OFF |
+| compile_arrow_java | Build arrow java for gluten build to use to fix invalid
pointer issues. | ON |
### Maven build parameters
The below parameters can be set via `-P` for mvn.
diff --git a/docs/velox-backend-troubleshooting.md
b/docs/velox-backend-troubleshooting.md
index 32289ab23..98f82461f 100644
--- a/docs/velox-backend-troubleshooting.md
+++ b/docs/velox-backend-troubleshooting.md
@@ -32,7 +32,9 @@ rm -rf $SPARK_HOME/jars/arrow-*
```
### Incompatible class error when using native writer
-Gluten native writer overwrite some vanilla spark classes. Therefore, when
running a program that uses gluten, it is essential to ensure that the gluten
jar is loaded prior to the vanilla spark jar. In this section, we will provide
some configuration settings in `$SPARK_HOME/conf/spark-defaults.conf` for Yarn
client, Yarn cluster, and Local&Standalone mode to guarantee that the gluten
jar is prioritized.
+Gluten native writer overwrite some vanilla spark classes. Therefore, when
running a program that uses gluten, it is essential to ensure that
+the gluten jar is loaded prior to the vanilla spark jar. In this section, we
will provide some configuration settings in
+`$SPARK_HOME/conf/spark-defaults.conf` for Yarn client, Yarn cluster, and
Local&Standalone mode to guarantee that the gluten jar is prioritized.
#### Configurations for Yarn Client mode
@@ -63,3 +65,33 @@
spark.driver.extraClassPath={absolute_path}/gluten-<spark-version>-<gluten-versi
// The absolute path on running node
spark.executor.extraClassPath={absolute_path}/gluten-<spark-version>-<gluten-version>-SNAPSHOT-jar-with-dependencies.jar
```
+
+### Invalid pointer error
+
+If the below error is reported at runtime, please re-build gluten with
`--compile_arrow_java=ON`, then redeploy Gluten jar.
+
+```
+*** Error in `/usr/local/jdk1.8.0_381/bin/java': free(): invalid pointer:
0x00007f36cb5cec80 ***
+======= Backtrace: =========
+/lib64/libc.so.6(+0x7d1fd)[0x7f38c29da1fd]
+/lib64/libstdc++.so.6(_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE+0x142)[0x7f36cb3370d2]
+/lib64/libstdc++.so.6(_ZNSt6locale5_ImplC1Em+0x1e3)[0x7f36cb337523]
+/lib64/libstdc++.so.6(+0x71495)[0x7f36cb338495]
+/lib64/libpthread.so.0(pthread_once+0x50)[0x7f38c3147be0]
+/lib64/libstdc++.so.6(+0x714e1)[0x7f36cb3384e1]
+/lib64/libstdc++.so.6(_ZNSt6localeC2Ev+0x13)[0x7f36cb338523]
+/lib64/libstdc++.so.6(_ZNSt8ios_base4InitC2Ev+0xbc)[0x7f36cb33537c]
+/tmp/jnilib-645156599284574767.tmp(+0x2a90)[0x7f375d235a90]
+/lib64/ld-linux-x86-64.so.2(+0xf4e3)[0x7f38c33664e3]
+/lib64/ld-linux-x86-64.so.2(+0x13b04)[0x7f38c336ab04]
+/lib64/ld-linux-x86-64.so.2(+0xf2f4)[0x7f38c33662f4]
+/lib64/ld-linux-x86-64.so.2(+0x1321b)[0x7f38c336a21b]
+/lib64/libdl.so.2(+0x102b)[0x7f38c2d1f02b]
+/lib64/ld-linux-x86-64.so.2(+0xf2f4)[0x7f38c33662f4]
+/lib64/libdl.so.2(+0x162d)[0x7f38c2d1f62d]
+/lib64/libdl.so.2(dlopen+0x31)[0x7f38c2d1f0c1]
+/usr/local/jdk1.8.0_381/jre/lib/amd64/server/libjvm.so(+0x9292b1)[0x7f38c22732b1]
+/usr/local/jdk1.8.0_381/jre/lib/amd64/server/libjvm.so(JVM_LoadLibrary+0xa1)[0x7f38c205e0c1]
+/usr/local/jdk1.8.0_381/jre/lib/amd64/libjava.so(Java_java_lang_ClassLoader_00024NativeLibrary_load+0x1ac)
+...
+```
diff --git a/ep/build-velox/src/modify_arrow.patch
b/ep/build-velox/src/modify_arrow.patch
index e5444d280..64d92725d 100644
--- a/ep/build-velox/src/modify_arrow.patch
+++ b/ep/build-velox/src/modify_arrow.patch
@@ -31,14 +31,39 @@ index a24f272fe..e25f78c85 100644
#include <stdlib.h>
#include <string.h>
diff --git a/java/pom.xml b/java/pom.xml
-index a8328576b..53a70fab8 100644
+index a8328576b..57f282c6c 100644
--- a/java/pom.xml
+++ b/java/pom.xml
-@@ -1102,6 +1102,7 @@
+@@ -1101,7 +1101,8 @@
+ -DARROW_JSON=${ARROW_DATASET}
-DARROW_ORC=${ARROW_ORC}
-DARROW_PARQUET=${ARROW_PARQUET}
- -DARROW_S3=ON
+- -DARROW_S3=ON
++ -DARROW_S3=OFF
+ -DARROW_HDFS=ON
-DARROW_SUBSTRAIT=${ARROW_DATASET}
-DARROW_USE_CCACHE=ON
-DCMAKE_BUILD_TYPE=Release
+diff --git a/java/dataset/src/main/cpp/jni_wrapper.cc
b/java/dataset/src/main/cpp/jni_wrapper.cc
+index d2d976677..eb4b6d1d2 100644
+--- a/java/dataset/src/main/cpp/jni_wrapper.cc
++++ b/java/dataset/src/main/cpp/jni_wrapper.cc
+@@ -27,7 +27,9 @@
+ #include "arrow/dataset/file_base.h"
+ #include "arrow/filesystem/localfs.h"
+ #include "arrow/filesystem/path_util.h"
++#ifdef ARROW_S3
+ #include "arrow/filesystem/s3fs.h"
++#endif
+ #include "arrow/engine/substrait/util.h"
+ #include "arrow/engine/substrait/serde.h"
+ #include "arrow/engine/substrait/relation.h"
+@@ -622,7 +624,9 @@ JNIEXPORT void JNICALL
Java_org_apache_arrow_dataset_jni_JniWrapper_releaseBuffe
+ JNIEXPORT void JNICALL
Java_org_apache_arrow_dataset_jni_JniWrapper_ensureS3Finalized(
+ JNIEnv* env, jobject) {
+ JNI_METHOD_START
++#ifdef ARROW_S3
+ JniAssertOkOrThrow(arrow::fs::EnsureS3Finalized());
++#endif
+ JNI_METHOD_END()
+ }
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]