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