[darcs-users] Re: darcs - Problem with MacOS X HFS+ File System

Markus Hanauska hanauska at equinux.net
Mon Mar 14 09:15:31 UTC 2005

On 05. Mrz 2005, at 15:20 Uhr, David Roundy wrote:

> I see it! It's the careful_atomic_create in compat.c, which really is 
> only
> needed for lock-grabbing, but we use anyways when we create a file.  
> This
> function does some hard-link trickery to ensure that even over NFS two
> darcs instances can't accidentally both grab _darcs/lock.
> If you run with the environment variable DARCS_SLOPPY_LOCKS=1, 
> there's no
> problem (at least in my simple tests involving xcode)! :) If only 
> Juliusz
> were a mac person, I bet he would have been reading this and would 
> have
> thought of this ages ago.  (It seems like he's always telling people 
> to try
> running with DARCS_SLOPPY_LOCKS... he wrote the locking code.)
> I think the best solution is to introduce a takeSloppyLock (perhaps 
> called
> something like withNewFile or something) in Lock.lhs, which we can 
> use when
> we don't want real locking.  It'll probably be a tad faster, and will 
> avoid
> the complicated lock code when we don't actually want locking 
> behavior.
> The other alternative that comes to mind would be to avoid the careful
> locking code entirely on the mac.  That seems to me like a worse 
> solution.
> In the meantime, you can just define DARCS_SLOPPY_LOCKS in your 
> .bashrc (or
> whatever) which should fix the problem.

Cool, when can we expect that to be fixed? Should this mail be 
forwarded to the dev-list? Are the right people now aware of the 
problem, so we can expect it to be fixed in a 1.0.3 release? Or maybe 
is there a 1.1 release planed? I mean what's the next step to a final 
solution? The work-a-round is nice, but we can't always guarantee that 
people have made these changes to their bashrc file.

We are sorry for being impatient, but we don't want to wait 2 months or 
more. Meanwhile two of our programmers started to learn some basic 
Haskell coding, but I'm afraid we aren't good enough so far to fix this 
ourselves. Also nobody has been able to tell us so far how to create 
static binaries. On the darcs-page, there are two links offering a 
static binary for MacOS X, but if we compile it ourselves, the binary 
needs all kind of libraries to be present (another thing we can't 
always guarantee), so if we fix it ourselves, we'd need somebody 
showing us how to create a static Haskell binary that runs on system 
without any Haskell compiler installed. I guess this can be done via 
some changes of the makefile or do we have to operate the linker by 
hand? Or is there a configure switch for that?

Best Regards,
     Markus Hanauska

More information about the darcs-users mailing list