hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eli Collins (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-6924) Build fails with non-Sun JREs due to different pathing to the operating system architecture shared libraries
Date Sun, 18 Mar 2012 19:38:41 GMT

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

Eli Collins commented on HADOOP-6924:
-------------------------------------

bq. the first libjvm.so should be considered (the user doing the build should ensure that
the intended libjvm is the first one).

Why? How would the user doing the build ensure the one they want is first w/o modifying the
build? Seems like that would require them to delete whatever libjvm.so files showed up first
(yuck).

Why not just add both JAVA_HOME/jre/lib/OS_ARCH/server/libjvm.so and JAVA_HOME/jre/lib/OS_ARCH/default/libjvm.so
to the library path? It's simpler than this path and doesn't potentially change which libjvm.so
is currently being picked on some systems.
                
> Build fails with non-Sun JREs due to different pathing to the operating system architecture
shared libraries
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-6924
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6924
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 0.20.0, 0.20.1, 0.20.2, 0.21.0
>         Environment: SLES 10, IBM Java 6
>            Reporter: Stephen Watt
>         Attachments: 6924-1.patch, HADOOP-6924-v2.patch, HADOOP-6924.patch
>
>
> The src/native/configure script used to build the native libraries has an environment
variable called JNI_LDFLAGS which is set as follows:
> JNI_LDFLAGS="-L$JAVA_HOME/jre/lib/$OS_ARCH/server"
> This pathing convention to the shared libraries for the operating system architecture
is unique to Oracle/Sun Java and thus on other flavors of Java the path will not exist and
will result in a build failure with the following exception:
>      [exec] gcc -shared  ../src/org/apache/hadoop/io/compress/zlib/.libs/ZlibCompressor.o
../src/org/apache/hadoop/io/compress/zlib/.libs/ZlibDecompressor.o  -L/home/hadoop/Java-Versions/ibm-java-i386-60/jre/lib/x86/server
-ljvm -ldl  -m32 -m32 -Wl,-soname -Wl,libhadoop.so.1 -o .libs/libhadoop.so.1.0.0
>      [exec] /usr/lib/gcc/i586-suse-linux/4.1.2/../../../../i586-suse-linux/bin/ld: cannot
find -ljvm
>      [exec] collect2: ld returned 1 exit status

--
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