Arun,
I have been able to get fuse-dfs to compile by changing the signature of 
hdfsConnectAsUser in src/c++/libhdfs/ from
   hdfsFS hdfsConnectAsUser(const char* host, tPort port, const char *user);
to
   hdfsFS hdfsConnectAsUser(const char* host, tPort port, const char *user, 
const char** groups, int numgroups);
to match the signature in
   fuse_connect.c
I have not run any of the tests with this, but it now works for mounting hdfs
I will create jira for it this weekend.
Charles
On Sep 1, 2011, at 3:23 PM, Charles Earl wrote:

> I was afraid you would say that.
> Yes, I will open jira.
> Charles
> 
> On Sep 1, 2011, at 2:58 PM, Arun C Murthy <a...@hortonworks.com> wrote:
> 
>> Charles, can you please open a jira?
>> 
>> http://wiki.apache.org/hadoop/HowToContribute
>> 
>> thanks,
>> Arun
>> 
>> PS: We'd love a patch too! :)
>> 
>> 
>> On Sep 1, 2011, at 9:07 AM, Charles Earl wrote:
>> 
>>> Hi,
>>> I noted there was a similar thread, it does not look as though it was 
>>> resolved, but I am still getting the errors that were described. 
>>> Is there any patch that will address this?
>>> Instructions at  http://wiki.apache.org/hadoop/MountableHDFS followed
>>> $ ant compile-contrib -Dlibhdfs=1 -Dfusedfs=1
>>> Buildfile: hadoop-0.20.203.0/build.xml
>>> 
>>> clover.setup:
>>> …
>>> check-libhdfs-exists:
>>> 
>>> compile:
>>>      [echo] contrib: fuse-dfs
>>>      [exec] checking build system type... x86_64-apple-darwin11.1.0
>>>      [exec] checking host system type... x86_64-apple-darwin11.1.0
>>>      [exec] checking target system type... x86_64-apple-darwin11.1.0
>>>      [exec] checking for a BSD-compatible install... /usr/bin/install -c
>>>      [exec] checking whether build environment is sane... yes
>>>      [exec] checking for a thread-safe mkdir -p... ./install-sh -c -d
>>>      [exec] checking for gawk... gawk
>>>      [exec] checking whether make sets $(MAKE)... yes
>>>      [exec] checking for style of include used by make... GNU
>>>      [exec] 
>>>      [exec] checking for gcc... gcc
>>>      [exec] checking whether the C compiler works... yes
>>>      [exec] checking for C compiler default output file name... a.out
>>>      [exec] checking for suffix of executables... 
>>>      [exec] checking whether we are cross compiling... no
>>>      [exec] checking for suffix of object files... o
>>>      [exec] checking whether we are using the GNU C compiler... yes
>>>      [exec] checking whether gcc accepts -g... yes
>>>      [exec] checking for gcc option to accept ISO C89... none needed
>>>      [exec] checking dependency style of gcc... gcc3
>>>      [exec] checking for g++... g++
>>>      [exec] checking whether we are using the GNU C++ compiler... yes
>>>      [exec] checking whether g++ accepts -g... yes
>>>      [exec] checking dependency style of g++... gcc3
>>>      [exec] checking for ranlib... ranlib
>>>      [exec] checking for bash... /bin/sh
>>>      [exec] checking for perl... /opt/local/bin/perl
>>>      [exec] checking for python... /usr/bin/python
>>>      [exec] checking for ar... /usr/bin/ar
>>>      [exec] checking for ant... /usr/bin/ant
>>>      [exec] checking how to run the C preprocessor... gcc -E
>>>      [exec] checking for grep that handles long lines and -e... 
>>> /usr/bin/grep
>>>      [exec] checking for egrep... /usr/bin/grep -E
>>>      [exec] checking for uid_t in sys/types.h... yes
>>>      [exec] checking for ANSI C header files... yes
>>>      [exec] checking for sys/types.h... yes
>>>      [exec] checking for sys/stat.h... yes
>>>      [exec] checking for stdlib.h... yes
>>>      [exec] checking for string.h... yes
>>>      [exec] checking for memory.h... yes
>>>      [exec] checking for strings.h... yes
>>>      [exec] checking for inttypes.h... yes
>>>      [exec] checking for stdint.h... yes
>>>      [exec] checking for unistd.h... yes
>>>      [exec] checking type of array argument to getgroups... gid_t
>>>      [exec] checking for size_t... yes
>>>      [exec] checking for getgroups... yes
>>>      [exec] checking for working getgroups... yes
>>>      [exec] checking type of array argument to getgroups... (cached) gid_t
>>>      [exec] checking Checking EXTERNAL_PATH set to... 
>>> /Users/charlescearl/Development/hadoop-0.20.203.0/src/contrib/fuse-dfs
>>>      [exec] checking whether to enable optimized build... yes
>>>      [exec] checking whether to enable static mode... yes
>>>      [exec] configure: creating ./config.status
>>>      [exec] config.status: creating Makefile
>>>      [exec] config.status: creating src/Makefile
>>>      [exec] config.status: executing depfiles commands
>>>      [exec] Making all in .
>>>      [exec] make[1]: Nothing to be done for `all-am'.
>>>      [exec] Making all in src
>>>      [exec] gcc -DPACKAGE_NAME=\"fuse_dfs\" -DPACKAGE_TARNAME=\"fuse_dfs\" 
>>> -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"fuse_dfs\ 0.1.0\" 
>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -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 -DGETGROUPS_T=gid_t -DHAVE_GETGROUPS=1 
>>> -DGETGROUPS_T=gid_t -I.  -DPERMS=1 -D_FILE_OFFSET_BITS=64 -I/include 
>>> -I/Users/charlescearl/Development/hadoop-0.20.203.0/src/c++/libhdfs/ 
>>> -I/include/linux/ -D_FUSE_DFS_VERSION=\"0.1.0\" -DPROTECTED_PATHS=\"\" 
>>> -I/include   -Wall -O3 -MT fuse_dfs.o -MD -MP -MF .deps/fuse_dfs.Tpo -c -o 
>>> fuse_dfs.o fuse_dfs.c
>>>      [exec] mv -f .deps/fuse_dfs.Tpo .deps/fuse_dfs.Po
>>>      [exec] gcc -DPACKAGE_NAME=\"fuse_dfs\" -DPACKAGE_TARNAME=\"fuse_dfs\" 
>>> -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"fuse_dfs\ 0.1.0\" 
>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -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 -DGETGROUPS_T=gid_t -DHAVE_GETGROUPS=1 
>>> -DGETGROUPS_T=gid_t -I.  -DPERMS=1 -D_FILE_OFFSET_BITS=64 -I/include 
>>> -I/Users/charlescearl/Development/hadoop-0.20.203.0/src/c++/libhdfs/ 
>>> -I/include/linux/ -D_FUSE_DFS_VERSION=\"0.1.0\" -DPROTECTED_PATHS=\"\" 
>>> -I/include   -Wall -O3 -MT fuse_options.o -MD -MP -MF 
>>> .deps/fuse_options.Tpo -c -o fuse_options.o fuse_options.c
>>>      [exec] mv -f .deps/fuse_options.Tpo .deps/fuse_options.Po
>>>      [exec] gcc -DPACKAGE_NAME=\"fuse_dfs\" -DPACKAGE_TARNAME=\"fuse_dfs\" 
>>> -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"fuse_dfs\ 0.1.0\" 
>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -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 -DGETGROUPS_T=gid_t -DHAVE_GETGROUPS=1 
>>> -DGETGROUPS_T=gid_t -I.  -DPERMS=1 -D_FILE_OFFSET_BITS=64 -I/include 
>>> -I/Users/charlescearl/Development/hadoop-0.20.203.0/src/c++/libhdfs/ 
>>> -I/include/linux/ -D_FUSE_DFS_VERSION=\"0.1.0\" -DPROTECTED_PATHS=\"\" 
>>> -I/include   -Wall -O3 -MT fuse_trash.o -MD -MP -MF .deps/fuse_trash.Tpo -c 
>>> -o fuse_trash.o fuse_trash.c
>>>      [exec] mv -f .deps/fuse_trash.Tpo .deps/fuse_trash.Po
>>>      [exec] gcc -DPACKAGE_NAME=\"fuse_dfs\" -DPACKAGE_TARNAME=\"fuse_dfs\" 
>>> -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"fuse_dfs\ 0.1.0\" 
>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -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 -DGETGROUPS_T=gid_t -DHAVE_GETGROUPS=1 
>>> -DGETGROUPS_T=gid_t -I.  -DPERMS=1 -D_FILE_OFFSET_BITS=64 -I/include 
>>> -I/Users/charlescearl/Development/hadoop-0.20.203.0/src/c++/libhdfs/ 
>>> -I/include/linux/ -D_FUSE_DFS_VERSION=\"0.1.0\" -DPROTECTED_PATHS=\"\" 
>>> -I/include   -Wall -O3 -MT fuse_stat_struct.o -MD -MP -MF 
>>> .deps/fuse_stat_struct.Tpo -c -o fuse_stat_struct.o fuse_stat_struct.c
>>>      [exec] mv -f .deps/fuse_stat_struct.Tpo .deps/fuse_stat_struct.Po
>>>      [exec] gcc -DPACKAGE_NAME=\"fuse_dfs\" -DPACKAGE_TARNAME=\"fuse_dfs\" 
>>> -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"fuse_dfs\ 0.1.0\" 
>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -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 -DGETGROUPS_T=gid_t -DHAVE_GETGROUPS=1 
>>> -DGETGROUPS_T=gid_t -I.  -DPERMS=1 -D_FILE_OFFSET_BITS=64 -I/include 
>>> -I/Users/charlescearl/Development/hadoop-0.20.203.0/src/c++/libhdfs/ 
>>> -I/include/linux/ -D_FUSE_DFS_VERSION=\"0.1.0\" -DPROTECTED_PATHS=\"\" 
>>> -I/include   -Wall -O3 -MT fuse_users.o -MD -MP -MF .deps/fuse_users.Tpo -c 
>>> -o fuse_users.o fuse_users.c
>>>      [exec] fuse_users.c: In function ‘getGroups’:
>>>      [exec] fuse_users.c:183: warning: implicit declaration of function 
>>> ‘getgrouplist’
>>>      [exec] mv -f .deps/fuse_users.Tpo .deps/fuse_users.Po
>>>      [exec] gcc -DPACKAGE_NAME=\"fuse_dfs\" -DPACKAGE_TARNAME=\"fuse_dfs\" 
>>> -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"fuse_dfs\ 0.1.0\" 
>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -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 -DGETGROUPS_T=gid_t -DHAVE_GETGROUPS=1 
>>> -DGETGROUPS_T=gid_t -I.  -DPERMS=1 -D_FILE_OFFSET_BITS=64 -I/include 
>>> -I/Users/charlescearl/Development/hadoop-0.20.203.0/src/c++/libhdfs/ 
>>> -I/include/linux/ -D_FUSE_DFS_VERSION=\"0.1.0\" -DPROTECTED_PATHS=\"\" 
>>> -I/include   -Wall -O3 -MT fuse_init.o -MD -MP -MF .deps/fuse_init.Tpo -c 
>>> -o fuse_init.o fuse_init.c
>>>      [exec] fuse_connect.c: In function ‘doConnectAsUser’:
>>>      [exec] fuse_connect.c:40: error: too many arguments to function 
>>> ‘hdfsConnectAsUser’
>>>      [exec] make[1]: *** [fuse_connect.o] Error 1
>>>      [exec] make: *** [all-recursive] Error 1
>>>      [exec] mv -f .deps/fuse_init.Tpo .deps/fuse_init.Po
>>>      [exec] gcc -DPACKAGE_NAME=\"fuse_dfs\" -DPACKAGE_TARNAME=\"fuse_dfs\" 
>>> -DPACKAGE_VERSION=\"0.1.0\" -DPACKAGE_STRING=\"fuse_dfs\ 0.1.0\" 
>>> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -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 -DGETGROUPS_T=gid_t -DHAVE_GETGROUPS=1 
>>> -DGETGROUPS_T=gid_t -I.  -DPERMS=1 -D_FILE_OFFSET_BITS=64 -I/include 
>>> -I/Users/charlescearl/Development/hadoop-0.20.203.0/src/c++/libhdfs/ 
>>> -I/include/linux/ -D_FUSE_DFS_VERSION=\"0.1.0\" -DPROTECTED_PATHS=\"\" 
>>> -I/include   -Wall -O3 -MT fuse_connect.o -MD -MP -MF 
>>> .deps/fuse_connect.Tpo -c -o fuse_connect.o fuse_connect.c
>>> 
>>> BUILD FAILED
>>> /Users/charlescearl/Development/hadoop-0.20.203.0/build.xml:614: The 
>>> following error occurred while executing this line:
>>> /Users/charlescearl/Development/hadoop-0.20.203.0/src/contrib/build.xml:30: 
>>> The following error occurred while executing this line:
>>> /Users/charlescearl/Development/hadoop-0.20.203.0/src/contrib/fuse-dfs/build.xml:57:
>>>  exec returned: 2
>>> 
>>> 
>> 

Reply via email to