You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bigtop.apache.org by iw...@apache.org on 2024/04/22 15:51:12 UTC

(bigtop) branch branch-3.3 updated: BIGTOP-4076. Fix compilation failure of Flink on centos 7 aarch64. (#1250)

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

iwasakims pushed a commit to branch branch-3.3
in repository https://gitbox.apache.org/repos/asf/bigtop.git


The following commit(s) were added to refs/heads/branch-3.3 by this push:
     new ed8f99a05 BIGTOP-4076. Fix compilation failure of Flink on centos 7 aarch64. (#1250)
ed8f99a05 is described below

commit ed8f99a05bd50cc659ad162b0a51a0ca51ee2c40
Author: Masatake Iwasaki <iw...@apache.org>
AuthorDate: Tue Apr 23 00:49:43 2024 +0900

    BIGTOP-4076. Fix compilation failure of Flink on centos 7 aarch64. (#1250)
    
    (cherry picked from commit 348aa9f779eb73ae52c750d85e5bb0546bc24920)
---
 bigtop-packages/src/common/flink/do-component-build | 12 +++++++++---
 bigtop_toolchain/manifests/packages.pp              | 12 ++++++++++++
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/bigtop-packages/src/common/flink/do-component-build b/bigtop-packages/src/common/flink/do-component-build
index a2816b91b..36f9c8668 100644
--- a/bigtop-packages/src/common/flink/do-component-build
+++ b/bigtop-packages/src/common/flink/do-component-build
@@ -16,10 +16,16 @@
 
 set -ex
 
-
 #load versions
 . `dirname $0`/bigtop.bom
 
+. /etc/os-release
+
+if [[ $ID = "centos" && $VERSION_ID = "7" && ( $HOSTTYPE = "aarch64" || $HOSTTYPE = "powerpc64le" ) ]]; then
+  # BIGTOP-4076: newer g++ is required for rebuilding watcher used by flink-runtime-web    
+  BUILD_ENV="scl enable devtoolset-9 -- "
+fi
+
 # husky have to be executed from the path that .git exists
 git_path="$(cd $(dirname $0)/../../../.. && pwd)"
 cmd_from="cd ../.. && husky install flink-runtime-web/web-dashboard/.husky"
@@ -36,6 +42,6 @@ fi
 sed -i "s/$repl_from/$repl_to/" flink-runtime-web/web-dashboard/package.json
 
 # Use Maven to build Flink from source
-mvn install $FLINK_BUILD_OPTS -Drat.skip=true -DskipTests -Dhadoop.version=$HADOOP_VERSION "$@"
+${BUILD_ENV} mvn install $FLINK_BUILD_OPTS -Drat.skip=true -DskipTests -Dhadoop.version=$HADOOP_VERSION "$@"
 cd flink-dist
-mvn install $FLINK_BUILD_OPTS -Drat.skip=true -DskipTests -Dhadoop.version=$HADOOP_VERSION "$@"
+${BUILD_ENV} mvn install $FLINK_BUILD_OPTS -Drat.skip=true -DskipTests -Dhadoop.version=$HADOOP_VERSION "$@"
diff --git a/bigtop_toolchain/manifests/packages.pp b/bigtop_toolchain/manifests/packages.pp
index 0b7c0600a..6688c7af8 100644
--- a/bigtop_toolchain/manifests/packages.pp
+++ b/bigtop_toolchain/manifests/packages.pp
@@ -338,6 +338,18 @@ class bigtop_toolchain::packages {
       package { 'ca-certificates':
         ensure => latest
       }
+
+      # BIGTOP-4076: newer g++ is required for rebuilding watcher used by flink-runtime-web
+      if ($architecture in ['aarch64', 'ppc64le']) {
+        package { 'centos-release-scl':
+          ensure => latest
+        }
+
+        package { 'devtoolset-9-gcc-c++':
+          ensure => latest,
+          require => Package['centos-release-scl']
+        }
+      }
     }
     if $operatingsystemmajrelease !~ /^[0-7]$/ {
       # On CentOS 8, EPEL requires that the PowerTools repository is enabled.