Article Title: Installer fails due to Legacy Java 6 dependency
Article Name: MAC_OSX_5
OS Platforms: Mac OS X
Last Updated: 9/15/2021

TOPIC:

The RiverTools 4.* installer may fail on MacOS versions 10.* and 11.*. The error message may be: "Library not loaded: /System/Library/PrivateFrameworks/JavaApplicationLauncher.framework/ Versions/A/JavaApplicationLauncher"

DISCUSSION:

The RiverTools 4 installer is built using InstallAnywhere from Flexera, and depends on a legacy version of Java. MacOS versions 10.* and 11.* include their own, newer version of Java which is incompatible with the installer.

1. Make sure you have the latest version of XQuartz installed.

If XQuartz is already installed on your system, you will find it in the /Applications/Utilities folder. Click on "XQuartz.app" to start the app. (You may need to click on its icon in the dock to select it as the current app.) In the top left corner of your screen, click on XQuartz and choose "Check for X11 Updates...".

If XQuartz has not yet been installed, download and install the latest version from the XQuartz website.

2. Download and install legacy Java for OS X 2017-001.

This installer is described and can be downloaded from: Java for OSX 2017-001. You will download a file called "JavaForOSX.dmg". After you click on it an installer file called "ModifiedJava6Install.pkg" will appear on your desktop. Click on it to run the installer. If this installer fails to run, the following article describes a work-around that may allow you to get it to work: Legacy Java 6 Dependencies. You may need to reboot your Mac afterwards.

You may now want to check a few things. First, open a command terminal by clicking on Terminal.app in the /Applications/Utilities folder. At the command prompt, type "which java" to see if java is now available somewhere in your path. (You can type "echo $PATH" to see your path.) If it is, the result will likely be: "/usr/bin/java". However, if you type "ls -l /usr/bin/java", you will see that this is actually a symbolic link (like an alias) to:
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java.

If Java is available, you can then type "java -version" to print the version. The result should look something like:

java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode)
To find out which JVMs (i.e. java versions) are installed, you can type:
cd /Library/Java/JavaVirtualMachines
ls
If the legacy Java 6 is installed, you should see a folder named: 1.6.0.jdk. The subfolder Contents/Libraries contains library files (some ending in .dylib) associated with this version. If you also have other versions of Java (i.e. other folders ending in .jdk), you can hide them by renaming them with a command similar to this one:
sudo mv 1.7.0.jdk 1.7.0.jdk.HIDE
Hiding them like this is reversible and preferable to deleting them.

3. Try to run the RiverTools 4.0 installer again.

Click on the RiverTools 4.0 installer (install.app) to run it. You may see a message saying "install.app was blocked from use because it is not from an identified developer." If so, click on the Apple icon in the top left corner of your screen, then choose System Preferences > Security & Privacy > Open Anyway. This may require administrator privileges. If RiverTools 4.0 is installed successfully you will see a folder in the Applications folder called "RiverTools_4.0".

4. Try to run the RiverTools 4.0 application.

You can launch RiverTools by clicking on the shortcut on your desktop, or the shortcut in /Applications/RiverTools_4.0, or by clicking on the application file itself, which is: /Applications/RiverTools_4.0/idl_rt/RiverTools.app. If RiverTools fails to launch, you may need to perform the steps described in: Tech Tip MAC_OSX_3 and/or Tech Tip MAC_OSX_4.

After completing all of these steps, you should be able to launch RiverTools 4.0 normally.


If you have any additional questions or comments, please contact Rivix Technical Support for assistance.

Copyright (C) RIVIX, LLC. 1998-2021