From 062bfe0d2fc975ac7ef611ee28ea20d15acaad3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20Petter=20Sk=C3=A5lerud?= Date: Wed, 22 Apr 2026 10:14:38 +0200 Subject: [PATCH] Ubuntu: Build Patchelf from source On Ubuntu hosts we are installing patchelf from apt, which delivers the newest version. As of writing that version is v0.18.0. This version specifically has issues with patching Android ARM binaries, which we do during FFmpeg provisioning. Using this version of patchelf blocks the option of using Ubuntu hosts for Android ARM builds. This patch makes us build v0.17.2 from source, which is what we do on other UNIX hosts. Pick-to: 6.11 Change-Id: I23d2114d2a7757ab0ce50cba7d207bc7813d64fb Reviewed-by: Assam Boudjelthia Reviewed-by: Dimitrios Apostolou Reviewed-by: Artem Dyomin --- coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh | 2 -- .../qtci-linux-Ubuntu-18.04-x86_64/89-install-patchelf.sh | 5 +++++ coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh | 2 -- .../qtci-linux-Ubuntu-20.04-x86_64/89-install-patchelf.sh | 5 +++++ coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh | 2 -- .../qtci-linux-Ubuntu-22.04-x86_64/89-install-patchelf.sh | 5 +++++ coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh | 5 +++-- .../qtci-linux-Ubuntu-24.04-aarch64/89-install-patchelf.sh | 5 +++++ coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh | 2 -- .../qtci-linux-Ubuntu-24.04-x86_64/89-install-patchelf.sh | 5 +++++ 10 files changed, 28 insertions(+), 10 deletions(-) create mode 100755 coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/89-install-patchelf.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/89-install-patchelf.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/89-install-patchelf.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/89-install-patchelf.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/89-install-patchelf.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh index 80868c0e..58f9e978 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh @@ -168,8 +168,6 @@ installPackages+=(ruby) installPackages+=(libxslt1-dev) installPackages+=(libxml2-dev) installPackages+=(libhyphen-dev) -# Fix dependencies in shared ffmpeg libs -installPackages+=(patchelf) # Keep zoneinfo up-to-date (COIN-1282) installPackages+=(tzdata) diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/89-install-patchelf.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/89-install-patchelf.sh new file mode 100755 index 00000000..14636587 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/89-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Copyright (C) 2026 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +source "${BASH_SOURCE%/*}/../common/unix/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh index e42faebb..03b70fe7 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh @@ -216,8 +216,6 @@ sudo dpkg --add-architecture i386 installPackages+=(nfs-kernel-server) installPackages+=(net-tools) installPackages+=(bridge-utils) -# Fix dependencies in shared ffmpeg libs -installPackages+=(patchelf) # Keep zoneinfo up-to-date (COIN-1282) installPackages+=(tzdata) diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/89-install-patchelf.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/89-install-patchelf.sh new file mode 100755 index 00000000..14636587 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/89-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Copyright (C) 2026 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +source "${BASH_SOURCE%/*}/../common/unix/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh index 7e1d9408..3ee1f860 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh @@ -237,8 +237,6 @@ installPackages+=(cifs-utils) installPackages+=(uml-utilities) # To save iptables rules installPackages+=(iptables-persistent) -# Fix dependencies in shared ffmpeg libs -installPackages+=(patchelf) # For Firebird in RTA installPackages+=(libtommath-dev) # For tst_license.pl with all the machines generating SBOM diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/89-install-patchelf.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/89-install-patchelf.sh new file mode 100755 index 00000000..14636587 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/89-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Copyright (C) 2026 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +source "${BASH_SOURCE%/*}/../common/unix/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh index 141c569b..f415031c 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh @@ -91,6 +91,9 @@ installPackages+=(libjpeg-dev) installPackages+=(libcups2-dev) # Enable support for printer test installPackages+=(cups-pdf) +# Autotools is required for building patchelf from source +installPackages+=("autotools-dev") +installPackages+=("autoconf") # Install libraries needed for QtMultimedia to be able to support all plugins installPackages+=(libasound2-dev) installPackages+=(libgstreamer1.0-dev) @@ -232,8 +235,6 @@ installPackages+=(uml-utilities) installPackages+=(cmake) # extra linkers installPackages+=(lld) -# Fix dependencies in shared ffmpeg libs -installPackages+=(patchelf) # For qp-apps/qdb installPackages+=(libusb-1.0-0-dev) # password management support for Qt Creator diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/89-install-patchelf.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/89-install-patchelf.sh new file mode 100755 index 00000000..14636587 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/89-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Copyright (C) 2026 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +source "${BASH_SOURCE%/*}/../common/unix/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh index 833a57c5..f5cde64f 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh @@ -245,8 +245,6 @@ installPackages+=(keyutils) installPackages+=(cifs-utils) # VxWorks QEMU network setup (tunctl) installPackages+=(uml-utilities) -# Fix dependencies in shared ffmpeg libs -installPackages+=(patchelf) # For swiftly installPackages+=(gnupg2) installPackages+=(pkg-config) diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/89-install-patchelf.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/89-install-patchelf.sh new file mode 100755 index 00000000..14636587 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/89-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Copyright (C) 2026 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +source "${BASH_SOURCE%/*}/../common/unix/install-patchelf.sh"