For the loopback file system, defining __DARWIN_64_BIT_INO_T to 0 does work in combination with -lfuse. Example: gcc -o loopback -D__FreeBSD__=10 -D_FILE_OFFSET_BITS=64 -D__DARWIN_64_BIT_INO_T=0 -lfuse loopback.c
Are you sure you're definining it before anything else, and that you're not linking to other files compiled with different parameters? - Erik f...@nk wrote 2009-09-12 15.48: > Thanks a lot for your support Tomas and Erik! The first 2 proposed > solutions do fix the problem. Defining __DARWIN_64_BIT_INO_T=0 before > including fuse.h, and linking against -lfuse, does not seem to work. > > Best regards, > Frank > > On Sep 12, 2:41 pm, Erik Larsson<[email protected]> wrote: > >> Erik Larsson wrote 2009-09-12 14.36: >> >> >> >> >> >> >>> Tomas Carnecky wrote 2009-09-12 14.31: >>> >> >>>> On Sep 8, 2009, at 11:32 AM, f...@nk wrote: >>>> >> >>>>> Hello, >>>>> >> >>>>> After upgrading to Snow Leopard and MacFUSE 2.1.5 (Beta), I have an >>>>> issue that I didn't have before the upgrade. Each access to any >>>>> mounted fuse filesystem (even the example filesystems provided with >>>>> the fuse library), will result in an I/O error. >>>>> >> >>>>> For instance, the hello filesystem: >>>>> >> >>>>> % ./hello -d mount >>>>> 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 >>>>> ACCESS / 00 >>>>> unique: 1, error: -78 (Function not implemented), outsize: 16 >>>>> unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 40 >>>>> unique: 2, error: 0 (Unknown error: 0), outsize: 128 >>>>> >> >>>>> % ls mount >>>>> ls: mount: Input/output error >>>>> >> >>>> This was exactly the reason why I started looking into how to compile >>>> MacFUSE. I almost forgot what I did to fix it :) >>>> >> >>>> When I compiled the examples myself (gcc -lfuse -o hello hello.c) it >>>> didn't work, but when I compiled the examples using ./ >>>> macfuse_buildtool.sh they worked! So I started looking what >>>> commandline the shell script uses and found out that I had to add '- >>>> mmacosx-version-min=10.5' to make it work. Don't ask my why that is, I >>>> don't even know what -mmacosx-version-min does, but I hope it helps you. >>>> >> >>> I think I know this problem. >>> You simply need to compile the example file systems with -lfuse_ino64 >>> instead of -lfuse, since 64-bit inodes is now (as of Snow Leopard) the >>> default in header files such as stat.h. (I.e. what was called struct >>> stat64 in Leopard is now the same as struct stat...) >>> >> >>> - Erik >>> >> (Or you could pass -D__DARWIN_64_BIT_INO_T=0 to disable 64-bit inode >> numbers in the headers. Then you can continue linking with -lfuse.) >> >> - Erik >> > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
