GNU bug report logs - #51857
cross-filesystem copying broken on macOS with coreutils >= 9.0

Previous Next

Package: coreutils;

Reported by: Sudhip Nashi <sudhipnashi <at> icloud.com>

Date: Mon, 15 Nov 2021 05:02:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


Message #35 received at 51857 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Sudhip Nashi <sudhipnashi <at> icloud.com>
Cc: 51857 <at> debbugs.gnu.org, Gnulib bugs <bug-gnulib <at> gnu.org>,
 Pádraig Brady <P <at> draigbrady.com>,
 Cameron Katri <me <at> cameronkatri.com>
Subject: Re: bug#51857: cross-filesystem copying broken on macOS with
 coreutils >= 9.0
Date: Mon, 15 Nov 2021 15:41:00 -0800
[Message part 1 (text/plain, inline)]
On 11/15/21 10:37, Sudhip Nashi wrote:
> Turns out lseek is broken (or at least works differently) on macOS as well (https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00054.html). Funny coincidence! I’ll take a better look later this week if I can and try to see what the exact problem is.

Thanks, I think I see the problem now.

Eventually macOS will likely get fixed to work around this 
lseek+SEEK_DATA incompatibility (as FreeBSD, Solaris, etc. all do things 
the Linux way and that's what I think will appear in the next POSIX), 
but in the meantime I attempted to work around the portability issue by 
installing the attached patch into Gnulib, and by syncing coreutils to 
the latest Gnulib.

I don't use macOS so have not tested this. Please give it a try, either 
by building from bleeding-edge coreutils on Savannah, or by building 
from the tarball temporarily here:

https://www.cs.ucla.edu/~eggert/coreutils-9.0.26-0f4d9.tar.gz

Thanks.
[0001-lseek-port-around-macOS-SEEK_DATA-glitch.patch (text/x-patch, attachment)]

This bug report was last modified 3 years and 241 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.