Drop patches previously backported: root-doxygen-makefile.patch root-crash-fix.patch root-test-stress-32bit.patch Drop patches accepted upstream: root-test-subdirs.patch root-test-fixes.patch root-out-of-bounds.patch root-doxygen-tilde.patch root-noinst.patch Drop patches for issues fixed upstream: root-dont-link-jvm.patch root-system-pythia.patch Drop patch root-urw-otf-hack.patch - broken font file no longer present Drop Google Droid Sans Fallback font from EPEL 7 root-fonts package (the font is now available in EPEL 7) Use two more patches from Fedora's llvm5.0 package New root-test-subdirs.patch patch for more instances of the same issue Fix a test not setting cache file directory so that it works offline Fix a compatibility issue with the EPEL 7 gtest version Fix a missing include Workaround optimization problems in the Geom library New subpackages due to library splits root-tree-dataframe and root-vecops from root-tree-player root-net-httpsniff from root-net-http New subpackages due to package splits root-gui-html from root-gui root-gui-qtgsi from root-gui-qt root-io-xmlparser from root-io-xml root-proof-player from root-proof New ROOT 7 subpackages graf-gpadv7 graf-primitives gui-fitpanelv7 gui-qt5webdisplay Rename root-guibuilder package to root-gui-builder
42 lines
1.8 KiB
Diff
42 lines
1.8 KiB
Diff
From 3617dd1d911bb5e8fa17a6139dbb887c44dae0fe 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/Module.mk | 6 +++++-
|
|
core/metacling/src/CMakeLists.txt | 4 ++++
|
|
2 files changed, 9 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/core/metacling/src/CMakeLists.txt b/core/metacling/src/CMakeLists.txt
|
|
index e820d144eb..3a1f1ca446 100644
|
|
--- a/core/metacling/src/CMakeLists.txt
|
|
+++ b/core/metacling/src/CMakeLists.txt
|
|
@@ -37,6 +37,10 @@ ROOT_LINKER_LIBRARY(Cling
|
|
$<TARGET_OBJECTS:Dictgen>
|
|
$<TARGET_OBJECTS:MetaCling>
|
|
LIBRARIES ${CLING_LIBRARIES} ${LINK_LIBS})
|
|
+# 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)
|
|
--
|
|
2.14.3
|
|
|