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.



132648 Rate this article:
3.5

macOS Catalina 10.15, ENVI/IDL, and Legacy Java 6 Dependencies

This article addresses ENVI/IDL's current dependency on legacy Java 6 libraries. Java 6 is used by the IDL Development Environment, by ENVI, bridge processes, as well as some newer graphics routines. L3Harris Geospatial Development is working to move off this legacy Java 6 dependency, but for now you will require this version to be installed on your MacOS.

Java 6 cannot currently be installed on macOS 10.15 Catalina because there is a newer version of Java installed on the system. Attempts to reinstall legacy Java libraries upon upgrade of the OS may result in errors restricting installation. Some users have also experienced their previously existing legacy Java libraries have been moved or quarantined. This renders ENVI/IDL unusable. If you are seeing warning icons indicating you cannot place Java onto the disk because a newer version of the package is already installed, such as:

Or if you have installed IDL 8.7.3 or ENVI 5.5.3, and when you go to double-click on an IDL or ENVI icon within Finder, you receive an error, such as:
'To open "idle.darwin.x86_64" you need to install the legacy Java SE 6 runtime.'

You will need to install Legacy Java libraries to open ENVI/IDL. Click "More Info..." to visit the Apple download site to access this legacy Java dependency.

 

We have found a workaround provided below that has alleviated this issue for some users. This is an unofficial workaround and users should be aware to attempt this with knowledge that it is at their own risk. The workaround creates an AppleScript that removes the installation limits from Java for macOS 2017-001. The AppleScript creates a new modified Java installer package file, JavaPackageforModifiedforCatalina.pkg which should work for installation of Java 6. (NOTE: this article assumes the user has obtained in installed the legacy Java for OS X 2017-001 from Apple Support):

1. Open Script Editor. This can be found via Finder, by navigating to Applications > Utilities > Script Ediitor, or from Launchpad. The icon looks like this: 


2. If a new document doesn’t open up automatically, Select "New Document":

3. Copy the following text to the Script Editor Document:

set theDMG to choose file with prompt "Please select javaforosx.dmg:" of type {"dmg"}
do shell script "hdiutil mount " & quoted form of POSIX path of theDMG
do shell script "pkgutil --expand /Volumes/Java\\ for\\ macOS\\ 2017-001/JavaForOSX.pkg ~/tmp"
do shell script "hdiutil unmount /Volumes/Java\\ for\\ macOS\\ 2017-001/"
do shell script "sed -i '' 's/return false/return true/g' ~/tmp/Distribution"
do shell script "pkgutil --flatten ~/tmp ~/Desktop/ModifiedJava6Install.pkg"
do shell script "rm -rf ~/tmp"
display dialog "Modified ModifiedJava6Install.pkg saved on desktop" buttons {"Ok"}

 

4. Select Script > Compile from the menu, or select the "Hammer" button to ensure the above copy and pasted code compiles:

 

The text coloring will change to indicate it has compiled:


 

5. Select Script > Run from the menu, or select the "Arrow" run button in the menu bar. This will open a window prompting you to select the JavaForOSX.dmg file to create a modified JavaForOSX.pkg file:

Navigate to the location of this file, e.g. /Downloads and select JavaForOSX.dmg and hit "Choose":

 

 

The ModifiedJava6Install.pkg file will automatically save to your desktop.

6. Right-click on the ModifiedJava6Install.pkg file and select "Open With" to open with the default installer:

 

7. Run through the installer steps, accept the T&As, and when asked to select a Destination, you will now be able to move past the warning and select your Disk:

Click Continue and install - you will be prompted to enter your password. Once installation is successful, close the installer. This should work to enable adding legacy Java onto the Catalina Mac OS device, ultimately enabling you to use ENVI/IDL. A reboot should not be required upon completing the steps above.

8. Attempt to open up ENVI/IDL. You should be able to successfully open IDL Development Environment now that Java 6 is installed. If you run into issues, contact us.

 

NOTE: If issues persist and you are still unable to access ENVI/IDL, you may also need to reinstall XQuartz 2.7.11 after upgrading to macOS 10.15 Catalina. The suggested workflow can be found in this help article. Basic steps are as follows: 

A. Reinstall legacy Java using the above workaround suggestion
B. Reinstall XQuartz 2.7.11
C. Reboot the machine
D. Attempt to access ENVI/IDL

 

Written by Jenny Bloom - 2/14/2020

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 »