On 2009-07-06 at 17:12:58 [+0200], André Braga <meianoite@xxxxxxxxx> wrote: > 2009/7/6 Ingo Weinhold <ingo_weinhold@xxxxxx>: > > I believe I have nailed the problem in r31419. Builds with multiple jobs > > should work fine now, if xattr support is enabled. If you find any further > > problems, please file a ticket. The disclaimer for builds without xattrs > > still applies. > > Unfortunately the build failed with a -j8 build on, surprise, the time > zones. I'm pasting here the (still enormous) relevant error message > out of the jam log. Does it warrant creating a ticket? That looks like the script corruption problem. You sure you updated to r31419 or later? I'm asking because I'm pretty confident that I understood and fixed the problem. I could reliably reproduce it with -j4 or -j8 and cannot reproduce it with the current revision anymore. Even the attached patch which detects concurrent executation of actions for the "copy files" script (more reliably than hoping for the script to get corrupted) isn't triggered anymore. I also just took the time to verify that things are fine under FreeBSD, which seems to be your build platform. So, if you're indeed using the current revision and encounter the problem with it, please create a new trac ticket. Please also try the attached patch. CU, Ingo
Index: build/jam/ImageRules =================================================================== --- build/jam/ImageRules (revision 31419) +++ build/jam/ImageRules (working copy) @@ -535,28 +535,36 @@ actions piecemeal AppendToContainerCopyFilesScript bind OUTPUT_SCRIPT { + mkdir /tmp/haiku-image-serialization-copy-files || exit 1 echo \$cp "\"\${sPrefix}$(2)\"" "\"\${tPrefix}$(TARGET_DIR)\"" \ >> $(OUTPUT_SCRIPT) + rmdir /tmp/haiku-image-serialization-copy-files } actions AppendToContainerCopyFilesScriptSingleFile { + mkdir /tmp/haiku-image-serialization-copy-files || exit 1 echo \$cp "\"\${sPrefix}$(2[2])\"" \ "\"\${tPrefix}$(TARGET_DIR)/$(INSTALL_TARGET_NAME)\"" >> $(2[1]) + rmdir /tmp/haiku-image-serialization-copy-files } actions AddSymlinkToContainerCopyFilesScript { + mkdir /tmp/haiku-image-serialization-copy-files || exit 1 echo \$ln -sfn "\"$(SYMLINK_TARGET)\"" "\"\${tPrefix}$(1:G=)\"" >> $(2[1]) + rmdir /tmp/haiku-image-serialization-copy-files } actions AddDirectoryToContainerCopyFilesScript { + mkdir /tmp/haiku-image-serialization-copy-files || exit 1 echo \$cp -r $(EXCLUDE_PATTERNS) "\"\${sPrefix}$(SOURCE_DIRECTORY)/.\"" \ "\"\${tPrefix}$(TARGET_DIRECTORY:G=)\"" >> $(2[1]) + rmdir /tmp/haiku-image-serialization-copy-files }