Summary: | Building packages as normal user with fakeroot sometimes fails due to tar complaining about "Too many levels of symbolic links" | ||
---|---|---|---|
Product: | Portage Development | Reporter: | James C. Georgas <james.georgas> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED DUPLICATE | ||
Severity: | major | CC: | base-system |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
environment file for ebuild
build log for ebuild |
Description
James C. Georgas
2012-12-17 20:07:18 UTC
Created attachment 332594 [details]
environment file for ebuild
Created attachment 332596 [details]
build log for ebuild
It seems like it must be a bug in fakeroot, tar, or the interaction between them. My money's on fakeroot. Overriding syscalls is a bit heavyhanded. Perhaps some kind of FUSE/libarchive filesystem in the staging area would be better? I've seen this before when making my own chroot to compile things into. I forget exactly but for a while some of the utilities we had I believe 4 symlinks to get to the actual binary. If you copied that whole directory structure in for building you'd easily hit the Linux max of 5. Not that this helps much, but it was something specific with our setup and I've been trying to get packages to not go that deep. The weird thing is that, for the gawk example cited here, there's another symlink in the same directory as the symlink that errored out, but it looks like that one tarred up just fine. I don't even know what to think about that. Anyway, I've been looking at the FUSE tutorial, and it actually looks like it'll be pretty easy to code something up to do the same thing as fakeroot without messing with the system glibc or using symlinks. i wonder how fakeroot interacts with sandbox (In reply to comment #7) > i wonder how fakeroot interacts with sandbox Currently, fakeroot disables sandbox inside the spawn function in pym/portage/package/ebuild/doebuild.py. Have a look at https://bugs.gentoo.org/show_bug.cgi?id=489016 *** This bug has been marked as a duplicate of bug 489016 *** |