Previous Installation and Licensing Guide: Licensing IDL and ENVI Next

Working with the License Manager

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.

Starting the License Manager


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.

Windows

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:

  1. Select one of the following:
    • Start  Programs  IDL x.x  LMTools
    •  

    • Start  Programs  ENVI x.x  LMTools
    •  

      The LMTools dialog appears.

     

  2. Click the Start/Stop/Reread tab and select the name of the license manager service. The default name is ITT FLEXlm License Manager. If you would like the license manager to start automatically at boot time as a service, then check the Use Services and Start Server at Power Up check boxes. Click the Save Services button to save any configuration changes. Finally, click Start Server to start the license manager.
Unix and Macintosh

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.

Multiple License Managers

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.

Configuring the License Manager to Start Automatically on UNIX and Macintosh

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.

Checking the License Manager Status

To check the license manager status:

Windows
  1. Find the hostname and TCP/IP number in the SERVER line of the license file used to start the license manager service. For example, if the SERVER line looks like the following:
  2. SERVER myserver 12345678 1700  
    

     

    Then the hostname is myserver and the TCP/IP port is 1700.

     

  3. Open a Windows Command prompt window, and change directories to the idlxx\bin\bin.<platform> directory of your IDL or ENVI installation. For example:
  4. cd /d C:\Program Files\ITT\idlxx\bin\bin.x86  
    

     

  5. Issue an lmutil lmstat command at the prompt. For example:
  6. lmutil lmstat -a -c 1700@myserver  
    

     

    Where the TCP/IP value and server hostname are determined in Step 1.

UNIX and Macintosh

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.

Table 6-1: Optional Flags for lmstat

Table 6-1: Optional Flags for lmstat
Optional Flags for lmstat
-a  
This option displays all available information about the license manager status. If this argument is not present, only a brief summary of the manager's state is given.
-A  
This option displays a list of all active licenses.
-c license_file  
This option defines the license file path or the port@host setting. If this switch is not specified, lmstat looks for the LM_LICENSE _FILE environment variable. If that environment variable is not set, lmstat looks for the file ITT_DIR/license/license.dat.
-s [server]  
This option displays the status of the specified server node(s).

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.

Stopping the License Manager

To stop the license manager:

Windows

Administrative privileges may be required.

  1. Select one of the following:
    • Start  Programs  IDL x.x  LMTools
    •  

    • Start  Programs  ENVI x.x  LMTools
    •  

      The LMTools dialog appears.

     

  2. Click Stop Server in the Start/Stop/Reread tab to disable the license manager. IDL will run in seven-minute demonstration mode without an available license.
UNIX and Macintosh

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  

Logging (UNIX and Macintosh)

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.

Reclaiming Unused Licenses (UNIX and Macintosh)

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:

user host display (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.

Finding the Host ID (UNIX and Macintosh)

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.

Running Old and New Versions of IDL or ENVI Concurrently

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.

Using the Same License Manager for Different Applications

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:

Combining License Files

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.

Windows

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:

  1. Launch a MS-DOS command prompt.
  2.  

  3. Change directory (use the cd command) to ITT_DIR\idlxx\bin.<platform>, where ITT_DIR is the main installation directory.
  4.  

  5. Enter the following command at the prompt:
  6. 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.

Unix and Macintosh

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.

Creating Unique License Manager Services for Each Product

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.

Windows

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:

  1. Confirm that your updated license is already properly installed on the license server.
  2.  

  3. Select one of the following:
    • Start  Programs  IDL x.x  LMTools
    •  

    • Start  Programs  ENVI x.x  LMTools
    •  

      The LMTools dialog appears.

     

  4. Select the Config Services tab and enter a new (unique) FLEXlm service name in the Service Name field. By default, the FLEXlm license manager service is called "ITT FLEXlm License Manager." If the name "ITT FLEXlm License Manager" is configured and already being used for another vendor's product license file, it is recommended that you use the name "ITT Visual Information Solutions FLEXlm License Manager" instead.
  5.  

  6. Enter the paths to the files 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.
  7.  

  8. Select the Use Services and the Start Server at Power Up check boxes.
  9.  

  10. Start the newly named license manager. Select the Start/Stop/Reread tab, select the name of the updated service, and start the service by clicking the Start Server button.
  11.  

  12. Click the window's close button to exit the LMTools utility.
UNIX and Macintosh

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  

Saving the License File in an Alternative Location

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.

Windows

Use the following steps to save the license file to an alternative location:

  1. Click Start  Settings  Control Panel (Windows 2000) or Start  Control Panel (Windows XP and Vista), and double-click the System icon.
  2.  

  3. Click the Advanced tab, then click the Environment Variables button. Click the New button below the System Variables box and enter the following in the New System Variable dialog:
    1. Type, in uppercase letters, LM_LICENSE_FILE in the Variable Name field.
    2.  

    3. Type the path to the license file in the Variable Value field: in this example, C:\Program Files\ITT\mylicensefiles\license.dat. Replace this value with the actual path to your license file.
    4.  

    5. Click OK, OK, and OK.
UNIX and Macintosh

Use the following steps to save the license file to an alternative location:

  1. Modify your .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:
  2. 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  
    

     

  3. Log out and log back in to execute the .cshrc, .profile, or .bashrc file, or execute the file from the home directory using one of the following commands.
  4.  

    For C shell: source .cshrc

     

    For Korn shell: . .profile

     

    For Bash shell: . .bashrc

Upgrading a Network License Manager

Windows

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:

  1. Select one of the following:
    • Start  Programs  IDL x.x  LMTools
    •  

    • Start  Programs  ENVI x.x  LMTools
    •  

      The LMTools dialog appears.

     

  2. Select the Config Services tab.
  3.  

  4. From the Service Name drop-down list, select the older license manager name that you would like to remove (e.g., "ITT FLEXlm License Manager").
  5.  

    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.

     

  6. Select the Stop/Start/Reread tab. The selected license manager service is highlighted.
  7.  

  8. Click Stop Server to stop the service. If the selected service is not currently running, then clicking Stop Server displays a Status field message that verifies that LMTools is unable to stop the selected service (e.g., "Unable to Stop Server").
  9.  

  10. After stopping the service, return to the Config Services tab and click Remove Service to complete the removal of the old license manager.

UNIX

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  

Macintosh

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)