I found fuse.h at /usr/include/linux/
I upgraded ggc on my Linux but still saw problems.
For the following enum:
enum fuse_opcode {
FUSE_LOOKUP = 1,
FUSE_FORGET = 2, /* no reply */
[exec] /usr/local/hadoop/hdfs-fuse/include/fuse.h:115: error:
redeclaration of enumerator ‘FUSE_GETXATTR’
[exec] /usr/local/hadoop/hdfs-fuse/include/fuse.h:115: error: previous
definition of ‘FUSE_GETXATTR’ was here
-------
For:
struct fuse_init_in {
__u32 major;
__u32 minor;
__u32 max_readahead;
__u32 flags;
};
[exec] /usr/local/hadoop/hdfs-fuse/include/fuse.h:279: error:
redefinition of ‘struct fuse_init_in’
--------
fuse_fill_dir_t isn't defined in fuse.h, so
[exec] In file included from fuse_dfs.c:21:
[exec] fuse_impls.h:37: error: expected declaration specifiers or
‘...’ before ‘fuse_fill_dir_t’
[exec] fuse_impls.h:38: warning: ‘struct fuse_file_info’ declared
inside parameter list
On Fri, Sep 11, 2009 at 5:11 PM, Anthony Urso <[email protected]>wrote:
> fuse.h should come with the FUSE software, not Hadoop. It should be
> somewhere like /usr/include/fuse.h on a Linux machine. Possibly
> /usr/local/include/fuse.h
>
> Did you install FUSE from source? If not, you probably need something
> like Debian's libfuse-dev package installed by your operating system.
> Other vendors will call the package by a different name.
>
> Cheers,
> Anthony
>
> On Fri, Sep 11, 2009 at 4:35 PM, Ted Yu <[email protected]> wrote:
> > I use the following commandline to build fuse:
> > ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1
> >
> > My ant version is 1.7.1
> >
> > I got the following error:
> > [exec] if gcc -DPACKAGE_NAME=\"fuse_dfs\"
> > -DPACKAGE_TARNAME=\"fuse_dfs\" -DPACKAGE_VERSION=\"0.1.0\"
> > -DPACKAGE_STRING=\"fuse_dfs\ 0.1.0\" -DPACKAGE_BUGREPORT=\"\"
> > -DGETGROUPS_T=gid_t -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1
> > -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1
> > -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
> -DHAVE_UNISTD_H=1
> > -DHAVE_GETGROUPS=1 -DGETGROUPS_T=gid_t -I. -I. -DPERMS=1
> > -D_FILE_OFFSET_BITS=64 -I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/include
> > -I/usr/local/hadoop/src/c++/libhdfs/
> > -I/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/include/linux/
> > -D_FUSE_DFS_VERSION=\"0.1.0\" -DPROTECTED_PATHS=\"\"
> > -I/usr/local/hadoop/hdfs-fuse/include -Wall -O3 -MT fuse_dfs.o -MD -MP
> -MF
> > ".deps/fuse_dfs.Tpo" -c -o fuse_dfs.o fuse_dfs.c; \
> > [exec] then mv -f ".deps/fuse_dfs.Tpo" ".deps/fuse_dfs.Po"; else
> rm
> > -f ".deps/fuse_dfs.Tpo"; exit 1; fi
> > [exec] In file included from fuse_dfs.c:19:
> > [exec] fuse_dfs.h:31:18: error: fuse.h: No such file or directory
> >
> > I cannot find fuse.h under hadoop tree.
> >
> > Can someone provide hint ?
> >
>