From b6e5b7186e8c279a6a49495f6244f06b688a8170 Mon Sep 17 00:00:00 2001 From: shivansh-ibm Date: Thu, 30 Jul 2026 21:18:46 -0700 Subject: [PATCH 1/3] Added build script for abseil-cpp==20240116.2 for UBI:10.1 --- a/abseil-cpp/abseil-cpp_ubi_10.1.sh | 81 +++++++++++++++++++++++++++++ a/abseil-cpp/build_info.json | 7 ++- 2 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 a/abseil-cpp/abseil-cpp_ubi_10.1.sh diff --git a/a/abseil-cpp/abseil-cpp_ubi_10.1.sh b/a/abseil-cpp/abseil-cpp_ubi_10.1.sh new file mode 100644 index 0000000000..735a2f3545 --- /dev/null +++ b/a/abseil-cpp/abseil-cpp_ubi_10.1.sh @@ -0,0 +1,81 @@ +#!/bin/bash -e +# ----------------------------------------------------------------------------- +# +# Package : abseil-cpp +# Version : 20240116.2 +# Source repo : https://github.com/abseil/abseil-cpp +# Tested on : UBI:10.1 +# Language : Python, C++ +# Ci-Check : True +# Script License: Apache License, Version 2 or later +# Maintainer : Shivansh Sharma +# Disclaimer: This script has been tested in root mode on given +# ========== platform using the mentioned version of the package. +# It may not work as expected with newer versions of the +# package and/or distribution. In such case, please +# contact "Maintainer" of this script. +# +# ---------------------------------------------------------------------------- + +PACKAGE_NAME=abseil-cpp +PACKAGE_DIR=abseil-cpp +PACKAGE_VERSION=${1:-20240116.2} +PACKAGE_URL=https://github.com/abseil/abseil-cpp + +# install core dependencies +yum install -y python3.12-pip python3.12-devel git gcc gcc-c++ cmake wget +export PATH=/opt/rh/gcc-toolset-13/root/usr/bin:$PATH + +python3.12 -m pip install cmake setuptools ninja + +# Setting Paths and creating directories +WORK_DIR=$(pwd) +mkdir $WORK_DIR/abseil-prefix +PREFIX=$WORK_DIR/abseil-prefix + +git clone $PACKAGE_URL +cd $PACKAGE_DIR +git checkout $PACKAGE_VERSION + +Source_DIR=$(pwd) +mkdir -p $Source_DIR/local/abseilcpp +abseilcpp=$Source_DIR/local/abseilcpp + +# Build Abseil-cpp +echo "$PACKAGE build starts!!" + +mkdir build +cd build + +cmake -G Ninja \ + ${CMAKE_ARGS} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_INSTALL_PREFIX=${PREFIX} \ + -DBUILD_SHARED_LIBS=ON \ + -DABSL_PROPAGATE_CXX_STD=ON \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + .. + +cmake --build . +cmake --install . + +cd $Source_DIR + +cp -r $PREFIX/* $abseilcpp/ +export LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH + +#create pyproject.toml file +wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/abseil-cpp/pyproject.toml +sed -i s/{PACKAGE_VERSION}/$PACKAGE_VERSION/g pyproject.toml + +if ! python3.12 -m pip install . ; then + echo "------------------$PACKAGE_NAME:Install_fails-------------------------------------" + echo "$PACKAGE_URL $PACKAGE_NAME" + echo "$PACKAGE_NAME | $PACKAGE_URL | $PACKAGE_VERSION | GitHub | Fail | Install_Fails" + exit 1 +fi + +echo "Build and installation completed successfully." +echo "There are no test cases available. skipping the test cases" diff --git a/a/abseil-cpp/build_info.json b/a/abseil-cpp/build_info.json index 8085128c77..5a6c7b0e03 100644 --- a/a/abseil-cpp/build_info.json +++ b/a/abseil-cpp/build_info.json @@ -1,5 +1,5 @@ { - "maintainer": "Harithanagothu2", + "maintainer": "shivansh-ibm", "package_name": "abseil-cpp", "github_url": "https://github.com/abseil/abseil-cpp", "version": "20240116.2", @@ -14,6 +14,9 @@ "libabsl_*" ], "*":{ - "build_script":"abseil-cpp_ubi_9.3.sh" + "build_script": [ + "abseil-cpp_ubi_9.3.sh", + "abseil-cpp_ubi_10.1.sh" + ] } } From 3b633f6e699e9f0135ca41f7d14e44a0fe2e0b3a Mon Sep 17 00:00:00 2001 From: shivansh-ibm Date: Wed, 5 Aug 2026 09:54:34 +0530 Subject: [PATCH 2/3] Update abseil-cpp_ubi_10.1.sh --- a/abseil-cpp/abseil-cpp_ubi_10.1.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/a/abseil-cpp/abseil-cpp_ubi_10.1.sh b/a/abseil-cpp/abseil-cpp_ubi_10.1.sh index 735a2f3545..d93f218eb1 100644 --- a/a/abseil-cpp/abseil-cpp_ubi_10.1.sh +++ b/a/abseil-cpp/abseil-cpp_ubi_10.1.sh @@ -24,8 +24,6 @@ PACKAGE_URL=https://github.com/abseil/abseil-cpp # install core dependencies yum install -y python3.12-pip python3.12-devel git gcc gcc-c++ cmake wget -export PATH=/opt/rh/gcc-toolset-13/root/usr/bin:$PATH - python3.12 -m pip install cmake setuptools ninja # Setting Paths and creating directories From bcf272210aed3d382803e537e536bb5047a50401 Mon Sep 17 00:00:00 2001 From: shivansh sharma Date: Tue, 25 Aug 2026 22:50:11 +0530 Subject: [PATCH 3/3] added changes for python3.14 --- a/abseil-cpp/abseil-cpp_ubi_10.1.sh | 79 ------------------- a/abseil-cpp/abseil-cpp_ubi_10.2.sh | 118 ++++++++++++++++++++++++++++ a/abseil-cpp/build_info.json | 6 +- 3 files changed, 121 insertions(+), 82 deletions(-) delete mode 100644 a/abseil-cpp/abseil-cpp_ubi_10.1.sh create mode 100644 a/abseil-cpp/abseil-cpp_ubi_10.2.sh diff --git a/a/abseil-cpp/abseil-cpp_ubi_10.1.sh b/a/abseil-cpp/abseil-cpp_ubi_10.1.sh deleted file mode 100644 index d93f218eb1..0000000000 --- a/a/abseil-cpp/abseil-cpp_ubi_10.1.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash -e -# ----------------------------------------------------------------------------- -# -# Package : abseil-cpp -# Version : 20240116.2 -# Source repo : https://github.com/abseil/abseil-cpp -# Tested on : UBI:10.1 -# Language : Python, C++ -# Ci-Check : True -# Script License: Apache License, Version 2 or later -# Maintainer : Shivansh Sharma -# Disclaimer: This script has been tested in root mode on given -# ========== platform using the mentioned version of the package. -# It may not work as expected with newer versions of the -# package and/or distribution. In such case, please -# contact "Maintainer" of this script. -# -# ---------------------------------------------------------------------------- - -PACKAGE_NAME=abseil-cpp -PACKAGE_DIR=abseil-cpp -PACKAGE_VERSION=${1:-20240116.2} -PACKAGE_URL=https://github.com/abseil/abseil-cpp - -# install core dependencies -yum install -y python3.12-pip python3.12-devel git gcc gcc-c++ cmake wget -python3.12 -m pip install cmake setuptools ninja - -# Setting Paths and creating directories -WORK_DIR=$(pwd) -mkdir $WORK_DIR/abseil-prefix -PREFIX=$WORK_DIR/abseil-prefix - -git clone $PACKAGE_URL -cd $PACKAGE_DIR -git checkout $PACKAGE_VERSION - -Source_DIR=$(pwd) -mkdir -p $Source_DIR/local/abseilcpp -abseilcpp=$Source_DIR/local/abseilcpp - -# Build Abseil-cpp -echo "$PACKAGE build starts!!" - -mkdir build -cd build - -cmake -G Ninja \ - ${CMAKE_ARGS} \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_STANDARD=17 \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_INSTALL_PREFIX=${PREFIX} \ - -DBUILD_SHARED_LIBS=ON \ - -DABSL_PROPAGATE_CXX_STD=ON \ - -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ - .. - -cmake --build . -cmake --install . - -cd $Source_DIR - -cp -r $PREFIX/* $abseilcpp/ -export LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH - -#create pyproject.toml file -wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/abseil-cpp/pyproject.toml -sed -i s/{PACKAGE_VERSION}/$PACKAGE_VERSION/g pyproject.toml - -if ! python3.12 -m pip install . ; then - echo "------------------$PACKAGE_NAME:Install_fails-------------------------------------" - echo "$PACKAGE_URL $PACKAGE_NAME" - echo "$PACKAGE_NAME | $PACKAGE_URL | $PACKAGE_VERSION | GitHub | Fail | Install_Fails" - exit 1 -fi - -echo "Build and installation completed successfully." -echo "There are no test cases available. skipping the test cases" diff --git a/a/abseil-cpp/abseil-cpp_ubi_10.2.sh b/a/abseil-cpp/abseil-cpp_ubi_10.2.sh new file mode 100644 index 0000000000..b13e57fb98 --- /dev/null +++ b/a/abseil-cpp/abseil-cpp_ubi_10.2.sh @@ -0,0 +1,118 @@ +#!/bin/bash -e +# ----------------------------------------------------------------------------- +# +# Package : abseil-cpp +# Version : 20240116.2 +# Source repo : https://github.com/abseil/abseil-cpp +# Tested on : UBI:10.2 +# Language : Python, C++ +# Ci-Check : True +# Script License : Apache License, Version 2 or later +# Maintainer : Shivansh Sharma +# +# Disclaimer: This script has been tested in root mode on given +# ========== platform using the mentioned version of the package. +# It may not work as expected with newer versions of the +# package and/or distribution. In such case, please +# contact "Maintainer" of this script. +# +# ----------------------------------------------------------------------------- + +set -e + +PACKAGE_NAME=abseil-cpp +PACKAGE_DIR=abseil-cpp +PACKAGE_VERSION=${1:-20240116.2} +PACKAGE_URL=https://github.com/abseil/abseil-cpp +CURRENT_DIR=$(pwd) + +# Install core dependencies — Python packages must come first +yum install -y python3.14 python3.14-devel python3.14-pip \ + git gcc-toolset-15 gcc-toolset-15-gcc gcc-toolset-15-gcc-c++ \ + cmake wget ninja-build + +# Activate gcc-toolset-15 (UBI 10 — SCL removed, use PATH export) +if [[ -f /opt/rh/gcc-toolset-15/enable ]]; then + source /opt/rh/gcc-toolset-15/enable +elif [[ -d /opt/rh/gcc-toolset-15/root/usr/bin ]]; then + export PATH="/opt/rh/gcc-toolset-15/root/usr/bin:$PATH" + export LD_LIBRARY_PATH="/opt/rh/gcc-toolset-15/root/usr/lib64:$LD_LIBRARY_PATH" +else + echo "ERROR: gcc-toolset-15 not found" + exit 1 +fi + +echo "Using gcc: $(gcc --version | head -1)" + +python3.14 -m pip install --upgrade pip setuptools wheel build +python3.14 -m pip install cmake ninja + +# Setting paths and creating directories +mkdir -p "$CURRENT_DIR/abseil-prefix" +PREFIX="$CURRENT_DIR/abseil-prefix" + +git clone "$PACKAGE_URL" "$PACKAGE_DIR" +cd "$PACKAGE_DIR" + +if git rev-parse "v${PACKAGE_VERSION}" &>/dev/null; then + git checkout "v${PACKAGE_VERSION}" +elif git rev-parse "${PACKAGE_VERSION}" &>/dev/null; then + git checkout "${PACKAGE_VERSION}" +else + echo "ERROR: No git tag found for version '${PACKAGE_VERSION}'" + exit 1 +fi + +SOURCE_DIR=$(pwd) +mkdir -p "$SOURCE_DIR/local/abseilcpp" +ABSEILCPP_DIR="$SOURCE_DIR/local/abseilcpp" + +# Build abseil-cpp +echo "$PACKAGE_NAME build starts!" + +mkdir build +cd build + +cmake -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_INSTALL_PREFIX="$PREFIX" \ + -DBUILD_SHARED_LIBS=ON \ + -DABSL_PROPAGATE_CXX_STD=ON \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + .. + +cmake --build . +cmake --install . + +cd "$SOURCE_DIR" + +cp -r "$PREFIX/"* "$ABSEILCPP_DIR/" +export LD_LIBRARY_PATH="$PREFIX/lib:$LD_LIBRARY_PATH" + +# Create pyproject.toml from upstream template +wget https://raw.githubusercontent.com/ppc64le/build-scripts/refs/heads/master/a/abseil-cpp/pyproject.toml +sed -i "s/{PACKAGE_VERSION}/$PACKAGE_VERSION/g" pyproject.toml + +if ! python3.14 -m pip install . ; then + echo "------------------$PACKAGE_NAME:Install_fails-------------------------------------" + echo "$PACKAGE_URL $PACKAGE_NAME" + echo "$PACKAGE_NAME | $PACKAGE_URL | $PACKAGE_VERSION | GitHub | Fail | Install_Fails" + exit 1 +fi + +python3.14 -m build --wheel --no-isolation --outdir="$CURRENT_DIR/" + +if ! python3.14 -c "import abseil; print('abseil import OK')" 2>/dev/null && \ + ! python3.14 -c "import absl; print('absl import OK')" 2>/dev/null; then + echo "------------------$PACKAGE_NAME:Install_success_but_test_fails---------------------" + echo "$PACKAGE_URL $PACKAGE_NAME" + echo "$PACKAGE_NAME | $PACKAGE_URL | $PACKAGE_VERSION | GitHub | Fail | Install_success_but_test_Fails" + exit 2 +else + echo "------------------$PACKAGE_NAME:Install_&_test_both_success-------------------------" + echo "$PACKAGE_URL $PACKAGE_NAME" + echo "$PACKAGE_NAME | $PACKAGE_URL | $PACKAGE_VERSION | GitHub | Pass | Both_Install_and_Test_Success" + exit 0 +fi diff --git a/a/abseil-cpp/build_info.json b/a/abseil-cpp/build_info.json index 5a6c7b0e03..d18c5e056a 100644 --- a/a/abseil-cpp/build_info.json +++ b/a/abseil-cpp/build_info.json @@ -13,10 +13,10 @@ "auditwheel_exclude": [ "libabsl_*" ], - "*":{ + "*": { "build_script": [ - "abseil-cpp_ubi_9.3.sh", - "abseil-cpp_ubi_10.1.sh" + "abseil-cpp_ubi_9.3.sh", + "abseil-cpp_ubi_10.2.sh" ] } }