Table of Contents * Previous Chapter * Next Chapter

FLEXlm Frequently Asked Questions: Q5. Using FLEXlm

Q5. Using FLEXlm


Q5.1 How do I install a FLEXlm license file?

The simplest thing to do is put the license file where the vendor suggests putting it. If you've received the file via e-mail, you can use the email message itself as the license file, since all lines not beginning with FLEXlm keywords are considered comments.

The sure-fire place to put a license file is in the default location: /usr/local/flexlm/licenses/license.dat.

Normally, the only things you can change in a license file are

  1. The hostname (not the hostid!).

  2. The port number on the SERVER line. This number may already be in use (lmgrd will report `Address In Use' if the port is in use).

  3. The path to the vendor daemon executable on the DAEMON line.

FEATURE lines in the new (v3.0+) format sometimes have name=value pairs, which can be changed IF the 'name=' is lowercase.


Q5.2 How do I start the FLEXlm license server?

% lmgrd -c `path-to-license-file' > logfile &

Q5.3 I'm having trouble starting the license server in the system bootup files. How can I get this to work?

For reasons unknown some /etc/rc (/etc/rc2.d, /sbin/rc2.d, etc.) files refuse to run lmgrd with the simple command listed above. There are 2 workarounds we know to work - either or both should fix the problem:

  1. Use 'nohup lmgrd -c...'. (NOTE: this does NOT work with the c-shell, only sh or ksh).

  2. Add 'sleep 2' after the lmgrd command.

Finally, on RS-6000 systems, you have to use /etc/inittab to start the license server. The reason is that AIX has not started TCP networking when /etc/rc is run, and lmgrd requires TCP networking.


Q5.4 My server refuses to start. I get the message `No licenses to serve'.

That's because the license file has only `uncounted' licenses, and these don't require a server. Uncounted licenses have a '0' in the `number-of-licenses' field on the FEATURE line.


Q5.5 Does FLEXlm work across the internet?

Yes. A server on the internet will serve licenses to anyone else on the internet. This can be limited with the INTERNET= attribute on the FEATURE line, which limits access to a range of internet addresses. You can also use the INCLUDE and EXCLUDE options in the daemon option file to allow (or deny) access to clients running on a range of internet addresses.


Q5.6 If my client dies, does the server free the license?

Yes. Assuming communications is TCP, the license is automatically freed immediately. If communications are UDP, then the license is freed after the UDP timeout, which is set by each vendor, but defaults to 45 minutes. UDP communications is normally only set by the end-user, so TCP should be assumed.


Q5.7 What happens when the license server dies?

FLEXlm applications send periodic heartbeats to the server to discover if it has died. What happens when the server dies is then up to the application. Some will simply continue periodically attempting to re-checkout the license when the server comes back up. Some will attempt to re-checkout a license a few times, and then, presumably with some warning, exit. Some GUI applications will present pop-ups to the user periodically letting them know the server is down and needs to be re-started.


Q5.8 I'm getting the error `encryption code in license file is inconsistent'. What does this mean?

The license file was typed in incorrectly, or it was changed by the user. Use the 'lmcksum' utility to verify the license file. For v4.0+, if the file has 'ck=nnn', lmcksum will report simply OK or BAD for each line. Otherwise, you'll have to compare the numbers lmcksum reports with a good file, presumably run by your application's vendor.

If the file was good, and then fails with this error on a new release from your software vendor, it means that they've changed their license key seed, and you'll require a new license file.


Q5.9 How do you tell if a port is already in use?

99.44% of the time, if it's in use, it's because lmgrd is already running on the port - or was recently killed, and the port isn't freed yet. Assuming this is not the case, then use 'telnet host port' - if it says `can't connect', it's a free port.


Q5.10 How do you start lmgrd on NT?

There's two methods - install it as a service, or type the command in a DOS window. For a DOS window, assuming the license file is in the default location (C:\FLEXLM\LICENSE.DAT), use

D:\FLEXLM> lmgrd -app -l logfile

Note that -app MUST be there, and it must be lowercase. If it's not there, or it's typed uppercase, it will hang for 10 seconds, and then the DOS prompt will return. To install as a service, use the INSTALL.EXE command provided by FLEXlm. For example:

D:\FLEXLM> install d:\flexlm\lmgrd.exe 

Note that the full pathname to lmgrd.exe must follow the install command, and you must make sure that the full path name, including drive letter, for your vendor daemon is specified in the license file, C:\FLEXLM\LICENSE.DAT. Finally, as usual, lmgr32.dll must be in the system's DLL search path. As a service, lmgrd is started when the system is booted. The log file is located in SYSTEM32\LMGRD.LOG.

Table of Contents * Previous Chapter * Next Chapter