re: Fakeroot
On Sun, Feb 24, 2002 at 08:43:11PM +0000, Matthew Garrett wrote:
> Fakeroot on NetBSD is dying inside libfakeroot. The mess of wrap* has left
> me sufficiently confused that I'm not really sure what's going on, and
> I've certainly got no idea why it dies. Does anyone who understands these
> things better than me want to take a look at it?
Thanks to the combined efforts of reasonable quantities of alcohol and
several people who know significantly more about this sort of thing than
me, it now works. /usr/include/sys/stat.h rewrites fstat() to
__fstat13(). The fstat() in libfakeroot therefore gets rewritten to
__fstat13(). The fstat in libfakeroot calls fstat() in libc, which simply
calls __fstat13(). Sadly, since libfakeroot is LD_PRELOADed, this calls
the libfakeroot version. Which calls fstat() again. Altering libfakeroot
to call __fstat13() rather than fstat() makes things work, but this is
likely to break if the version name changes again in the future. I'm not
sure what a more long-term fix is.
hmmmm.
there are lots of versioned system calls. i'm sure this really
affects more than fstat(). the others probably just cause less
drastic (but potentially more dangerous!) lossage.
.mrg.
Reply to: