Combining License Files

Many vendors choose FLEX lm as their license manager, and it is likely that you must administer licenses from more than one vendor, or multiple products from the same vendor.

Preventing licensing conflicts

Use one of the following methods to avoid licensing conflicts during installation when running FLEX lm -licensed products from multiple vendors:

· Multiple license servers; each running one lmgrd and one license file

· One license server running one lmgrd and one license file

· One license server running multiple lmgrd s and multiple license files

Note: Each lmgrd can only control a single license file.

Running separate lmgrd s and license files simplifies initial installation and can increase daily administration of your licenses. For multiple license servers, you have more license servers to monitor. For the one license server, you have only one server, but multiple lmgrd s to administer.

Your product's license file (or files) define the license server (or servers) by hostname and hostid in the SERVER line (or lines) in the license file. If the license files for two or more products contain identical SERVER lines, then see Using the Same Server Node . If the license files for two products contain different SERVER lines, then the license servers for those products will run on different nodes.

Using the Same Server Node

If you have two or more products with license servers run on the same node (as specified by the SERVER lines in the license files), you may be able to combine the license files into a single license file. If the SERVER lines in those files have identical hostids, then you can combine the files into a single file. If the SERVER lines have different hostids, then you must keep the license files separate.

Combining two license files

You can combine two license files under the following conditions:

1. The number of SERVER lines in each file is the same.

2. The hostid field of each SERVER line in one file exactly matches the hostid field of each SERVER line in the other file.

Incompatibility of license files

Under the following conditions, some license files are not compatible:

· License files are set up to run on different server nodes, so hostids are different.

· One file is set up for single server (has only one SERVER line), the other is set up for redundant servers (has multiple SERVER lines).

· One vendor uses a custom hostid algorithm, so the hostids on the SERVER lines are different even though the files are for the same machine.

If your license files are compatible you can combine license files and run a single lmgrd , as described in Combining license files for multiple vendors .

If the license files are not compatible, you must keep the license files separate, and run separate copies of lmgrd for each license file, as described in Using Separate license files on the same server node .

Note: Combining compatible license files is not required. You always have the option of running separate lmgrd s as described in Using Separate license files on the same server node .

Combining license files for multiple vendors

If your license files are compatible (i.e., use the same server nodes), you can combine them with any text editor. To combine license files, read all of the compatible license files into one file, then edit out the extra SERVER lines so that only one set of SERVER lines remains. Write out this data, and you have your combined license file. If you write the data to license.dat in the default location, you will generally not need to set the LM_LICENSE_FILE environment variable. If you write the data out elsewhere, or if you were able to combine some but not all of your license files, then you must set the LM_LICENSE_FILE variable (unless your application uses another method to find the license file).

FLEX lm license manager component compatibility

When you combine license files for two different FLEX lm -licensed products, those products might not use the same version of FLEX lm . FLEX lm is designed to handle this situation, and has two basic compatibility rules for FLEX lm:

1. A newer lmgrd can be used with an older vendor daemon, but a newer vendor daemon might not work properly with an older lmgrd .

2. A newer vendor daemon (or lmgrd ) can be used with an older client program (such as an application or utility programs like lmstat ), but a newer client program might not work properly with an older vendor daemon.

Selecting administration tools

From these two compatibility rules comes the simple rules for selecting which version of administration tools to use:

1. Always use the newest version of lmgrd and the newest version of each vendor daemon.

2. If you have FLEX lm v3.0 utilities, use these; otherwise use the most recent version of the utility programs (such aslmstat ) which can connect to all of the vendor daemons.

For specific application programs, you can use either the new or the old version (with the assumption that the vendor daemon that goes with that application is at least as new as the application).


There are a couple of details and exceptions to go with the above rules:

1. Products using version 2.0 of FLEX lm may not be combined in one license file with products using version 1.5 or earlier of FLEX lm . In this case, you must use separate license files (see Using Separate license files on the same server node ).

2. If you combine a product using version 2.1 or later of FLEX lm with a product using version 1.5 or earlier of FLEXlm , you must use the"-b" (for backwards compatibility) command line option to lmgrd . You can always use a version of lmgrd that is newer than the one provided by your software vendor, as long as you are careful to use the "-b" switch if replacing v1.x lmgrd with a v2.1 or later lmgrd .

Note: FLEX lm v2.4 and later versions of lmgrd default to "-b". Do not use the "-b" option if you are using FLEX lmv2.4 or later.

Using Separate license files on the same server node

If you have incompatible license files, you must run a separate copy of lmgrd for each license file. (You can also do this even if your license files are compatible.) When you run lmgrd separately for each license file, there are two details to remember:

1. The port number on the SERVER line of each license file must be unique. You can use a standard text editor to change the port number in each license file so that they are all different.

2. You must make sure that you are using a compatible version of lmgrd when you start it up for a particular license file. This can be done by either using an explicit path to lmgrd , or by renaming lmgrd to something specific for that product (some vendors do this to make it easier to identify the lmgrd they ship with their product).

When running client programs (such as a licensed application), you can set the LM_LICENSE_FILE environment variable to point to multiple license files. For example, you may have a license file from vendor ABC and a license file from vendor XYZ with incompatible servers. You can place the license file from vendor ABC into:


and the license file from vendor XYZ into:


then set the LM_LICENSE_FILE environment variable to point to both of them. Each name in LM_LICENSE_FILE should be separated by a colon ":". In the C shell:

setenv LM_LICENSE_FILE \ /usr/flexlm/abc.dat:/usr/flexlm/xyz.dat

In the Korn and Bourne shells:

LM_LICENSE_FILE =/usr/flexlm/abc.dat:/usr/flexlm/
   xyz.dat export 

Note: LM_LICENSE_FILE can point to only one license file for FLEX lm v1.x applications.

Using a Different Server Node

If products use different license server nodes, each set of license servers requires separate license files. (When multiple software vendors use the same set of license server nodes, the technique described above in Using the Same Server Node can be used to combine license files.) The resulting (multiple) license files can be installed in convenient locations, and you would set the LM_LICENSE_FILE environment variable as follows:

setenv LM_LICENSE_FILE lfpath1:lfpath2:....:lfpathN

lfpath1 Path to the first license file

lfpath2 Path to the second license file.




lfpathN Path to the last (Nth) license file

Each application queries each license file in the order listed in the LM_LICENSE_FILE path. If the license server serving the license file listed in lfpath1 was unreachable, perhaps due to an NFS problem, changing the LM_LICENSE_FILEwould allow a user to obtain a license from another server.

For more information about LM_LICENSE_FILE and setting the location of the license file, see Specifying Location of the License File .