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
-~----------~----~----~----~------~----~------~--~---

Reply via email to