Register FAQ SearchLogin
Tuxera Home
View unanswered posts | View active topics It is currently Thu Oct 23, 2014 04:56



Post new topic Reply to topic  [ 7 posts ] 
ntfs3g-2012.1.15-r1 fails with GIT version of fuse 
Author Message

Joined: Mon Mar 12, 2012 16:58
Posts: 3
Post ntfs3g-2012.1.15-r1 fails with GIT version of fuse
Trying to build ntfs3g fails if the GIT version of fuse is installed.

sys-fs/ntfs3g-2012.1.15-r1 fails to compile due to
x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -DFUSE_USE_VERSION=26 -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I../include/ntfs-3g -mtune=native -O2 -msse3 -pipe -Wall -c -o ntfs_3g-ntfs-3g_common.o `test -f 'ntfs-3g_common.c' || echo './'`ntfs-3g_common.c
ntfs-3g.c:3256:2: error: unknown field 'flag_utime_omit_ok' specified in initializer


The field flag_utime_omit_ok is (only) defined in
include/fuse-lite/fuse.h

Should this be included in ntfs-3g.c ?

What's the right fix?

Thanks,
Helmut.


Mon Mar 12, 2012 17:04
Profile
NTFS-3G Lead Developer

Joined: Tue Sep 04, 2007 17:22
Posts: 1153
Post Re: ntfs3g-2012.1.15-r1 fails with GIT version of fuse
Hi,

Quote:
ntfs-3g.c:3256:2: error: unknown field 'flag_utime_omit_ok' specified in initializer

This field is needed for setting timestamps with a microsecond resolution with the high level fuse interface, it was proposed by the fuse developers.

It has apparently not yet been included in a release version. The code in ntfs-3g assumes it will be included in fuse 2.9, but if you get an error, a new fuse version is being prepared without the feature (or the feature is implemented differently).

Quote:
The field flag_utime_omit_ok is (only) defined in
include/fuse-lite/fuse.h
Should this be included in ntfs-3g.c ?

This is for use with the internal fuse-lite library (just ./configure with option --with-fuse=internal with Linux only). This library provides all the features used by ntfs-3g.

Other possibilities :

- Apply the fuse patch to the git version (see http://article.gmane.org/gmane.comp.fil ... devel/8592)
- Patch ntfs-3g.c to not use timestamps with subsecond resolution (just comment the line for flag_utime_omit_ok initialization), you still can get subsecond resolution by using lowntfs-3g instead of ntfs-3g.

Note : this has recently been discussed on the fuse developers list, awaiting a reply from the fuse project for defining how ntfs-3g should adapt.

Regards

Jean-Pierre


Mon Mar 12, 2012 22:36
Profile
NTFS-3G Lead Developer

Joined: Tue Sep 04, 2007 17:22
Posts: 1153
Post Re: ntfs3g-2012.1.15-r1 fails with GIT version of fuse
Hi,

Quote:
Trying to build ntfs3g fails if the GIT version of fuse is installed.

In git, I did not find any version of fuse beyond 2.8, though there is a place holder for 2.9. The fuse version is defined in fuse_common.h
Can you clarify under which conditions you got an error (what were your options to ./configure, where did you get fuse_common.h from) ?

Regards

Jean-Pierre


Tue Mar 13, 2012 13:33
Profile

Joined: Mon Mar 12, 2012 16:58
Posts: 3
Post Re: ntfs3g-2012.1.15-r1 fails with GIT version of fuse
My fuse version is from yesterday (I'm working on a GenToo system)

/usr/include/fuse/fuse_common.h

has

/** Major version of FUSE library interface */
#define FUSE_MAJOR_VERSION 2

/** Minor version of FUSE library interface */
#define FUSE_MINOR_VERSION 9

And I've searched all of /usr/include/fuse/**/* but flag_utime_omit_ok isn't contained in any file.

Helmut.


Tue Mar 13, 2012 18:28
Profile
NTFS-3G Lead Developer

Joined: Tue Sep 04, 2007 17:22
Posts: 1153
Post Re: ntfs3g-2012.1.15-r1 fails with GIT version of fuse
Hi,

Code:
/** Minor version of FUSE library interface */
#define FUSE_MINOR_VERSION 9

So GenToo must be ahead of the fuse git...

On the fuse project git (http://fuse.git.sourceforge.net/git/git ... ;a=summary), I see :
Code:
tags
6 weeks ago fuse_2_8_7
5 months ago fuse_2_8_6
10 months ago fuse_2_7_3 Released 2.7.3
17 months ago fuse_2_8_5
21 months ago fuse_2_9_start
22 months ago fuse_2_8_4
2 years ago fuse_2_8_3
etc.

The fuse_2_9_start is a placeholder for features which cannot be released as 2.8, and the fuse_common.h it contains is marked as 2.8, so your 2.9 version must be a non-official one, not issued by the fuse project.

Until the matter is resolved, you can use one of the workarounds defined in my previous post.

Also tell me what timestamp resolution you get when doing "touch an-existing-file", in case another strategy has been defined in this fuse 2.9.

Regards

Jean-Pierre


Tue Mar 13, 2012 19:28
Profile

Joined: Mon Mar 12, 2012 16:58
Posts: 3
Post Re: ntfs3g-2012.1.15-r1 fails with GIT version of fuse
jpa wrote:
Hi,

Code:
/** Minor version of FUSE library interface */
#define FUSE_MINOR_VERSION 9

So GenToo must be ahead of the fuse git...

On the fuse project git (http://fuse.git.sourceforge.net/git/git ... ;a=summary), I see :
Code:
tags
6 weeks ago fuse_2_8_7
5 months ago fuse_2_8_6
10 months ago fuse_2_7_3 Released 2.7.3
17 months ago fuse_2_8_5
21 months ago fuse_2_9_start
22 months ago fuse_2_8_4
2 years ago fuse_2_8_3
etc.

The fuse_2_9_start is a placeholder for features which cannot be released as 2.8, and the fuse_common.h it contains is marked as 2.8, so your 2.9 version must be a non-official one, not issued by the fuse project.

Until the matter is resolved, you can use one of the workarounds defined in my previous post.

Also tell me what timestamp resolution you get when doing "touch an-existing-file", in case another strategy has been defined in this fuse 2.9.

Regards

Jean-Pierre


Hi Jean-Pierre, I don't think so.
It's not Gentoo package, but I have created a so-called ebuild file myself.
It contains:
EGIT_REPO_URI="git://fuse.git.sourceforge.net/gitroot/fuse/fuse"

and that's the only source!

Helmut.


Tue Mar 13, 2012 20:45
Profile
NTFS-3G Lead Developer

Joined: Tue Sep 04, 2007 17:22
Posts: 1153
Post Re: ntfs3g-2012.1.15-r1 fails with GIT version of fuse
Hi again,

Quote:
It's not Gentoo package, but I have created a so-called ebuild file myself.
It contains:
EGIT_REPO_URI="git://fuse.git.sourceforge.net/gitroot/fuse/fuse"

and that's the only source!

Ok, so you are using the latest state, which is not a stable version yet.

This at least made me aware that utimensat(2) might not be fully implemented in fuse 2.9, unless it is implemented in a way different from what I expected.

Regards

Jean-Pierre


Tue Mar 13, 2012 21:52
Profile
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 


Who is online

Users browsing this forum: Exabot [Bot], Google [Bot] and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Original forum style by Vjacheslav Trushkin.