From 641386dca1cd9642555d2c547a233e2540b73b87 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 5 Aug 2024 10:32:16 +0530 Subject: [PATCH] Use a newer toolchain to build Linux binaries Qt 6.7.2 fails to build with gcc 9/glibc 2.31 --- bypy/linux.conf | 2 +- setup/linux-installer.py | 5 +++-- setup/linux-installer.sh | 18 ++++++++++-------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/bypy/linux.conf b/bypy/linux.conf index 57cb3a4691..34e233c476 100644 --- a/bypy/linux.conf +++ b/bypy/linux.conf @@ -1,4 +1,4 @@ -image 'https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-{}.img' +image 'https://cloud-images.ubuntu.com/releases/jammy/release/ubuntu-22.04-server-cloudimg-{}.img' # Build time deps for Qt. See https://doc.qt.io/qt-6/linux-requirements.html and # https://doc.qt.io/qt-6/qtwebengine-platform-notes.html diff --git a/setup/linux-installer.py b/setup/linux-installer.py index 8cfdce9861..13fcac6be3 100644 --- a/setup/linux-installer.py +++ b/setup/linux-installer.py @@ -806,11 +806,12 @@ def main(install_dir=None, isolated=False, bin_dir=None, share_dir=None, ignore_ ' available for 64-bit systems. You will have to compile from' ' source.') glibc_versions = { - (6, 0, 0) : {'min_required': (2, 31), 'release_date': '2020-02-01'} + (6, 0, 0) : {'min_required': (2, 31), 'release_date': '2020-02-01'}, + (7, 17, 0) : {'min_required': (2, 35), 'release_date': '2022-02-03'} } if is_linux_arm64: glibc_versions.update({ - (6, 8, 0) : {'min_required': (2, 34), 'release_date': '2022-02-03'} + (6, 8, 0) : {'min_required': (2, 34), 'release_date': '2021-08-02'} }) q = tuple(map(int, version.split('.'))) if version else (sys.maxsize, 999, 999) for key in sorted(glibc_versions, reverse=True): diff --git a/setup/linux-installer.sh b/setup/linux-installer.sh index cc5ff6a86c..dd5ad053af 100644 --- a/setup/linux-installer.sh +++ b/setup/linux-installer.sh @@ -86,17 +86,18 @@ if machine.startswith('arm') or machine.startswith('aarch64'): if py3: unicode = str raw_input = input - from urllib.parse import urlparse - from urllib.request import BaseHandler, build_opener, Request, urlopen, getproxies, addinfourl import http.client as httplib + from urllib.parse import urlparse + from urllib.request import BaseHandler, Request, addinfourl, build_opener, getproxies, urlopen def encode_for_subprocess(x): return x else: - from future_builtins import map - from urlparse import urlparse - from urllib import urlopen, getproxies, addinfourl - from urllib2 import BaseHandler, build_opener, Request + from urllib import addinfourl, getproxies, urlopen + import httplib + from future_builtins import map + from urllib2 import BaseHandler, Request, build_opener + from urlparse import urlparse def encode_for_subprocess(x): if isinstance(x, unicode): @@ -854,11 +855,12 @@ def main(install_dir=None, isolated=False, bin_dir=None, share_dir=None, ignore_ ' available for 64-bit systems. You will have to compile from' ' source.') glibc_versions = { - (6, 0, 0) : {'min_required': (2, 31), 'release_date': '2020-02-01'} + (6, 0, 0) : {'min_required': (2, 31), 'release_date': '2020-02-01'}, + (7, 17, 0) : {'min_required': (2, 35), 'release_date': '2022-02-03'} } if is_linux_arm64: glibc_versions.update({ - (6, 8, 0) : {'min_required': (2, 34), 'release_date': '2022-02-03'} + (6, 8, 0) : {'min_required': (2, 34), 'release_date': '2021-08-02'} }) q = tuple(map(int, version.split('.'))) if version else (sys.maxsize, 999, 999) for key in sorted(glibc_versions, reverse=True):