hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Watt (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HADOOP-6924) Build fails with non-Sun JREs due to different pathing to the operating system architecture shared libraries
Date Mon, 30 Aug 2010 19:17:55 GMT

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

Stephen Watt updated HADOOP-6924:
---------------------------------

    Attachment: HADOOP-6924.patch

This is a one line fix that identifies the location of the appropriate libjvm.so file. For
Sun systems this is under the jre/lib/$OS_ARCH/server folder for IBM JREs this is under the
jre/lib/$OS_ARCH/classic folder. Non-Sun JREs do not have a sun.boot.library.path environment
variable that can be relied upon. 

This is also easily extensible as other JREs (such as Apache Harmony) can simply extend the
regular expression by adding in an "OR" expression for a folder that is unique to their JRE.

> 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
>             Fix For: 0.20.3, 0.21.1, 0.22.0
>
>         Attachments: 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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message