Package: fakeroot
Version: 1.12.5

A check for the define STAT64_SUPPORT is missing in the fts_read function, breaking fakeroot on platforms which do not have stat64 support. For example fakeroot on Mac OS X 10.4:

$ fakeroot do_something
dyld: lazy symbol binding failed: Symbol not found: _send_get_stat64
  Referenced from: /Users/tom/prefix/lib/libfakeroot.dylib
  Expected in: flat namespace

dyld: Symbol not found: _send_get_stat64
  Referenced from: /Users/tom/prefix/lib/libfakeroot.dylib
  Expected in: flat namespace

The following patch fixes the problem:

diff -ur fakeroot-1.12.5.orig/libfakeroot.c fakeroot-1.12.5.send_get_stat64-fix/libfakeroot.c --- fakeroot-1.12.5.orig/libfakeroot.c 2009-06-18 15:19:14.000000000 +0200 +++ fakeroot-1.12.5.send_get_stat64-fix/libfakeroot.c 2009-08-13 14:17:06.000000000 +0200
@@ -1496,11 +1496,18 @@

   r=next_fts_read(ftsp);
if(r && r->fts_statp) { /* Should we bother checking fts_info here? */
+# ifdef STAT64_SUPPORT
 # ifndef STUPID_ALPHA_HACK
     send_get_stat64(r->fts_statp);
 # else
     send_get_stat64(r->fts_statp, _STAT_VER);
 # endif
+# else
+# ifndef STUPID_ALPHA_HACK
+    send_get_stat(r->fts_statp);
+# else
+    send_get_stat(r->fts_statp, _STAT_VER);
+# endif
   }

   return r;




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to