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

Allen Wittenauer commented on HADOOP-6924:
------------------------------------------

You really aren't looking for a specific library, you're really looking for the 
lib directory.  The easiest way to do this in a somewhat portable fashion is to 
ask the JVM directly.

I've uploaded a snippet of what I do locally to build libhadoop.so and 
libhadoop.dylib on my machines.  [The code I use is so radically different than 
what is in Hadoop that making it into a patch is too time consuming.]  You 
should be able to do the same thing with any JVM, you just need to determine 
what the proper system property is.  While this doesn't make it 'instantly' 
portable, it does it make much easier to add support for JREs after they have 
been vetted.  

For IBM's JRE, I believe the system property to look for is 
com.ibm.oti.vm.bootstrap.library.path .
                
> 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, 
> apjvmlibdir.m4
>
>
> 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

        

Reply via email to