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 "Guillermo Cabrera (JIRA)" <ji...@apache.org> on 2010/11/10 19:11:16 UTC

[jira] Commented: (HADOOP-6924) Build fails with non-Sun JREs due to different pathing to the operating system architecture shared libraries

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

Guillermo Cabrera commented on HADOOP-6924:
-------------------------------------------

Simply extending the regular expression with an "OR" will not do the job for Apache Harmony. As a first problem, Harmony does not have such file, instead they have libharmonyvm.so. One could create a soft link to this file under libjvm.so


A change is needed in the path given to the 'find' command as the equivalent to libjvm.so

find . -name '*a*' | head -n 

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