You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Colin Patrick McCabe (JIRA)" <ji...@apache.org> on 2013/08/08 20:44:50 UTC

[jira] [Updated] (HADOOP-9435) Support building the JNI code against the IBM JVM

     [ https://issues.apache.org/jira/browse/HADOOP-9435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Colin Patrick McCabe updated HADOOP-9435:
-----------------------------------------

    Fix Version/s:     (was: 2.3.0)
                   2.1.1-beta
    
> Support building the JNI code against the IBM JVM
> -------------------------------------------------
>
>                 Key: HADOOP-9435
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9435
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: build
>            Reporter: Tian Hong Wang
>            Assignee: Tian Hong Wang
>              Labels: patch
>             Fix For: 2.1.1-beta
>
>         Attachments: HADOOP-9435.patch, HADOOP-9435-v1.patch
>
>
> When native build hadoop-common-project with IBM java using command like: 
> mvn package -Pnative
> it will exist the following errors.
>      [exec] -- Configuring incomplete, errors occurred!
>      [exec] JAVA_HOME=, JAVA_JVM_LIBRARY=/home/louis/ibm-java-i386-60/jre/lib/i386/classic/libjvm.so
>      [exec] JAVA_INCLUDE_PATH=/home/louis/ibm-java-i386-60/include, JAVA_INCLUDE_PATH2=JAVA_INCLUDE_PATH2-NOTFOUND
>      [exec] CMake Error at JNIFlags.cmake:113 (MESSAGE):
>      [exec]   Failed to find a viable JVM installation under JAVA_HOME.
>      [exec] Call Stack (most recent call first):
>      [exec]   CMakeLists.txt:24 (include)
> The reason is that IBM java uses $JAVA_HOME/include/jniport.h instead of $JAVA_HOME/include/jni_md.h in non-IBM java.
> [exec] /usr/lib/jvm/java-1.6.0-ibm-1.6.0.12.0.x86_64/jre/lib/amd64/default/libjvm.so: undefined reference to `dlsym'
>      [exec] /usr/lib/jvm/java-1.6.0-ibm-1.6.0.12.0.x86_64/jre/lib/amd64/default/libjvm.so: undefined reference to `dlerror'
>      [exec] /usr/lib/jvm/java-1.6.0-ibm-1.6.0.12.0.x86_64/jre/lib/amd64/default/libjvm.so: undefined reference to `dladdr'
>      [exec] /usr/lib/jvm/java-1.6.0-ibm-1.6.0.12.0.x86_64/jre/lib/amd64/default/libjvm.so: undefined reference to `dlopen'
>      [exec] /usr/lib/jvm/java-1.6.0-ibm-1.6.0.12.0.x86_64/jre/lib/amd64/default/libjvm.so: undefined reference to `dlclose'
>      [exec] collect2: ld returned 1 exit status
>      [exec] make[2]: *** [test_libhdfs_ops] Error 1
>      [exec] make[1]: *** [CMakeFiles/test_libhdfs_ops.dir/all] Error 2
>      [exec] make: *** [all] Error 
> The reason is libjvm.so need libdl when linking.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira