Merge pull request #472 from stilor/unparallel-make-install

Do not run 'make install' in parallel in GCC.
This commit is contained in:
Bryan Hundven 2016-11-09 18:52:30 -08:00 committed by GitHub
commit 6a1bf36b48

View File

@ -696,8 +696,16 @@ do_gcc_core_backend() {
CT_DoLog EXTRA "Building ${log_txt}" CT_DoLog EXTRA "Building ${log_txt}"
CT_DoExecLog ALL ${make} ${JOBSFLAGS} ${core_targets_all} 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_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 # Remove the libtool "pseudo-libraries": having them in the installed
# tree makes the libtoolized utilities that are built next assume # 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_DoLog EXTRA "Building final gcc compiler"
CT_DoExecLog ALL ${make} ${JOBSFLAGS} all 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" CT_DoLog EXTRA "Installing final gcc compiler"
if [ "${CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES}" = "y" ]; then if [ "${CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES}" = "y" ]; then
CT_DoExecLog ALL ${make} ${JOBSFLAGS} install-strip CT_DoExecLog ALL ${make} install-strip
else else
CT_DoExecLog ALL ${make} ${JOBSFLAGS} install CT_DoExecLog ALL ${make} install
fi fi
# Remove the libtool "pseudo-libraries": having them in the installed # Remove the libtool "pseudo-libraries": having them in the installed