Build on systems having many (>2) CPU cores/threads randomly fails with:
... Making all in po test ! -f ./ipa.pot || \ test -z "bn_IN.gmo ca.gmo cs.gmo de.gmo en_GB.gmo es.gmo eu.gmo fr.gmo hi.gmo hu.gmo id.gmo ja.gmo kn.gmo mr.gmo nl.gmo pa.gmo pl.gmo pt.gmo pt_BR.gmo ru.gmo sk.gmo tg.gmo uk.gmo zh_CN.gmo" || make bn_IN.gmo ca.gmo cs.gmo de.gmo en_GB.gmo es.gmo eu.gmo fr.gmo hi.gmo hu.gmo id.gmo ja.gmo kn.gmo mr.gmo nl.gmo pa.gmo pl.gmo pt.gmo pt_BR.gmo ru.gmo sk.gmo tg.gmo uk.gmo zh_CN.gmo /usr/bin/msgmerge --update --no-fuzzy-matching --lang=bn_IN bn_IN.po ipa.pot /usr/bin/msgmerge --update --no-fuzzy-matching --lang=ca ca.po ipa.pot /usr/bin/msgmerge --update --no-fuzzy-matching --lang=cs cs.po ipa.pot /usr/bin/msgmerge --update --no-fuzzy-matching --lang=en_GB en_GB.po ipa.pot /usr/bin/msgmerge --update --no-fuzzy-matching --lang=de de.po ipa.pot /usr/bin/msgmerge --update --no-fuzzy-matching --lang=es es.po ipa.pot /usr/bin/msgmerge --update --no-fuzzy-matching --lang=eu eu.po ipa.pot ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. done. ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. done. ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. done. ....................................................................................................................................................................................................................................................................................................................................................................................................../usr/bin/msgmerge --update --no-fuzzy-matching --lang=fr fr.po ipa.pot .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. done. ............................................................................................................................................... done. done. make[2]: Entering directory '/usr/src/RPM/BUILD/freeipa-4.8.6/po' grep -v '#: ipaclient/remote_plugins/' ipa.pot > ipa.pot.tmp || exit 1; \ mv ipa.pot.tmp ipa.pot || exit 1; \ for po_file in bn_IN.po ca.po cs.po de.po en_GB.po es.po eu.po fr.po hi.po hu.po id.po ja.po kn.po mr.po nl.po pa.po pl.po pt.po pt_BR.po ru.po sk.po tg.po uk.po zh_CN.po; do \ /usr/bin/msgattrib --translated --no-fuzzy --no-location -s $po_file > $po_file.tmp || exit 1; \ mv $po_file.tmp $po_file || exit 1; \ if [ "ipa-4-8" != "" ]; then \ export GIT_DIFF_PO_FILE=`git diff --numstat $po_file | cut -f1,2 | tr '\t' ,` || :; \ if [ "$GIT_DIFF_PO_FILE" = "2,2" -o "$GIT_DIFF_PO_FILE" = "1,1" ]; then \ echo "No translation changes in $po_file, restore the original"; \ git checkout -q -f $po_file; \ fi; \ fi; \ done eu.po:2426: end-of-file within string eu.po:2424: missing 'msgstr' section /usr/bin/msgattrib: found 2 fatal errors make[2]: *** [Makefile.hack:14: strip-po] Error 1 make[2]: Leaving directory '/usr/src/RPM/BUILD/freeipa-4.8.6/po' make[2]: *** Waiting for unfinished jobs.... ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................./usr/bin/msgmerge --update --no-fuzzy-matching --lang=hi hi.po ipa.pot done. ...
po files as well as ipa.pot are accessed by several make rules simultaneously. The error comes with recent changes of Translation system.
I propose to disable Parallel build for the rules in po/Makefile.hack.in .
Thank you for finding the cause. A fix is welcome.
Metadata Update from @cheimes: - Custom field on_review adjusted to https://github.com/freeipa/freeipa/pull/4688 - Issue assigned to cheimes - Issue priority set to: low - Issue set to the milestone: FreeIPA 4.8.7
master:
ipa-4-8:
Metadata Update from @cheimes: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)