Previous - Up - Next

5   FLEXlm Floating Licenses

Simics needs a license server for floating licenses. The license server used is FLEXlm v9.2 from Macrovision. Below is a brief description on how to set up the license server. For further information on how to manage the server please consult the FLEXlm End Users Guide which can be found at

Note: FLEXlm is a very common license technology, and if you are a corporate user then it is likely that you already have a centrally managed corporate server. Ask your system administrator.

All files needed to setup the FLEXlm license server are included in the Simics distribution in [simics]/host/sys/flexlm/bin, e.g., [simics]/x86-linux/sys/flexlm/bin:

A license file from Virtutech is also needed (usually sent by e-mail), that specifies your licenses. The license file is typically called simics.lic.

lmgrd, lmutil and vtech can be installed anywhere in the system, for example in /usr/local/flexlm/bin/. The license file, e.g., simics.lic, should then be placed in the [simics]/licenses/ directory. This is the default location for a license file, meaning that Simics will find it automatically. To override this, the environment variable VTECH_LICENSE_FILE can be set to the name of the license file or to the directory where it resides. It can also be set to @license-host (i.e., the machine running the license server) if the license file cannot be reached through the file system. In this case the license server will know the location of the license file. A typical license file looks like this:

# change the path to where the license daemon (vtech) is located
VENDOR vtech /usr/local/flexlm/bin/vtech
FEATURE p_developer vtech 3.0 30-sep-2005 10 03DBBBBC9607 \
FEATURE eclipse vtech 3.0 30-sep-2005 10 5E347B88E389 HOSTID=ANY \
FEATURE host_rh6-x86 vtech 3.0 30-sep-2005 uncounted 3A06239E1993 \
        HOSTID=ANY SIGN=BC67891604C4

where server is the name of the host that will run the license server. This can be changed by the user if the line ends with ANY, otherwise the license server need to be run on a special host. The VENDOR line specifies the vendor and where to find the vendor daemon. Edit this line to point to the vtech daemon file. FEATURE specifies the type of license and for what it is used. In this case it is 10 commercial floating licenses for the developer product in Simics 3.0 on x86 Linux host with expire date 30-sep-2005. The last hexadecimal codes are checksums which assert that the license file is not altered in an unauthorized way by the user.

To be able to build user modules that can be loaded into Simics a Simics model builder license is needed. If you have such a license, the p_modelbuilder feature and builder feature will be present in the license file as well.

The license server can be started in the following way:

joe@server:~$ lmgrd -c simics.lic

Remember to run lmgrd on the server host specified in the license file; in the example it is "server". Since lmgrd does not need root privileges it is recommended to run it as an ordinary user.

The server will log all actions to stdout, unless a log file is specified by the -l log-file option.

lmgrd will find the vendor daemon and start it. All communication between the licensed software and the vendor daemon goes via the license server (lmgrd). It is the vendor daemon that keeps track of products and number of licenses from a particular vendor, thus only one license server is needed to run software from several vendors.

Note: When upgrading the license on an already running license server, it is recommended that the server is stopped and then restarted, instead of using the "reread" feature in the FLEXlm utilities. The reason is that the FLEXlm server can't handle some license changes properly. Stopping and restarting is required if you have a server with still valid licenses for Simics 2.x.

When the license server is running, Simics can be run like any program and the communication with the license server should be transparent to the user. When Simics is started, it will contact the server and, if the user is authorized and available licenses exist, Simics will check-out a license and run. On exit, Simics will give back the license to the daemon (check-in).

Note: A model builder license is only checked out the first time a new module (compiled by a user) is loaded into Simics. Further use of the same module does not require a model builder license. Model builder licenses will be kept for 24 hours before they are returned to the license pool, but can be reused an unlimited number of times by the same user.

If Simics ever crashes or exits abnormally, a license may be lost for a while but will return to the license pool after about 2 hours.

To shut down the license server and the vendor daemon type:

joe@enterprise:~$ lmutil lmdown

and the server will go down.

Previous - Up - Next