hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Isaacson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-8333) src/contrib/fuse-dfs build fails on non-Sun JVM environments
Date Fri, 06 Jul 2012 21:38:35 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-8333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13408377#comment-13408377
] 

Andy Isaacson commented on HADOOP-8333:
---------------------------------------

Since HADOOP-8368 on trunk (which switched us from automake to CMake), this is not an issue
on OpenJDK at least.  I realize that doesn't help much on branch-1 though...
                
> src/contrib/fuse-dfs build fails on non-Sun JVM environments
> ------------------------------------------------------------
>
>                 Key: HADOOP-8333
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8333
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 1.0.2
>         Environment: IBM Java 6 
>            Reporter: Kumar Ravi
>
> src/contrib/fuse-dfs build failure when building in IBM Java 6 environment. The message
on the console when the build aborts is:
>  [exec] /usr/bin/ld: cannot find -ljvm
>      [exec] collect2: ld returned 1 exit status
>      [exec] make[1]: *** [fuse_dfs] Error 1
>      [exec] make[1]: Leaving directory `/home/hadoop/branch-1.0_0427/src/contrib/fuse-dfs/src'
>      [exec] make: *** [all-recursive] Error 1
> The reason this seems to be happening is because of the last line in src/contrib/fuse-dfs/src/Makefile.am
> AM_LDFLAGS= -L$(HADOOP_HOME)/build/libhdfs -lhdfs -L$(FUSE_HOME)/lib -lfuse -L$(JAVA_HOME)/jre/lib/$(OS_ARCH)/server
-ljvm
> For hadoop to build on IBM Java, this last line should read as follows since this is
where the libjvm library resides
> AM_LDFLAGS= -L$(HADOOP_HOME)/build/libhdfs -lhdfs -L$(FUSE_HOME)/lib -lfuse -L$(JAVA_HOME)/jre/lib/$(OS_ARCH)/j9vm
-ljvm
> IMO, Changes like the following will need to be made to src/contrib/fuse-dfs/configure.ac
(?) to include changes similar to that in src/native/ to check for the appropriate JVM and
configure the appropriate path for ljvm.
> dnl Check for '-ljvm'
> JNI_LDFLAGS=""
> if test $JAVA_HOME != ""
> then
>   JNI_LDFLAGS="-L$JAVA_HOME/jre/lib/$OS_ARCH/server"
>   JVMSOPATH=`find $JAVA_HOME/jre/ -name libjvm.so | head -n 1`
>   JNI_LDFLAGS="$JNI_LDFLAGS -L`dirname $JVMSOPATH`"
> fi
> ldflags_bak=$LDFLAGS
> LDFLAGS="$LDFLAGS $JNI_LDFLAGS"
> AC_CHECK_LIB([jvm], [JNI_GetCreatedJavaVMs])
> LDFLAGS=$ldflags_bak
> AC_SUBST([JNI_LDFLAGS])
> # Checks for header files.
> dnl Check for Ansi C headers
> AC_HEADER_STDC
> dnl Check for other standard C headers
> AC_CHECK_HEADERS([stdio.h stddef.h], [], AC_MSG_ERROR(Some system headers not found...
please ensure their presence on your platform.))
> dnl Check for JNI headers
> JNI_CPPFLAGS=""
> if test $JAVA_HOME != ""
> then
>   for dir in `find $JAVA_HOME/include -follow -type d`
>   do
>     JNI_CPPFLAGS="$JNI_CPPFLAGS -I$dir"
>   done
> fi
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message