I got the error message quoted below when updating my @world, including app-text/gnome-doc-utils-0.14.2 and gnome-extra/gnome-user-docs-2.24.2. However, when I later remerged gnome-extra/gnome-user-docs-2.24.2, I could not reproduce the issue. As the update had emerged gnome-doc-utils before it tried gnome-user-docs, the version of xml2po used should be the same in both cases, so I'm a bit surprised about one of them failing where the other one works. The gnome-user-docs hasn't been changed in CVS either. So the workaround seems to be: try again. Traceback (most recent call last): File "/usr/bin/xml2po", line 856, in <module> doSerialize(doc) File "/usr/bin/xml2po", line 589, in doSerialize outtxt += doSerialize(child) File "/usr/bin/xml2po", line 583, in doSerialize (starttag, content, endtag, translation) = processElementTag(node, repl, 1) File "/usr/bin/xml2po", line 500, in processElementTag (starttag, content, endtag, translation) = processElementTag(child, myrepl, 0) File "/usr/bin/xml2po", line 496, in processElementTag myrepl.append(processElementTag(child, myrepl, 1)) File "/usr/bin/xml2po", line 496, in processElementTag myrepl.append(processElementTag(child, myrepl, 1)) File "/usr/bin/xml2po", line 529, in processElementTag replaceNodeContentsWithText(node, translation) File "/usr/bin/xml2po", line 375, in replaceNodeContentsWithText tmp = tmp + content.encode('utf-8') UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 115: ordinal not in range(128) make[1]: *** [de/gosbasic.xml] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/var/tmp/portage/gnome-extra/gnome-user-docs-2.24.2/work/gnome-user-docs-2.24.2/gnome2-user-guide' make: *** [all-recursive] Error 1
Created attachment 178973 [details] emerge --info
I had the same problem once exactly too. Impossible to reproduce this far so if you can reproduce it somehow we'd be happy to know.
Created attachment 180775 [details] emerge --info
Hello, I have the same problem and can`t compile the package. Emerge --info attached
Created attachment 180776 [details] build.log
Created attachment 180786 [details, diff] Avoid .xml2po.mo This is a parallel build issue. The key is directly in front of the backtrace: "Can't open MO file '.xml2po.mo'" Looking at "xml2po --help" you will see: -p --po-file=FILE Specify PO file containing translation, and merge Overwrites temporary file .xml2po.mo. This -p option is used by the build process. Looking at the source of xml2po: elif opt in ('-t', '--translation'): mofile = arg mode = 'merge' if translationlanguage == '': translationlanguage = os.path.split(os.path.splitext(mofile)[0])[1] elif opt in ('-p', '--po-file'): mofile = ".xml2po.mo" pofile = arg if translationlanguage == '': translationlanguage = os.path.split(os.path.splitext(pofile)[0])[1] os.system("msgfmt -o %s %s >%s" % (mofile, pofile, NULL_STRING)) \ and sys.exit(7) mode = 'merge' So you see that the -p option will always use the same temporary file, .xml2po.mo in the current working directory. The easiest workaround for users is this: MAKEOPTS=-j1 emerge -1 gnome-user-docs A similar workaround could be used in the ebuild as well, to solve the issue for now. A proper solution would be to move the msgfmt invocation from xml2po to the Makefile and use -t instead of -p. This way, a unique file is used every time. The attached patch seems to get the job done, if applied directly after the gnome-user-docs-2.24.2-parallel-make.patch from bug 252163. It might even be integrated into that patch. As the use of the temporary .xml2po.mo in parallel builds might have caused errors undetected by make, I guess the fix should be included in a revbump, to ensure proper builds for all users.
Reported upstream: http://bugzilla.gnome.org/570342
Please attach the patch to the upstream bug, it'll make their lives a bit easier. Thanks
Hi, MAKEOPTS=-j1 emerge -1 gnome-user-docs works just fine here ! Thanks a million for the hint. Henrik
Just because it's reported upstream doesn't mean we'll have to wait for upstream to address this. Especially since parallel build issues are of little importance to most package maintainers but rather crucial for Gentoo. Also because even when upstream fixes this, I guess it might take a bit for the change to trickle from gnome-doc-utils down to gnome-user-docs. Please apply the patch in portage.
Please don't touch keywords without dev consent, thanks. We (gnome herd) are currently busy with other stuff and we will get to this patch as time permits. Please be patient and/or apply for recruitement. Given the nice analysis that comes with the patch, no doubt it will get included whenever someone has the time to look into it.
commited in 2.24.2-r1. Thanks for the patch and the clear explanation. It seems g-d-u is not parallel make safe at all anyway but that will be an issue to look at in another bug.