Hi all,
I’m trying to compile the hadoop-1.0.3 source code using the command:
ant package -Djava5.home=$JAVA_HOME -Dforrest.home=$FORREST_HOME
It failed. The fail log is as follows. Can anyone tell me how to solve it?
Thanks.
[exec] depbase=`echo impl/task-controller.o | sed
's|[^/]*$|.deps/&|;s|\.o$||'`;\
[exec] gcc -DPACKAGE_NAME=\"linux-task-controller\"
-DPACKAGE_TARNAME=\"linux-task-controller\" -DPACKAGE_VERSION=\"1.0.0\"
-DPACKAGE_STRING=\"linux-task-controller\ 1.0.0\"
-DPACKAGE_BUGREPORT=\"[email protected]<mailto:[email protected]>\"
-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 -D__EXTENSIONS__=1
-D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_TANDEM_SOURCE=1
-DPACKAGE=\"linux-task-controller\" -DVERSION=\"1.0.0\" -DHAVE_DLFCN_H=1
-DLT_OBJDIR=\".libs/\" -DHAVE_UNISTD_H=1 -DHAVE__BOOL=1 -DHAVE_STDBOOL_H=1
-DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_MKDIR=1 -DHAVE_UNAME=1 -I.
-I/usr/local/hadoop-1.0.3/src/c++/task-controller
-I/usr/local/hadoop-1.0.3/src/c++/task-controller/impl -Wall -g -Werror
-DHADOOP_CONF_DIR=/etc/hadoop -MT impl/task-controller.o -MD -MP -MF
$depbase.Tpo -c -o impl/task-controller.o
/usr/local/hadoop-1.0.3/src/c++/task-controller/impl/task-controller.c &&\
[exec] mv -f $depbase.Tpo $depbase.Po
[exec]
/usr/local/hadoop-1.0.3/src/c++/task-controller/impl/task-controller.c:80:15:
error: use of undeclared identifier 'PATH_MAX'
[exec] char buffer[PATH_MAX];
[exec] ^
[exec]
/usr/local/hadoop-1.0.3/src/c++/task-controller/impl/task-controller.c:82:27:
error: use of undeclared identifier 'PATH_MAX'
[exec] char *filename = malloc(PATH_MAX);
[exec] ^
[exec]
/usr/local/hadoop-1.0.3/src/c++/task-controller/impl/task-controller.c:88:21:
error: use of undeclared identifier 'PATH_MAX'
[exec] } else if (len >= PATH_MAX) {
[exec] ^
[exec]
/usr/local/hadoop-1.0.3/src/c++/task-controller/impl/task-controller.c:90:13:
error: use of undeclared identifier 'PATH_MAX'
[exec] PATH_MAX, filename, PATH_MAX);
[exec] ^
[exec]
/usr/local/hadoop-1.0.3/src/c++/task-controller/impl/task-controller.c:892:3:
error: implicit declaration of function 'fcloseall' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
[exec] fcloseall();
[exec] ^
[exec]
/usr/local/hadoop-1.0.3/src/c++/task-controller/impl/task-controller.c:892:3:
note: did you mean 'fclose'?
[exec] /usr/include/stdio.h:232:6: note: 'fclose' declared here
[exec] int fclose(FILE *);
[exec] ^
[exec] 5 errors generated.
[exec] make: *** [impl/task-controller.o] Error 1
BUILD FAILED
/usr/local/hadoop-1.0.3/build.xml:1598: The following error occurred while
executing this line:
/usr/local/hadoop-1.0.3/build.xml:2781: exec returned: 2
Total time: 1 minute 37 seconds
Bo Fu
Master’s Program of Computer Science, University of Chicago