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.
