GNOME Bugzilla – Bug 750334
gnome-documents-3.16.2: failure to build parallel
Last modified: 2015-09-18 17:02:00 UTC
/usr/bin/install: cannot create regular file ‘/var/tmp/portage/gnome-extra/gnome-documents-3.16.2/image//usr/share/gnome-documents/js/path.js’: File exists Makefile:899: recipe for target 'install-nodist_jsDATA' failed - Occurs with varying probability when building with -j4 - Has not yet occurred when building with -j1
The full build.log is at: https://549570.bugs.gentoo.org/attachment.cgi?id=403338
So looking at the output: /usr/lib/portage/python2.7/ebuild-helpers/xattr/install -c -m 644 application.js changeMonitor.js documents.js edit.js embed.js errorBox.js main.js mainBooks.js mainToolbar.js mainWindow.js manager.js miners.js notifications.js password.js places.js presentation.js preview.js properties.js query.js search.js searchbar.js selections.js sharing.js shellSearchProvider.js trackerController.js trackerUtils.js utils.js view.js windowMode.js path.js '/var/tmp/portage/gnome-extra/gnome-documents-3.16.2/image//usr/share/gnome-documents/js/' /usr/lib/portage/python2.7/ebuild-helpers/xattr/install -c -m 644 GdPrivate-1.0.gir '/var/tmp/portage/gnome-extra/gnome-documents-3.16.2/image//usr/share/gnome-documents/gir-1.0' /bin/mkdir -p '/var/tmp/portage/gnome-extra/gnome-documents-3.16.2/image//usr/share/gnome-documents/js/' /usr/lib/portage/python2.7/ebuild-helpers/xattr/install -c -m 644 path.js config.js '/var/tmp/portage/gnome-extra/gnome-documents-3.16.2/image//usr/share/gnome-documents/js/' /bin/mkdir -p '/var/tmp/portage/gnome-extra/gnome-documents-3.16.2/image//usr/share/gnome-documents' /usr/bin/install: cannot create regular file ‘/var/tmp/portage/gnome-extra/gnome-documents-3.16.2/image//usr/share/gnome-documents/js/path.js’: File exists It seems we are installing path.js two times. And in GNU install I believe there is a race condition, where the destination path is first stat-ed to see if it exists, and it it doesn't exist, it's opened in O_EXCL mode. So we have the following scenario: * install #1 stats $DESTDIR//usr/share/gnome-documents/js/path.js * install #2 stats $DESTDIR//usr/share/gnome-documents/js/path.js * install #1 opens $DESTDIR//usr/share/gnome-documents/js/path.js in O_EXCL mode * install #2 opens $DESTDIR//usr/share/gnome-documents/js/path.js in O_EXCL mode → error Reproducing this reliably probably requires either a slow file system (nfs) or slow storage (not ssd).
Created attachment 305217 [details] [review] proposed patch
Review of attachment 305217 [details] [review]: All the JavaScript is now in a GResource, I'm guess this isn't a problem anymore?
Yeah this should be obsolete with the package.js port that Alessandro and Debarshi did this cycle. Closing as such, feel free to reopen if it's still a problem with Documents 3.17.90 or later.