Ah, interesting, that works too.

Can you recommend a way to determine in the Makefile if this is
necessary?  It seems like something that maybe pkg-config should
report.

--i

On Tue, Oct 12, 2010 at 22:31, Erik Larsson <[email protected]> wrote:
>  You can also:
> 1. Supply -D__DARWIN_64_BIT_INO_T=0 when compiling or...
> 2. Link against libfuse_ino64 instead of libfuse.
>
> - Erik
>
> Isaac Schlueter wrote 2010-10-13 03.38:
>>
>> Apparently this is a known issue on Snow Leopard:
>>
>> http://www.mail-archive.com/[email protected]/msg01017.html
>>
>> -mmacosx-version-min=10.5 fixes it, and Camilo Agular is my hero.
>>
>> Thanks!
>>
>> --i
>>
>> On Tue, Oct 12, 2010 at 17:20, Isaac Schlueter<[email protected]>  wrote:
>>>
>>> I fired the program up in gdb and triggered the error again, and
>>> here's what it looks like:
>>>
>>> ^C
>>> Program received signal SIGINT, Interrupt.
>>> 0x00007fff833e1eb6 in __semwait_signal ()
>>> (gdb) step
>>> Single stepping until exit from function __semwait_signal,
>>> which has no line number information.
>>> 0x00007fff83495a8c in cerror ()
>>> (gdb) step
>>> Single stepping until exit from function cerror,
>>> which has no line number information.
>>> 0x00007fff834e71d4 in dyld_stub_cthread_set_errno_self ()
>>> (gdb) step
>>> Single stepping until exit from function
>>> dyld_stub_cthread_set_errno_self,
>>> which has no line number information.
>>> 0x00007fff833bb9fe in cthread_set_errno_self ()
>>> (gdb) step
>>> Single stepping until exit from function cthread_set_errno_self,
>>> which has no line number information.
>>> 0x00007fff83495aad in cerror ()
>>> (gdb) step
>>> Single stepping until exit from function cerror,
>>> which has no line number information.
>>> 0x00007fff833e5cd1 in _pthread_cond_wait ()
>>> (gdb) step
>>> Single stepping until exit from function _pthread_cond_wait,
>>> which has no line number information.
>>> fuse_sem_wait (sem=0x7fff5fbfe8d8) at fuse_darwin.c:227
>>> 227     in fuse_darwin.c
>>> (gdb) step
>>> 228     in fuse_darwin.c
>>> (gdb)
>>>
>>> I can't seem to find fuse_darwin.c in the subversion repo or on my
>>> system anywhere, so I'm a little bit stumped about how to continue
>>> debugging this issue.
>>>
>>> --i
>>>
>>>
>>> On Tue, Oct 12, 2010 at 16:50, Isaac Schlueter<[email protected]>  wrote:
>>>>
>>>> I've installed MacFUSE on my macbook pro from
>>>> http://code.google.com/p/macfuse/
>>>>
>>>> I've got this copy of the "hello world" example filesystem:
>>>> http://github.com/isaacs/node-fuse/blob/dev/hello.c
>>>>
>>>> I compile it without any controversy with this command:
>>>> http://github.com/isaacs/node-fuse/blob/dev/Makefile#L3
>>>>
>>>> Then I mount a folder and there are no complaints:
>>>> mkdir ~/hello-fs
>>>> ./hello ~/hello-fs/
>>>>
>>>> And when I try to look inside, I get an input/output error:
>>>>
>>>> $ ls ~/hello-fs/
>>>> ls: /Users/isaacs/hello-fs/: Input/output error
>>>>
>>>> Other fuse systems seem to work fine (encfs, sshfs).
>>>>
>>>> I ran this with -d to get more debugging output, and here's
>>>> what I found:
>>>>
>>>> $ ./hello ~/hello-fs -d
>>>> unique: 0, opcode: INIT (26), nodeid: 0, insize: 56
>>>> INIT: 7.8
>>>> flags=0x00000000
>>>> max_readahead=0x00100000
>>>>  INIT: 7.8
>>>>  flags=0x00000000
>>>>  max_readahead=0x00100000
>>>>  max_write=0x00400000
>>>>  unique: 0, error: 0 (Unknown error: 0), outsize: 40
>>>> unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 0, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 0, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 0, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 0, opcode: ACCESS (34), nodeid: 1, insize: 48
>>>> ACCESS / 00
>>>>  unique: 0, error: -78 (Function not implemented), outsize: 16
>>>> unique: 0, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 0, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 1, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 2, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40
>>>> unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 3, error: 0 (Unknown error: 0), outsize: 96
>>>>  unique: 1, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 1, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 3, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 3, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 1, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 1, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 4, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 4, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 5, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 5, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 3, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 3, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 1, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 1, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 4, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 4, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 5, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 5, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 6, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 6, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 6, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 6, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 7, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 7, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 8, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 8, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 8, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 8, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 9, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 9, error: 0 (Unknown error: 0), outsize: 96
>>>> unique: 9, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 9, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 10, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 10, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 11, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 11, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 12, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 12, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 13, opcode: STATFS (17), nodeid: 1, insize: 40
>>>>  unique: 13, error: 0 (Unknown error: 0), outsize: 96
>>>>
>>>> And then trying to access it:
>>>>
>>>> $ ls ~/hello-fs/
>>>> unique: 20, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 20, error: 0 (Unknown error: 0), outsize: 128
>>>> unique: 21, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 21, error: 0 (Unknown error: 0), outsize: 128
>>>> ls: /Users/isaacs/hello-fs/: Input/output error
>>>>
>>>> unique: 22, opcode: GETATTR (3), nodeid: 1, insize: 40
>>>>  unique: 22, error: 0 (Unknown error: 0), outsize: 128
>>>>
>>>>
>>>>
>>>> By contrast, running this same code on a Debian machine with libfuse2
>>>> and libfuse-dev installed, I see a flags=0x7b and it works fine.
>>>>
>>>> $ ./hello ~/hello-fs/ -d
>>>> unique: 1, opcode: INIT (26), nodeid: 0, insize: 56
>>>> INIT: 7.13
>>>> flags=0x0000007b
>>>> max_readahead=0x00020000
>>>>  INIT: 7.8
>>>>  flags=0x00000001
>>>>  max_readahead=0x00020000
>>>>  max_write=0x00020000
>>>>  unique: 1, error: 0 (Success), outsize: 40
>>>>
>>>> $ ls hello-fs/hello.txt
>>>> unique: 2, opcode: LOOKUP (1), nodeid: 1, insize: 50
>>>> LOOKUP /hello.txt
>>>>  NODEID: 2
>>>>  unique: 2, error: 0 (Success), outsize: 136
>>>> hello-fs/hello.txt
>>>>
>>>> So, this seems like it is is clearly a macfuse problem, and not a
>>>> libfuse problem.
>>>>
>>>> Any ideas?
>>>>
>>>> --i
>>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "MacFUSE" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/macfuse?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "MacFUSE" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/macfuse?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"MacFUSE" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/macfuse?hl=en.

Reply via email to