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

Steve Loughran commented on HADOOP-8737:
----------------------------------------

I don't think this will always work.

{{JAVA_HOME}} is often set to JVM-home, whereas if you want jni.h then you need 
{{JDK_HOME}}, which is not so formally defined. 

Maven, Ant, etc find {{JAVA_HOME}} from whatever env variable is defined, 
falling back to some guesswork -but they are often happy with just the JRE. 

Assuming that {{JAVA_HOME}} always points to a JDK with the jni.h file in a 
specific subdir is very brittle. At the least, the logic should use a JDK_HOME 
env var which would be set to JAVA_HOME iff the env var had not already been 
set.
                
> cmake: always use JAVA_HOME to find libjvm.so, jni.h, jni_md.h
> --------------------------------------------------------------
>
>                 Key: HADOOP-8737
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8737
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: native
>    Affects Versions: 2.2.0-alpha
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>            Priority: Minor
>         Attachments: HADOOP-8737.001.patch
>
>
> We should always use the {{libjvm.so}}, {{jni.h}}, and {{jni_md.h}} under 
> {{JAVA_HOME}}, rather than trying to look for them in system paths.  Since we 
> compile with Maven, we know that we'll have a valid {{JAVA_HOME}} at all 
> times.  There is no point digging in system paths, and it can lead to host 
> contamination if the user has multiple JVMs installed.

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

Reply via email to