diff options
author | Bryan Hundven <bryanhundven@gmail.com> | 2016-11-09 18:52:30 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-09 18:52:30 -0800 |
commit | 6a1bf36b481ff048b10bb6ee03ee35c886c53619 (patch) | |
tree | d571e4975fcdca435a69b6107118d5e9e4623713 /scripts/build/cc | |
parent | a76c549823fd0063de999786b6dc583847db091e (diff) | |
parent | f4c7688946646bd3be4ee84c694dd987ea344bf6 (diff) | |
download | crosstool-ng-6a1bf36b481ff048b10bb6ee03ee35c886c53619.tar.gz crosstool-ng-6a1bf36b481ff048b10bb6ee03ee35c886c53619.tar.bz2 crosstool-ng-6a1bf36b481ff048b10bb6ee03ee35c886c53619.zip |
Merge pull request #472 from stilor/unparallel-make-install
Do not run 'make install' in parallel in GCC.
Diffstat (limited to 'scripts/build/cc')
-rw-r--r-- | scripts/build/cc/100-gcc.sh | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index bab4c7b0..0e0f8ed5 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 |