|
Installation and Licensing Guide: Licensing IDL and ENVI |
|
If your license type requires a license manager, you must ensure that the license manager is running. The license wizard will step you through the process of installing the license manager and configuring your system so that it starts automatically. This section describes how to start the license manager manually or configure it to start automatically if you are not using the license wizard.
| Note If the license unit count on your license.dat file's INCREMENT line is "0" or "uncounted," then you do not need to start the license manager. |
On Windows platforms, the LMTools support utility lets you start, stop, and see the status of the license manager. (The license wizard also starts LMTools.) You must have Administrator privileges. To start the license manager on Windows:
Starting the license manager requires no special privileges on Unix and Macintosh. Note the potential security ramifications of running the license manager from a privileged account such as root or Administrator, as it can be started by any user. However, special privileges are required to shut down the license manager. See Stopping the License Manager for more information.
On UNIX and Macintosh platforms, start the license manager by entering the following:
ITT_DIR/idlxx/bin/lmgrd [-c license_path]
where ITT_DIR is the directory where you have installed IDL or ENVI, and license_path is the full pathname to the license file, including the license filename. The default license path is ITT_DIR/license/license.dat. If you have used this default location or have defined the LM_LICENSE_FILE environment variable (as described in Configuring Client Access to the License Manager), you do not need to specify the -c license_path option, although it is recommended to avoid ambiguity.
If you have more than a single FLEXlm license manager running on a server, conflicts might exist among the License Managers. Before starting the license manager, see Using the Same License Manager for Different Applications for more detailed information on customizing your license file.
In most cases, you want the license manager to start automatically each time your system starts. This ensures that the system can provide a license when one is requested.
This section describes how to configure the license manager to start automatically on UNIX and Macintosh platforms if you are not using the license wizard. (The license wizard automatically performs these steps.)
Use one of the following methods to configure the license manager to start at boot time (root privileges are required).
The boot-time startup script works with all supported operating systems. Consequently, if you have previously configured a system boot-time script that is different than the sys5_idl_lmgrd script, after you have installed the IDL or ENVI boot-time startup script, be sure to modify your other boot-time script so that a second instance of the license manager will not be started on the same system. Running two instances of the license manager on the same system causes a conflict that prevents the license manager from working correctly.
To check the license manager status:
SERVER line of the license file used to start the license manager service. For example, if the SERVER line looks like the following:SERVER myserver 12345678 1700
Then the hostname is myserver and the TCP/IP port is 1700.
idlxx\bin\bin.<platform> directory of your IDL or ENVI installation. For example:
cd /d C:\Program Files\ITT\idlxx\bin\bin.x86
lmutil lmstat command at the prompt. For example:lmutil lmstat -a -c 1700@myserver
Where the TCP/IP value and server hostname are determined in Step 1.
The lmstat program provides information about the status of the server nodes, license managers, and currently checked out licenses. To run lmstat, change to your ITT_DIR/idlxx/bin directory, and enter a command using the following syntax:
lmstat [-a] [-A] [-c license_file] [-s [server]]
For example: lmstat -a -c 1700@myserver
Optional flags for lmstat are shown in Table 6-1.
Note that IDL might use a license source different from LM_LICENSE_FILE if IDL_LMGRD_LICENSE_FILE is defined in a .flexlmrc file (in the user's home directory that starts the license service) or as an environment variable.
To stop the license manager:
Administrative privileges may be required.
The lmdown program initiates a shutdown of all license managers by sending a message to every license manager asking it to shut down. The license managers write out their last messages to the log file, close the file, and exit. All licenses which have been given out by those managers are rescinded, so that the next time an IDL or ENVI process verifies its license, it will not be valid.
To run lmdown, change to your ITT_DIR/idlxx/bin directory and type lmdown at the UNIX prompt following the syntax below:
lmdown [-c license_file] [-q]
Option arguments include -c, which defines the path to your license.dat file and -q, which runs lmdown in "quiet mode." If you do not specify the -q switch, lmdown asks for confirmation before asking the license managers to shut down. If this switch is specified, lmdown does not ask for confirmation. It is recommended that you use the -c option to explicitly specify the license file or port@host reference when stopping the license manager, especially when multiple license managers are running on your network (for example: lmdown -c 1700@myserver).
Unauthorized use of the lmdown command can be disruptive; when the license manager shuts down, all current IDL or ENVI sessions are terminated. You should ensure that the file access modes on your system are sufficiently restrictive. It is recommended that you set the permissions for lmdown using the following UNIX command:
chmod 500 ITT_DIR/idlxx/bin/lmdown
The license manager writes a log of its activities to its standard output. If you do not want to keep a log, you can redirect the standard output to the null device (/dev/null) by starting the license manager with the command:
ITT_DIR/idlxx/bin/lmgrd > /dev/null
It is also possible to direct the log to the system console with the command:
ITT_DIR/idlxx/bin/lmgrd > /dev/console
If you want to keep a permanent log file, you should choose a location on your system where a growing log will not cause disk space problems. On Sun systems, the /var/adm directory is a reasonable choice.
If you are running licensed IDL or ENVI when the machine crashes, the license that was in use might not be returned to the server. In this case, the license is not available to other users. The lmremove program allows the system administrator to remove a single user's license for a specified feature and allows the license to return to the pool of available licenses.
Do not use lmremove to return a license that is being used by an active IDL or ENVI session. Use the command only to reclaim licenses from sessions that are no longer active.
To free a license, first gather information using the status command, lmstat. To run lmstat, change to your ITT_DIR/idlxx/bin directory and type:
lmstat -A | more
This shows the status of License Managers as well as checked-out licenses. For example the following line shows user "robin" has a license for IDL checked out from the server "hal7," which is being displayed on the host "josh":
robin hal7 josh/:0 (vx.x) (hal7/1700/395), start Mon 10/12 4:34, #
licenses
The format of this line is:
userhostdisplay(version) (host/port/license_handle),start_date,#_of_available_licenses
To free the license held by user "robin," note the user, host, and display values. Then remove the license with the following lmremove syntax:.
lmremove idl robin hal7 josh/:0
where idl (or envi) is the feature, robin is the user, hal7 is the host, and josh/:0 is the display. Other feature values appear in the table below. You can check to make sure the license was freed by typing the following at the UNIX command prompt:
lmstat -A | more
The license you just removed should no longer appear in the list of licenses checked out.
To determine the possible values of the feature parameter, inspect the license.dat file.
The lmhostid program obtains a unique FLEXlm host ID from your machine. To run lmhostid, change to the directory, ITT_DIR/idlxx/bin, and type lmhostid at the UNIX prompt. The output of lmhostid looks like this:
lmhostid - Copyright (C) 1989-1999 Globetrotter Software, Inc. The FLEXlm host ID of this machine is "8002add0"
The system hostid command might not return the same required FLEXlm value that the lmhostid command returns.
In many cases, you can run older versions of IDL or ENVI concurrently with the most recent version. If a FEATURE line has the version number 6.400, for example, it will allow IDL 6.4 and all earlier versions of IDL to run. In some cases, new license manager capabilities such as the INCREMENT line might prevent older versions of IDL or ENVI from working with the latest version of the license manager.
You should start the license manager from the latest IDL/ENVI distribution and use the same license file for the older IDL/ENVI distribution. The old IDL/ENVI license information should not be combined with the new license information. The license manager should only be started once from the new distribution. It should not be started from an old IDL/ENVI distribution.
Macrovision's FLEXible license manager (FLEXlm) is used as the network license management facility for IDL and ENVI. Since this license manager is not unique to ITT Visual Information Solutions software, you may need to run software from two or more software vendors that all use FLEXlm. In this case, the potential for license manager conflicts exists.
You have the following options if all products using FLEXlm are installed on the same license server:
If IDL/ENVI and other vendor products also using FLEXlm will all be using the same license server to administer licenses, and if all of the vendor license files are compatible, you can combine the license files in a single license file.
Different FLEXlm vendor licenses are compatible for combination if the LMHostid value on the SERVER line for each file is exactly the same. For example, if the SERVER line in two different vendor license files is the following:
SERVER server1.acme.com 12345678 1700
and
SERVER server1 12345678 1800
You can combine the licenses into a single license file using either of the SERVER lines above, because the third item is the same in both (12345678).
Manually combining the information from multiple separated ITT Visual Information Solutions license.dat files that contain a SERVER line will invalidate the license and prevent the license manager from running. The newest version of our product license file will normally work with previous versions of the supported products.
After shutting down the license servers, use a text editor to create a single license file. In this single license file, combine all license files by taking the SERVER lines from any one license file and adding all the DAEMON, FEATURE, FEATURESET, and INCREMENT lines from all of the license files.
Place copies of this combined license file in the locations required by the various software vendors. Alternatively, a single copy of the license file can be located in any convenient location, in which case each client machine must set the LM_LICENSE_FILE environment variable to point to it. For more information, see Configuring Client Access to the License Manager.
When you have edited the license file and saved it in the appropriate locations, restart the license manager with the most recent version of lmgrd that you have installed. To determine the version of lmgrd.exe:
cd command) to ITT_DIR\idlxx\bin.<platform>, where ITT_DIR is the main installation directory.
lmgrd -version
If an older version of lmgrd is used, the license manager from the product with a more recent lmgrd will not operate correctly.
Changes to an altered license file will not take effect until the license manager is restarted using that license file.
IDL might use a license source different from LM_LICENSE_FILE if IDL_LMGRD_LICENSE_FILE is defined in a .flexlmrc file or as an environment variable. For more information, see License Sources.
If you are on a client machine, you can also set your environments to point to the port@host setting of the license server.
After saving the license files in the appropriate locations, restart the license manager with the most recent version of lmgrd that you have installed. If an older version of lmgrd is used, the license manager from the product with a more recent lmgrd will not operate correctly. To determine the version of lmgrd, run the lmgrd program with the -version switch. For example:
/usr/local/itt/idlxx/bin/lmgrd -version
If you do not combine license files or if the vendor license files are not compatible, you have the option of starting a separate license manager for each vendor's license file on the same single license server.
As an alternative to combining the license information from multiple vendors licenses and running a single instance of the FLEXlm license manager service, you can install and start a separate instance of the FLEXlm license manager service (with a unique name) for each separate vendor's license file.
Using separate instances of the FLEXlm license manager service with separate vendor licenses requires administering multiple services and license files. However, multiple license manager services and separate vendor license files let the system administrator stop and start FLEXlm services freely for particular vendors without regard for other vendors' FLEXlm services running on that same system.
| Note Be certain that only one instance of the FLEXlm license manager will start on the server machine with respect to any IDL or ENVI license file. If an instance of FLEXlm license manager service is already running for IDL or ENVI on this same license server, then installing a second instance of the FLEXlm service for IDL or ENVI under a different name can cause a conflict when Windows is loaded. (To resolve such a conflict, quickly stop all but one of the conflicting FLEXlm services immediately after logging on to that license server.) |
If the products use different server sessions, a local or shared network copy of each vendor license file is required on each client machine, or a port@host reference might be necessary. The copy of the license file or port@host reference directs the request for a license to the proper server. You will also need to set the existing LM_LICENSE_FILE variable to include the new product's license file path or a port@host reference.
After verifying that there is not already an IDL or ENVI configured license manager service running on your server machine, you can configure a uniquely named instance of the license manager service for IDL or ENVI to avoid conflict with other vendors' license managers. To install a unique instance of the FLEXlm license manager for an IDL or ENVI product license file:
lmgrd.exe (located in ITT_DIR\idlxx\bin.<platform>) and license.dat (located in ITT_DIR\License), where ITT_DIR is the main installation directory. If not already created, the Debug Log File, typically saved in the License directory, will be created when the license manager is started. The Browse buttons can help to ensure that the file path entered is valid.
IDL might use a license source different from LM_LICENSE_FILE if IDL_LMGRD_LICENSE_FILE is defined in a .flexlmrc file or as an environment variable. For more information, see License Sources.
For example, if you have an existing product named otherapp residing in the home directory, the LM_LICENSE_FILE environment variable would be defined as follows:
For C shell:
setenv LM_LICENSE_FILE /home/otherapp/license.dat
For Korn or Bash shell:
export LM_LICENSE_FILE=/home/otherapp/license.dat
Add an IDL or ENVI license file to the existing LM_LICENSE_FILE variable by separating the new application's license path from the existing one with a colon as follows:
For C shell (enter the following command as one line):
setenv LM_LICENSE_FILE /home/otherapp/license.dat:ITT_DIR/license/license.dat
For Korn or Bash shell (enter the following command as one line):
export LM_LICENSE_FILE= /home/otherapp/license.dat:ITT_DIR/license/license.dat
Where ITT_DIR is the installation directory.
If a local or network copy of the license file is not available, you can use a port@host reference in the LM_LICENSE_FILE definition. For example:
For C shell
setenv LM_LICENSE_FILE /home/otherapp/license.dat:1700@server1
For Korn or Bash shell
export LM_LICENSE_FILE=/home/otherapp/license.dat:1700@server1
Restart the license manager with the most recent version of lmgrd that you have installed. The version number of lmgrd is displayed when it is started. You can also determine the version by running the lmgrd -version command. If an older version of lmgrd is used, the license manager daemon that uses the product with a more recent version of FLEXlm will not operate correctly.
For starting and stopping the license manager in an environment that has multiple license servers running, it is recommended that you use the -c switch for lmgrd to specify which license server you want to reference. For example, to start the license manager with respect to an ITT Visual Information Solutions license file in the default location, issue the following command (as one line):
/usr/local/itt/idlxx/bin/lmgrd -c
/usr/local/itt/license/license.dat
It is strongly recommended that you save your license file with the default path and filename:
Windows:
ITT_DIR\License\license.dat
UNIX and Macintosh:
ITT_DIR/license/license.dat
Where ITT_DIR is the root installation directory.
If you put your license file in this directory, you do not have to redefine any environment variables.
If you choose a location other than these for the license file, it must be accessible to the IDL or ENVI program that you installed on your machine. Therefore, you must define the environment variable LM_LICENSE_FILE to point to the actual path of the license file prior to using IDL or ENVI. For example, if you save your license file as:
C:\Program Files\ITT\mylicensefiles\license.dat
IDL and ENVI will not run properly until you define the LM_LICENSE_FILE variable. See Configuring Client Access to the License Manager for more information on LM_LICENSE_FILE.
Use the following steps to save the license file to an alternative location:
Settings
Control Panel (Windows 2000) or Start
Control Panel (Windows XP and Vista), and double-click the System icon.
Use the following steps to save the license file to an alternative location:
.cshrc, .profile, or .bashrc file using any text editor. You must define the UNIX environment variable for LM_LICENSE_FILE to point to the server and port of the machine running the license manager. The syntax for the defining the environment variable is:port@host
For example, if you are running the license manager on a machine named "hal" with a port of 1700, then enter the following:
For C shell: setenv LM_LICENSE_FILE 1700@hal
For Korn or Bash shell: export LM_LICENSE_FILE=1700@hal
If LM_LICENSE_FILE has already been defined for another software product, the definition of this license file can be appended using a colon (:) as the delimiter. For example:
/usr/local/myapplication/license.dat:1700@hal
Or,
$LM_LICENSE_FILE:1700@hal
.cshrc, .profile, or .bashrc file, or execute the file from the home directory using one of the following commands.
For C shell: source .cshrc
For Korn shell: . .profile
For Bash shell: . .bashrc
When the license wizard installs the license manager, it also automatically configures a service named "ITT FLEXlm License Manager" using default file settings.
If a previously configured license manager with a different name (e.g., "ITT FLEXlm License Manager") is running on the same server administering your IDL or ENVI license file, it is recommended that you stop, then disable or remove, the previously configured service to avoid a potential system conflict caused by simultaneously running two license managers on one machine.
To manually stop and remove the old license manager service:
You can identify the operational status of configured services in the Services control panel utility. If the Status field is "Started," the service is currently running.
If the machine is serving licenses for other products that use the FLEXlm license manager service, and you are unsure which is the unnecessary ITT Visual Information Solutions license manager service, contact your system or network administrator for assistance.
If you are upgrading to a newer version of IDL or ENVI, you should use the version of the FLEXlm license manager that shipped with the latest version of IDL or ENVI. Newer versions of FLEXlm support applications that were built to work with older versions of FLEXlm. Using a newer version of IDL or ENVI with an older version of the license manager (lmgrd) might not allow IDL or ENVI to operate correctly.
To determine the version of your license manager, run the lmgrd program with the -version switch. For example:
/usr/local/itt/idlxx/bin/lmgrd -version
To upgrade the license manager, issue the following commands at the command line:
cd ITT_DIR/idlxx/bin
lmgrd_install
To avoid problems, use the automatic boot-time configuration utility, lmgrd_install, to upgrade your license manager. Root privileges are required to successfully use this command. If your system was manually configured to launch a previous version of the license manager at boot time, you might need to uninstall or disable the older, manually created, /Library/StartupItems. Simultaneously running more than one license manager on the same machine can result in a license manager conflict.
The IDL or ENVI license manager installation script creates a Library/StartupItems item called IDL_LMGRD. If you have another item in this folder with a different name (e.g., ITT_LICENSE) that launches the license manager, remove the older, conflicting item.
IDL Online Help (March 06, 2007)