summaryrefslogtreecommitdiff
path: root/scripts/build
diff options
context:
space:
mode:
authorBryan Hundven <bryanhundven@gmail.com>2016-11-10 02:52:30 (GMT)
committerGitHub <noreply@github.com>2016-11-10 02:52:30 (GMT)
commit6a1bf36b481ff048b10bb6ee03ee35c886c53619 (patch)
treed571e4975fcdca435a69b6107118d5e9e4623713 /scripts/build
parenta76c549823fd0063de999786b6dc583847db091e (diff)
parentf4c7688946646bd3be4ee84c694dd987ea344bf6 (diff)
Merge pull request #472 from stilor/unparallel-make-install
Do not run 'make install' in parallel in GCC.
Diffstat (limited to 'scripts/build')
-rw-r--r--scripts/build/cc/100-gcc.sh15
1 files changed, 12 insertions, 3 deletions
diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh
index bab4c7b..0e0f8ed 100644
--- a/scripts/build/cc/100-gcc.sh
+++ b/scripts/build/cc/100-gcc.sh
@@ -696,8 +696,16 @@ do_gcc_core_backend() {
CT_DoLog EXTRA "Building ${log_txt}"
CT_DoExecLog ALL ${make} ${JOBSFLAGS} ${core_targets_all}
+ # Do not pass ${JOBSFLAGS} here: recent GCC builds have been failing
+ # in parallel 'make install' at random locations: libitm, libcilk,
+ # always for the files that are installed more than once to the same
+ # location (such as libitm.info).
+ # The symptom is that the install command fails with "File exists"
+ # error; running the same command manually succeeds. It looks like
+ # attempts to remove the destination and re-create it, but another
+ # install gets in the way.
CT_DoLog EXTRA "Installing ${log_txt}"
- CT_DoExecLog ALL ${make} ${JOBSFLAGS} ${core_targets_install}
+ CT_DoExecLog ALL ${make} ${core_targets_install}
# Remove the libtool "pseudo-libraries": having them in the installed
# tree makes the libtoolized utilities that are built next assume
@@ -1128,11 +1136,12 @@ do_gcc_backend() {
CT_DoLog EXTRA "Building final gcc compiler"
CT_DoExecLog ALL ${make} ${JOBSFLAGS} all
+ # See the note on issues with parallel 'make install' in GCC above.
CT_DoLog EXTRA "Installing final gcc compiler"
if [ "${CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES}" = "y" ]; then
- CT_DoExecLog ALL ${make} ${JOBSFLAGS} install-strip
+ CT_DoExecLog ALL ${make} install-strip
else
- CT_DoExecLog ALL ${make} ${JOBSFLAGS} install
+ CT_DoExecLog ALL ${make} install
fi
# Remove the libtool "pseudo-libraries": having them in the installed