You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by Nikolaos Hatzopoulos <nh...@gmail.com> on 2012/02/16 22:25:20 UTC

FUSE compile

Hi People,


the secrete recipe to compile FUSE is for Centos x86_64:

I download hadoop stable: 0.20.203

compile script:
#!/bin/bash
export CFLAGS=-m64
export CXXFLAGS=-m64
ant \
-Dforrest.home=/home/arion/forrest/apache-forrest-0.9 \
-Djava5.home=/home/arion/java/jdk1.5.0_22 \
-Dfindbugs.home=/home/arion/findbugs/findbugs-2.0.0 \
-Dversion=20.203.0 \
-Dhadoop.version=20.203.0 \
-Dcompile.native=true \
-Dcompile.c++=true \
-Dlibhdfs=true \
-Dfusedfs=true \
-Dlibrecordio=true \
compile-core-native compile-c++ compile-c++-libhdfs compile-contrib

and you have to link the libraries to a directory:

cd hadoop-0.20.203.0/build/libhdfs
ln -s ../c++/Linux-amd64-64/lib/lib*

and also apply this patch because there is an error on compiling for my
version:

1267-1.patch

Index: src/contrib/fuse-dfs/src/fuse_connect.c
===================================================================
--- src/contrib/fuse-dfs/src/fuse_connect.c    (revision 957810)
+++ src/contrib/fuse-dfs/src/fuse_connect.c    (working copy)
@@ -37,7 +37,7 @@
     return NULL;
   int numgroups = 0;
   char **groups = getGroups(uid, &numgroups);
-  hdfsFS fs = hdfsConnectAsUser(hostname, port, user, (const char
**)groups, numgroups);
+  hdfsFS fs = hdfsConnectAsUser(hostname, port, user);
   freeGroups(groups, numgroups);
   if (user)
     free(user);


If someone can uploaded as a documentation for FUSE I'll be glad

--Nikos Hatzopoulos