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 <assam.boudjelthia@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
This commit is contained in:
Nils Petter Skålerud
2026-04-22 10:14:38 +02:00
parent af907eaa16
commit 062bfe0d2f
10 changed files with 28 additions and 10 deletions

View File

@@ -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)

View File

@@ -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"

View File

@@ -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)

View File

@@ -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"

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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"

View File

@@ -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)

View File

@@ -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"