Line 625 :ln -s "${S}"/Module.symvers Module.symvers || die That '|| die' was added, which causes the merge to die almost instantly, because the code basically touches Modules.symvers and then tries to symlink it to itself. I do not know what the code is trying to do, but if I revert the change: ... >>> Compiling source in /var/tmp/portage/app-emulation/virtualbox-modules-7.0.4/work ... ln: failed to create symbolic link 'Module.symvers': File exists ... And the build continues and succeeds. Perhaps something is odd in my setup, though some searching the web will show that same symlink failure occurring without killing builds in the past.
Yeah, haven't looked too deeply but I'll revert this bit in a few.
*** Bug 888681 has been marked as a duplicate of this bug. ***
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d779705500b4600919b6d5c187afc34870a0d2e5 commit d779705500b4600919b6d5c187afc34870a0d2e5 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2022-12-28 10:14:06 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2022-12-28 10:23:39 +0000 linux-mod.eclass: revert adding || die for Modules.symvers Emergency fix given this apparently broke potentially several packages, at least e.g. virtualbox-modules, and zenpower3 from guru. Fixes: bc0ef44947363a33b5cd9b18bcc0d3c32b808311 Closes: https://bugs.gentoo.org/888679 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> eclass/linux-mod.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The || die call afterwards trying to create the symlink is sane. The actual issue is that srcdir defaults to S. And therefore you want to not create the symlink if srcdir == S. E.g. if [[ "${S}" != "${srcdir}" ]]; then cd "${srcdir}" || die ln -s "${S}"/Module.symvers Module.symvers || die fi
*** Bug 888863 has been marked as a duplicate of this bug. ***