Lots of "file exists" warnings, such as: ln: failed to create hard link '/var/tmp/portage/dev-vcs/git-1.7.10.2/temp/prepstrip/inodes/181540_lockfile': File exists (which seem harmless), but also a few more serious "file truncated" ones: x86_64-pc-linux-gnu-strip:/var/tmp/portage/dev-vcs/git-1.7.10.2/image/usr/libexec/git-core/git-check-attr: File truncated (this happens when portage strips the binaries, after src_install). All warnings disappear with MAKEOPTS=-j1
Created attachment 315301 [details] build.log
Please retest on >=1.7.12-r1
Same in 1.7.12-r1, e.g.: x86_64-pc-linux-gnu-strip:/var/tmp/portage/dev-vcs/git-1.7.12-r1/image/usr/libexec/git-core/git-status[.fini]: File truncated
portage: in the prepstrip script, this line needs to have the error silenced: if ! ln "${x}" "${lockfile}" ; then
The "failed to create hard link" messages are expected but the "File truncated" messages look like a possible problem. Maybe this is due to a file being stripped at the same time that debugedit is editing the file. If so, then this should fix it: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=c74972c6b1e30232ab961f0206cdee81b7e4c5f5 (In reply to comment #4) > portage: > in the prepstrip script, this line needs to have the error silenced: > if ! ln "${x}" "${lockfile}" ; then Okay, that's included in the above commit.
This is fixed in 2.1.11.12 and 2.2.0_alpha123.
Happens again with git-1.8.0-r1 and portage-2.2.0_alpha142 strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment -R .GCC.command.line usr/bin/git-upload-archive usr/bin/git-receive-pack usr/bin/git usr/bin/git-shell usr/bin/git-upload-pack [...] usr/libexec/git-core/git-reflog usr/libexec/git-core/git-mv usr/libexec/git-core/git-merge-base x86_64-pc-linux-gnu-strip:/var/tmp/portage/dev-vcs/git-1.8.0-r1/image/usr/libexec/git-core/git-merge-base[.got.plt]: File truncated usr/libexec/git-core/git-mktree usr/libexec/git-core/git-fast-export usr/libexec/git-core/git-merge-tree usr/libexec/git-core/git-fsck usr/libexec/git-core/git-mktag [...] usr/libexec/git-core/git-blame usr/libexec/git-core/git-archive usr/libexec/git-core/git-symbolic-ref usr/libexec/git-core/git-annotate usr/libexec/git-core/git-fmt-merge-msg usr/libexec/git-core/git-replace usr/libexec/git-core/git-upload-pack usr/libexec/git-core/git-fetch x86_64-pc-linux-gnu-strip:/var/tmp/portage/dev-vcs/git-1.8.0-r1/image/usr/libexec/git-core/git-fetch: File truncated usr/libexec/git-core/git-pack-refs usr/libexec/git-core/git-format-patch [...]
*** Bug 441664 has been marked as a duplicate of this bug. ***
The current prepstrip code assumes that the inode number of an executable remains constant when it is stripped, but it seems that's no longer working. So, my plan is to create one big directory of hardlinks prior to the parallel stripping, and operate on those in order to ensure that we only try to strip each executable once.
This is fixed in git: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=74b7c9d452c97a948852416e1456a3117deec2dc
This is fixed in 2.1.11.32 and 2.2.0_alpha143.