X

Help Articles are product support tips and information straight from the NV5 Geospatial Technical Support team developed to help you use our products to their fullest potential.



10429 Rate this article:
1.0

IDL Workbench on Mac OS X Dependency On Java 6

PROBLEM:

IDL 8.3 and newer versions of the Workbench (IDLDE) for Mac OS X make use of Java 7 (Java 1.7), which is included as part of an IDL product installation. However, the Eclipse framework version (a custom version of Eclipse 3.7.2) on which the IDL Workbench is based, must still detect the presence of Java 6 (Java 1.6) on the system before it can run.

If Java 6 has not yet been installed on the system, then when the IDL Workbench is launched an error dialog may appear which indicates that Java 6 is needed to run the software but is not available.

Related Help Articles:

"Using IDL and ENVI on Mac OS X Requires X11/XQuartz"
http://harrisgeospatial.com/Support/SelfHelpTools/HelpArticles/HelpArticles-Detail/TabId/2718/ArtMID/10220/ArticleID/15782/Using-IDL-and-ENVI-on-Mac-OS-X-Requires-X11XQuartz.aspx

"XQuartz/X11 failing to launch automatically when running ENVI or IDL"
http://harrisgeospatial.com/Support/SelfHelpTools/HelpArticles/HelpArticles-Detail/TabId/2718/ArtMID/10220/ArticleID/15775/XQuartzX11-failing-to-launch-automatically-when-running-ENVI-or-IDL.aspx

SOLUTION:

To resolve this problem, follow the link provided on the error dialog to download and install Java 6 on your system.

ALTERNATIVE SOLUTIONS

If you don't wish to install Java 6, the following approaches have been used by some IDL users to work around the Java 6 dependency issue. Admin/sudo privileges are needed for these instructions.

Warning: The following procedure constitutes a workaround to the JRE 6 dependency issue for the IDL 8.5/8.4/8.3 Workbench. However, this is not an officially sanctioned Java or Apple solution for this problem. If you have questions or concerns about this workaround configuration, please consult your system administrator or a Mac/Java expert for advice. This approach may not work on all systems.


=========================================
Alternate approach #1 using Java *JDK* 1.8 or 1.7
=========================================
Example using Oracle Java JDK 1.8 Update 45:

Download and install the Java *JDK* package for (64-bit) Mac OS X from, for example:

    http://www.oracle.com/technetwork/java/javase/downloads/index.html

After installing the JDK package, edit the following file from the installation tree (with sudo privileges):

    /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Info.plist

Change the following section in Info.plist:

<key>JVMCapabilities</key>
<array>
  <string>CommandLine</string>
</array>

to:

<key>JVMCapabilities</key>
<array>
  <string>JNI</string>
  <string>BundledApp</string>
  <string>WebStart</string>
  <string>Applets</string>
  <string>CommandLine</string>
</array>

Save the changes to the file and then reboot the system (or perhaps just logout/login).

=========================================
Alternate approach #2 using Java 1.7
=========================================

  a.) Download Java SE 7 Runtime (JRE) or Java SE Development Kit 7 (JDK) for 64-bit Mac OS X from the Java (www.java.com) or Oracle (www.oracle.com) web sites and install the library package as instructed. 

  b.) After installing Java 7, from a Terminal window session, issue the following command to check for the presence of a directory:

      ls /System/Library/Java/JavaVirtualMachines

  If not found, create the missing directory with a command like:

      sudo mkdir /System/Library/Java/JavaVirtualMachines  

  If the "/System/Library/Java" directory is also not present, you may need to create the "Java" directory before creating the "JavaVirtualMachines" directory

  c.) Create a symbolic link:

  JDK 7:

  Next, from the Terminal session, create a symbolic link to the main Java 7 library directory, using a Java 6 directory link name. For example, for JDK 7u51, issue the following command(one single, long line):

      sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

  JRE 7:

  Alternatively, to do this with JRE 7u51 (one long command, where the space in the directory name "Internet Plug-Ins" is escaped with a "\" character):

      sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

  d.) To confirm the proper creation of the symbolic link, issue the following command:

      ls -l /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

  For JDK 7u51, the output would look something like this:

      lrwxr-xr-x 1 root wheel 49 Mar 10 13:13 1.6.0.jdk -> /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk

  Or for JRE 7u51:

       lrwxr-xr-x 1 root wheel 50 Mar 10 12:39 1.6.0.jdk -> /Library/Internet Plug-Ins/JavaAppletPlugin.plugin  

At this point, the IDL Workbench should be able to launch without encountering a Java 6 dependency error.

 

[ Reference IDL-68845 ]

Reviewed by JU (10/17/2014), KK; Updated by JU (8/4/2015)

Please login or register to post comments.
Featured

End-of-Life Policy Enforcement for ENVI 5.3 / IDL 8.5 and Earlier Versions

5/6/2024

April 1, 2024 Dear ENVI/IDL Customer,  We are reaching out to notify you of our supported... more »

How to Upgrade licenses to ENVI 6.x / IDL 9.x

12/5/2023

What is the new Upgrade function? Starting with ENVI 6.0 and IDL 9.0, we have implemented an... more »

What to do if the 'License Administrator - License Server' for the Next-Generation License Server does not start?

6/13/2023

Background: With the release of ENVI 5.7 & IDL 8.9 and the corresponding Next-Generation licensing... more »

Next-Generation Licensing FAQ

4/28/2023

  NV5 Geospatial has adopted a new licensing technology for all future releases of our ENVI, IDL... more »

The IDL Virtual Machine

6/6/2013

What is the IDL Virtual Machine? An IDL Virtual Machine is a runtime version of IDL that can... more »