guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] core-updates: qtbase fails to compile on Linux < 3.17


From: Ricardo Wurmus
Subject: [PATCH] core-updates: qtbase fails to compile on Linux < 3.17
Date: Fri, 1 Jun 2018 13:25:57 +0200
User-agent: mu4e 1.0; emacs 26.1

Hi Guix,

qtbase sometimes fails to build on core-updates.  I now know that it
only fails on Linux < 3.17, which is why I’ve seen the failure only on
RHEL6 and RHEL7 systems with Linux 2.6.32 and 3.10, respectively.

With the attached patch, qtbase builds on all supported kernels as the
minimum kernel version becomes 2.6.28, which is lower than the minimum
for glibc.

It disables code that depends on the “getentropy” and “renameat2”
syscalls.  Qtbase has a fallback implementation for random things when
getentropy is not available.  See src/corelib/global/qrandom.cpp for
more information.

Note that the *current* RHEL 7 kernel reports as 3.10.  RHEL 7 is the
latest Red Hat distribution that is currently available, so the problem
affects not only old RHEL6 systems.

What do you think about this patch?

--
Ricardo


>From d215bef77823fdbbb297c3641a18952926dacef8 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Fri, 1 Jun 2018 13:19:25 +0200
Subject: [PATCH] gnu: qtbase: Fix build on older kernels.

* gnu/packages/qt.scm (qtbase)[arguments]: Add configure flags
"-no-feature-getentropy" and "-no-feature-renameat2".
---
 gnu/packages/qt.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index c3d0bff2f..a48a04fe4 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <address@hidden>
 ;;; Copyright © 2016, 2017 Nils Gillmann <address@hidden>
 ;;; Copyright © 2016 Thomas Danckaert <address@hidden>
-;;; Copyright © 2017 Ricardo Wurmus <address@hidden>
+;;; Copyright © 2017, 2018 Ricardo Wurmus <address@hidden>
 ;;; Copyright © 2017 Quiliro <address@hidden>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <address@hidden>
 ;;; Copyright © 2018 Nicolas Goaziou <address@hidden>
@@ -487,6 +487,16 @@ developers using C++ or QML, a CSS & JavaScript like 
language.")
                                   out "/share/doc/qt5/examples")
                  "-opensource"
                  "-confirm-license"
+
+                 ;; These features require higher versions of Linux than the
+                 ;; minimum version of the glibc.  See
+                 ;; src/corelib/global/minimum-linux_p.h.  By disabling these
+                 ;; features Qt5 applications can be used on the oldest
+                 ;; kernels that the glibc supports, including the RHEL6
+                 ;; (2.6.32) and RHEL7 (3.10) kernels.
+                 "-no-feature-getentropy"  ; requires Linux 3.17
+                 "-no-feature-renameat2"   ; requires Linux 3.16
+
                  ;; Do not build examples; if desired, these could go
                  ;; into a separate output, but for the time being, we
                  ;; prefer to save the space and build time.
-- 
2.17.1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]