* Update to version 6.3.10. * root6-rpmlintrc: Suppress a __DATE__/__TIME__ false positive. * Add BuildRequires: pkgconfig(ncurses), pkgconfig(libedit) to enable improved terminal features. OBS-URL: https://build.opensuse.org/request/show/1244812 OBS-URL: https://build.opensuse.org/package/show/science/root6?expand=0&rev=35
40 lines
1.8 KiB
Diff
40 lines
1.8 KiB
Diff
From b587d85a5fc8f706362396dc347830f16797b1f2 Mon Sep 17 00:00:00 2001
|
|
From: Mattias Ellert <mattias.ellert@physics.uu.se>
|
|
Date: Tue, 16 Jan 2018 10:25:50 +0100
|
|
Subject: [PATCH] Reduce the needed memory for compilation
|
|
|
|
The linking of rootcling_stage1 and libCling requires a lot of memory.
|
|
Since these are linked from mostly the same objects, the build is ready
|
|
to link them at the same time. If you make a parallel build this means
|
|
that the two targets that require the most amount of memory are being
|
|
linked in parallel. This exhausts the available memory, and the
|
|
computer starts swapping.
|
|
|
|
This adds a dependency of one of the targets to the other. The dependency is
|
|
not really there since it is not needed for building, but it prevents the
|
|
two memory consuming targets to be built in parallel.
|
|
|
|
A similar dependency existed before the code latest code changes
|
|
(see commit 2638f6fc7f54b0995f2f9d60363daaf8aae2386e), then between
|
|
rootcling and libCling.
|
|
---
|
|
core/metacling/src/CMakeLists.txt | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
Index: root-6.32.10/core/metacling/src/CMakeLists.txt
|
|
===================================================================
|
|
--- root-6.32.10.orig/core/metacling/src/CMakeLists.txt
|
|
+++ root-6.32.10/core/metacling/src/CMakeLists.txt
|
|
@@ -120,6 +120,11 @@ ROOT_LINKER_LIBRARY(Cling
|
|
# When these two link at the same time, they can exhaust the RAM on many machines, since they both link against llvm.
|
|
add_dependencies(Cling rootcling_stage1)
|
|
|
|
+# The dependency on rootcling_stage1 was added to prevent Cling (libCling) and
|
|
+# rootcling_stage1 from being linked in parallel.
|
|
+# This avoids doing two memory consuming operations in parallel.
|
|
+add_dependencies(Cling rootcling_stage1)
|
|
+
|
|
if(MSVC)
|
|
set_target_properties(Cling PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
|
|
set(cling_exports ${cling_exports}
|