0% found this document useful (0 votes)
108 views

Flexlm

Uso de Flex

Uploaded by

Rubén Carreón
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
108 views

Flexlm

Uso de Flex

Uploaded by

Rubén Carreón
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 81

MA000−098−00−00

Doc. ver.: 1.7

FLEXlm

License Management
Software
A publication of

Altium BV

Documentation Department

Copyright  2000−2012 Altium BV

All rights reserved. Reproduction in whole or part is prohibited


without the written consent of the copyright owner.

TASKING is a brand name of Altium Limited.

The following trademarks are acknowledged:

FLEXlm is a registered trademark of Flexera Software LLC.


HP and HP−UX are trademarks of Hewlett−Packard Co.
MS−DOS and Windows are registered trademarks of Microsoft Corporation.
SUN is a trademark of Sun Microsystems, Inc.
UNIX is a registered trademark of X/Open Company, Ltd.

All other trademarks are property of their respective owners.

Data subject to alteration without notice.

http://www.tasking.com
http://www.altium.com
The information in this document has been carefully reviewed and is
believed to be accurate and reliable. However, Altium assumes no liabilities
for inaccuracies in this document. Furthermore, the delivery of this
information does not convey to the recipient any license to use or copy the
software or documentation, except as provided in an executed license
agreement covering the software and documentation.

Altium reserves the right to change specifications embodied in this


document without prior notice.
CONTENTS
TABLE OF
CONTENTS
IV Table of Contents

CONTENTS
CONTENTS
Table of Contents V

SOFTWARE INSTALLATION 1−1


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1−3
1.2 Installation for Windows . . . . . . . . . . . . . . . . . . . . . . . . . . 1−3
1.3 Installation for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1−3
1.4 Installation for UNIX Hosts . . . . . . . . . . . . . . . . . . . . . . . 1−4
1.5 Software Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 1−6
1.6 Licensing TASKING Products . . . . . . . . . . . . . . . . . . . . . . 1−7
1.6.1 Obtaining License Information . . . . . . . . . . . . . . . . . . . . 1−7
1.6.2 Installing Floating Licenses . . . . . . . . . . . . . . . . . . . . . . . . 1−8
1.6.3 Starting the License Manager . . . . . . . . . . . . . . . . . . . . . . 1−10
1.6.4 Setting Up the License Manager to Run Automatically . 1−11
1.6.5 Modifying the License File Location . . . . . . . . . . . . . . . . 1−13
1.6.6 How to Determine the Host ID . . . . . . . . . . . . . . . . . . . . 1−13
1.6.7 How to Determine the Host Name . . . . . . . . . . . . . . . . . 1−14

FLEXIBLE LICENSE MANAGER (FLEXlm) 2−1


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−3
2.2 License Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−3
2.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−3
2.2.2 Providing For Uninterrupted FLEXlm Operation . . . . . . 2−5
2.2.3 The Options File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−7
2.3 Borrowing Floating Licenses . . . . . . . . . . . . . . . . . . . . . . 2−8
2.4 License Administration Tools . . . . . . . . . . . . . . . . . . . . . . 2−10
2.4.1 lmborrow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−12
2.4.2 lmdiag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−14
2.4.3 lmdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−16
2.4.4 lmgrd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−18
2.4.5 lmhostid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−20
2.4.6 lmpath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−22
2.4.7 lmremove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−23
2.4.8 lmreread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−24
2.4.9 lmstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−26
2.4.10 lmswitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−28
2.4.11 lmver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−30

• • • • • • • •
VI Table of Contents

2.4.12 tsk_licmaint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−31


2.4.13 License Administration Tools for Windows . . . . . . . . . . 2−32
2.4.13.1 LMTOOLS for Windows . . . . . . . . . . . . . . . . . . . . . . . . . . 2−32
2.4.13.2 FLEXlm License Manager for Windows . . . . . . . . . . . . . 2−32
2.5 The Debug Log File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−35
2.5.1 Informational Messages . . . . . . . . . . . . . . . . . . . . . . . . . . 2−36
2.5.2 Configuration Problem Messages . . . . . . . . . . . . . . . . . . 2−39
2.5.3 Daemon Software Error Messages . . . . . . . . . . . . . . . . . . 2−41
2.6 FLEXlm License Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−42
2.7 Frequently Asked Questions (FAQs) . . . . . . . . . . . . . . . . 2−46
2.7.1 License File Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−46
2.7.2 FLEXlm Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−46
2.7.3 Windows Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−47
2.7.4 TASKING Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2−48
2.7.5 Using FLEXlm for Floating Licenses . . . . . . . . . . . . . . . . 2−50

INDEX
CONTENTS
Manual Purpose and Structure VII

MANUAL PURPOSE AND STRUCTURE

PURPOSE
This manual how to install and use the FLEXlm license management
software with TASKING products.

MANUAL STRUCTURE
Conventions Used In This Manual

1. Software Installation
Describes how to install and use the license management software.

2. Flexible License Manager (FLEXlm)


Contains a more detailed description of the Flexible License Manager.

CONVENTIONS USED IN THIS MANUAL


The notation used to describe the format of call lines is given below:

{} Items shown inside curly braces enclose a list from which


you must choose an item.

[] Items shown inside square brackets enclose items that are


optional.

| The vertical bar separates items in a list. It can be read as


OR.

italics Items shown in italic letters mean that you have to


substitute the item. If italic items are inside square
brackets, they are optional. For example:

filename

means: type the name of your file in place of the word


filename.

... An ellipsis indicates that you can repeat the preceding


item zero or more times.

• • • • • • • •
VIII Manual Purpose and Structure

screen font Represents input examples and screen output examples.

bold font Represents a command name, an option or a complete


command line which you can enter.

For example
command [option]... filename

This line could be written in plain English as: execute the command
command with the optional options option and with the file filename.

Illustrations
The following illustrations are used in this manual:

This is a note. It gives you extra information.

This is a warning. Read the information carefully.

This illustration can be read as See also". It contains a reference to


MANUAL STRUCTURE

another command, option or section.


CHAPTER
SOFTWARE
INSTALLATION

1
1−2
INSTALLATION

1
CHAPTER
Chapter 1
Software Installation 1−3

1.1 INTRODUCTION
This chapter describes how you can install the FLEXlm License Manager
software on a Windows system or on a Linux or UNIX host.

1.2 INSTALLATION FOR WINDOWS


1. Start Windows, if you have not already done so.

2. Insert the CD−ROM into the CD−ROM drive.

3. If the installation program does not start automatically, browse to your


CD−ROM drive and run the program setup.exe.

The TASKING Setup dialog box appears.

4. Select a product and click on the Install button.

5. Follow the instructions that appear on your screen.

6. If you purchased a protected TASKING product, license the software


product as explained in section 1.6, Licensing TASKING Products.

1.3 INSTALLATION FOR LINUX


Each product on the CD−ROM is available as a gzipped tar file. For each
product the following file is present:
SWproduct−version.tar.gz

1. Login as a user.

Be sure you have read, write and execute permissions in the installation
directory. Otherwise, login as "root" or use the su command.

2. Insert the CD−ROM into the CD−ROM drive. Mount the CD−ROM on a
directory, for example /cdrom. See the Linux manual pages about mount
for details.

3. Go to the directory on which the CD−ROM is mounted:


cd /cdrom

• • • • • • • •
1−4 Chapter 1

4. To install the products from the .tar.gz files in the directory


/usr/local, issue the following command for each product:

tar xzf SWproduct−version.tar.gz −C /usr/local

Every .tar.gz file creates a single directory in the directory where it is


extracted.

1.4 INSTALLATION FOR UNIX HOSTS


1. Login as a user.

Make sure you have read, write and execute permissions in the installation
directory. Otherwise, login as "root" or use the su command.

If you are a first time user, decide where you want to install the product.
By default it will be installed in /usr/local.

2. Insert the CD−ROM into the CD−ROM drive and mount the CD−ROM on a
directory, for example /cdrom. Make sure to use an ISO 9660 file system
with Rock Ridge extensions enabled. See the UNIX manual pages about
mount for details.

3. Go to the directory on which the CD−ROM is mounted:


cd /cdrom

4. Run the installation script:


sh install
INSTALLATION

Follow the instructions appearing on your screen.

First a question appears about where to install the software. The default
answer is /usr/local.

If the script detects that the software has been installed before, the
following messages appear on the screen:
*** WARNING ***
SWxxxxxx xxxx.xxxx already installed.
Do you want to REINSTALL? [y,n]
Software Installation 1−5

Answering n (no) to this question causes installation to abort and the


following message being displayed:
=> Installation stopped on user request <=

Answer y (yes) to continue with the installation. The last message will be:
Installation of SWxxxxxx xxxx.xxxx completed.

5. If you purchased a protected TASKING product, license the software


product as explained in section 1.6, Licensing TASKING Products.

• • • • • • • •
1−6 Chapter 1

1.5 SOFTWARE CONFIGURATION


Now you have installed the software, you can configure the command line
environment. To facilitate the invocation of the tools from the command
line (either using a Windows command prompt or using Linux or UNIX),
you can set environment variables.

You can set the following variables:

Environment Description
Variable
PATH With this variable you specify the directory in which
the executables reside (for example:
c:\flexlm\bin). This allows you to call the
executables when you are not in the bin directory.
Usually your system already uses the PATH variable
for other purposes. To keep these settings, you
need to add (rather than replace) the path. Use a
semicolon (;) to separate pathnames.
LM_LICENSE_FILE With this variable you specify the location of the
license data file. You only need to specify this
variable if the license file is not on its default location
(c:\flexlm for Windows,
/usr/local/flexlm/licenses for UNIX).
TASKING_LIC_WAIT If you set this variable on the PC or workstation
where the TASKING toolset is installed, the tool will
wait for a license to become available, if all licenses
are taken. If you have not set this variable, the tool
aborts with an error message.
INSTALLATION

Table 1−1: Environment variables


Software Installation 1−7

1.6 LICENSING TASKING PRODUCTS


TASKING products are protected with license management software
(FLEXlm). To use a TASKING product, you must install the license key
provided by TASKING for the type of license purchased.

You can run TASKING products with a node−locked license or with a


floating license. When you order a TASKING product determine which
type of license you need (UNIX products only have a floating license).

Node−locked license (Windows only)


This license type locks the software to one specific PC so you can use the
product on that particular PC only. For this type of license you do not
have to install the FLEXlm license manager software.

Floating license
This license type manages the use of TASKING product licenses among
users at one site. This license type does not lock the software to one
specific PC or workstation but it requires a network. The software can then
be used on any computer in the network. The license specifies the
number of users who can use the software simultaneously. A system
allocating floating licenses is called a license server. A license manager
running on the license server keeps track of the number of users.

See Chapter 2, Flexible License Manager (FLEXlm), for more information.

1.6.1 OBTAINING LICENSE INFORMATION


Before you can install a software license you must have a "License Key"
containing the license information for your software product. If you have
not received such a license key follow the steps below to obtain one.
Otherwise, you can install the license.

Windows
1. Run the License Administrator during installation on the server and follow
the steps to Request a license key from Altium by E−mail.

2. E−mail the license request to your local TASKING sales representative. The
license key will be sent to you by E−mail.

• • • • • • • •
1−8 Chapter 1

UNIX
1. If you need a floating license on UNIX, you must determine the host ID
and host name of the computer where you want to use the license
manager. Also decide how many users will be using the product. See
section 1.6.6, How to Determine the Host ID and section 1.6.7, How to
Determine the Host Name.

2. When you order a TASKING product, provide the host ID, host name and
number of users to your local TASKING sales representative. The license
key will be sent to you by E−mail.

1.6.2 INSTALLING FLOATING LICENSES


If you do not have received your license key, read section 1.6.1, Obtaining
License Information, before continuing.

1. Install the FLEXlm software product (SW000098) following the installation


procedure described earlier in this chapter on the computer or workstation
where you want to use the license manager.

2. Create a license file on the server by importing a license key or create one
manually:

Import a license key (Windows only)


During installation on Windows you will be asked to run the License
Administrator. Otherwise, start the License Administrator (licadmin.exe)
manually.
INSTALLATION

In the License Administrator follow the steps to Import a license key


received from Altium by E−mail. The License Administrator creates a
license file for you.

Create a license file manually


If you prefer to create a license file manually on Windows, create a file
called "license.dat" in the c:\flexlm directory, using an ASCII editor
and insert the license key information received by E−mail in this file. This
file is called the "license file". If the directory c:\flexlm does not exist,
create the directory.

On UNIX, you always have to insert the license key manually in the
license file. The default location of the license file license.dat is in
directory /usr/local/flexlm/licenses for UNIX.
Software Installation 1−9

If you wish to install the license file in a different directory, see section
1.6.5, Modifying the License File Location.

If you already have a license file, add the license key information to the
existing license file. If the license file already contains any SERVER lines,
make sure that the number of SERVER lines and their contents match,
otherwise you must use another license file. See section 1.6.5, Modifying
the License File Location, for additional information.

3. The installation of the license manager on Windows also sets up the


license manager daemon to run automatically whenever a license server
reboots. On UNIX you have to perform the steps as described in section
1.6.4, Setting Up the License Manager to Run Automatically.

4. Now all license information is entered, the license manager must be


started (see section 1.6.3). Or, if it is already running you must notify the
license manager that the license file has changed by entering the
command (located in the flexlm bin directory):
lmreread

On Windows you can also use the graphical FLEXlm Tools (lmtools): Start
lmtools (if you have used the defaults this can be done by selecting Start
−> Programs −> TASKING FLEXlm version −> FLEXlm Tools). On the
Service/License File tab, select Configuration using Services and select
FLEXLM License Manager for TASKING. On the Start/Stop/Reread
tab, click on the ReRead License File button. Another option is to reboot
your PC.

The software product and license file are now properly installed.

Where to go from here?


The license manager (daemon) must always be up and running. Read
section 1.6.3 on how to start the daemon and read section 1.6.4 for
information how to set up the license manager to run automatically.

Make sure that on each PC or workstation where you will use the
TASKING toolset software the location of a license file must be known.
Either create a local license file or point to a license file on a server: See
the installation chapter of the TASKING product for more information.

If the license manager is running, you can now start using the TASKING
product.

See Chapter 2, Flexible License Manager (FLEXlm), for more information.

• • • • • • • •
1−10 Chapter 1

1.6.3 STARTING THE LICENSE MANAGER


The license manager (daemon) must always be up and running. To start
the daemon complete the following steps on each license server:

Windows
On Windows, the installation procedure configures the license manager to
start automatically after a reboot, and starts the license manager for you. If
you choose not to do this during installation, follow these steps:

1. From the Windows Start menu, select Programs −> TASKING FLEXlm
version −> FLEXlm Tools.

The license manager tool appears.

2. On the Service/License File tab, select Configuration using Services


and select FLEXLM License Manager for TASKING

3. On the Start/Stop/Reread tab, click on the Start Server button.

4. Close the program by selecting Exit from the File menu.

UNIX
1. Log in as the operating system administrator (usually root).

2. Change to the FLEXlm installation directory (default


/usr/local/flexlm ):

cd /usr/local/flexlm
INSTALLATION

3. Start the license manager daemon by typing the following:


bin/lmgrd −2 −p −c licenses/license.dat \
−l /var/tmp/license.log −local &

The −2 and −p options restrict the use of the lmdown and lmremove
license administration tools to the license administrator. You can omit
these options if you want. Refer to the usage of lmgrd in Chapter 2,
Flexible License Manager (FLEXlm), for more information.
Software Installation 1−11

1.6.4 SETTING UP THE LICENSE MANAGER TO RUN


AUTOMATICALLY
To set up the license manager daemon so that it runs automatically
whenever a license server reboots, follow the instructions below that are
appropriate for your platform, on each license server:

Windows
On Windows, the installation procedure does this for you. If you choose
not to do this during installation, follow these steps:

1. From the Windows Start menu, select Programs −> TASKING FLEXlm
version −> FLEXlm Tools.

The license manager tool appears.

2. On the Config Services tab, select FLEXLM License Manager for


TASKING.

3. Enable the Use Services check box.

4. Enable the Start Server at Power Up check box.

5. Close the program by selecting Exit from the File menu. If a question
appears, answer Yes to save your settings.

UNIX
In performing any of the procedures below, keep in mind the following:
• Before you edit any system file, make a backup copy.

HP−UX
1. Log in as the operating system administrator (usually root).

2. In the directory /etc/rc.config.d create a file named rc.lmgrd with


the following contents. Replace FLEXLMDIR by the FLEXlm installation
directory (default /usr/local/flexlm ):
#!/sbin/sh
FLEXLMDIR/bin/lmgrd −2 −p −c FLEXLMDIR/licenses/license.dat \
−l /var/tmp/license.log −local &

After the −c option, you have to specify the correct location of the license
file.

• • • • • • • •
1−12 Chapter 1

SunOS4
1. Log in as the operating system administrator (usually root).

2. Append the following lines to the file /etc/rc.local . Replace


FLEXLMDIR by the FLEXlm installation directory (default
/usr/local/flexlm ):
FLEXLMDIR/bin/lmgrd −2 −p −c FLEXLMDIR/licenses/license.dat \
−l /var/tmp/license.log &

Linux and SunOS5 (Solaris 2)


1. Log in as the operating system administrator (usually root).

2. In the directory /etc/init.d create a file named rc.lmgrd with the


following contents. Replace FLEXLMDIR by the FLEXlm installation
directory (default /usr/local/flexlm ):
#!/bin/sh
FLEXLMDIR/bin/lmgrd −2 −p −c FLEXLMDIR/licenses/license.dat \
−l /var/tmp/license.log −local &

3. Make it exacutable:
chmod u+x rc.lmgrd

4. Create an ’S’ link in the /etc/rc3.d directory to this file and create ’K’
links in the other /etc/rc?.d directories:
ln /etc/init.d/rc.lmgrd /etc/rc3.d/Snumrc.lmgrd
ln /etc/init.d/rc.lmgrd /etc/rc?.d/Knumrc.lmgrd
INSTALLATION

num must be an approriate sequence number. Refer to you operating


system documentation for more information.
Software Installation 1−13

1.6.5 MODIFYING THE LICENSE FILE LOCATION


The default location for the license file on Windows is:
c:\flexlm\license.dat

On UNIX this is:


/usr/local/flexlm/licenses/license.dat

If you want to use another name or directory for the license file, specify
the path of the license file when you start the license manager, on the
lmgrd command line (−c option). On Windows you can also use the
FLEXlm Tools.

See Chapter 2, Flexible License Manager (FLEXlm), for detailed


information.

1.6.6 HOW TO DETERMINE THE HOST ID


The host ID depends on the platform of the machine. Please use one of
the methods listed below to determine the host ID.

Platform Tool to retrieve host ID Example host ID


HP−UX lanscan 0000F0050185
(use the station address without
the leading ’0x’)
Linux /sbin/ifconfig eth0 00400516E525
(use the HWaddr without colons)
SunOS/Solaris hostid 170a3472
Windows licadmin (License Administrator, 0060084dfbe9
or use lmhostid)

Table 1−2: Determine the host ID

On Windows, the License Administrator (licadmin) helps you in the


process of obtaining your license key.

When you want to determine the host ID of a laptop, be sure that the
laptop is not connected to a network, before starting the License
Administrator. Otherwise, your license will not work when you disconnect
your laptop from the network.

• • • • • • • •
1−14 Chapter 1

If you do not have the program licadmin you can download it from our
Web site at: http://www.tasking.com/support/flexlm/licadmin.zip . It is
also on every product CD that includes FLEXlm, in directory licensing.

1.6.7 HOW TO DETERMINE THE HOST NAME


To retrieve the host name of a machine, use one of the following methods.

Platform Method
UNIX hostname
Windows licadmin or:
Go to the Control Panel, open "System". On the
"Computer Name" tab look for "Full computer name".

Table 1−3: Determine the host name


INSTALLATION
CHAPTER
FLEXIBLE LICENSE
MANAGER (FLEXlm)

2
2−2 Chapter 2

CHAPTER
2
FLEXLM
Flexible License Manager (FLEXlm) 2−3

2.1 INTRODUCTION
This chapter discusses Flexera Software’s Flexible License Manager and
how it is integrated into the TASKING toolchain. It also contains
descriptions of the Flexible License Manager license administration tools
that are included with the package, the license manager log file and its
contents, and the use of options files to customize your use of the
TASKING toolchain.

2.2 LICENSE ADMINISTRATION

2.2.1 OVERVIEW
The Flexible License Manager (FLEXlm) is a set of utilities that, when
incorporated into software such as the TASKING toolchain, provides for
managing access to the software.

The following terms are used to describe FLEXlm concepts and software
components:

feature A feature could be any of the following:


• A TASKING software product.
• A software product from another vendor.
license The right to use a feature on one specific PC (node−locked
license), or on a network (floating license). FLEXlm restricts
licenses for features by counting the number of licenses for
features in use when new requests are made by the
application software. It also checks if the application is
running on the correct machine.

client A TASKING application program.

daemon A process that "serves" clients. Sometimes referred to as a


server.

vendor daemon
The daemon that dispenses licenses for the requested
features. This daemon is built by an application’s vendor, and
contains the vendor’s personal encryption code. Tasking is
the vendor daemon for the TASKING software.

• • • • • • • •
2−4 Chapter 2

license manager
The daemon process that sends requests from client
processes to the correct vendor daemon on the correct
machine. The same license manager is used by all
applications from all vendors, as this daemon neither
performs encryption nor dispenses licenses. The license
manager processes no user requests on its own, but forwards
these requests to other daemons (the vendor daemons).

server node A computer system that is running both the license manager
and vendor daemon software. The server node will contain
all the dynamic information regarding the usage of all the
features.

license file An end−user specific file that contains descriptions of the


server nodes that can run the license daemons, the various
vendor daemons, and the restrictions for all the licensed
features.

debug log file


A debug log file contains status and error messages useful for
debugging the license server. A license server always
generates debug log output. Some of the debug log output
describes events specific to the license manager and some of
the debug log output describes events specific to each
vendor daemon.

For floating licenses, the TASKING software is granted permission to run


by FLEXlm daemons; the daemons are started when the TASKING
toolchain is installed and run continuously thereafter. Information needed
by the FLEXlm daemons to perform access management is contained in a
license data file that is created during the toolchain installation process. As
part of their normal operation, the daemons log their actions in a log file,
which can be used to monitor usage of the TASKING toolchain.

For node−locked licenses, you only need the license file.


FLEXLM

The following sections discuss:


• Installation of the FLEXlm license manager to provide for access to
the TASKING toolchain.
• Customizing your use of the toolchain through the use of an
options file.
• Utilities that are provided to assist you in performing license
administration functions.
Flexible License Manager (FLEXlm) 2−5

• The debug log file and its contents.


For additional information regarding the use of FLEXlm, refer to Chapter 1,
Software Installation.

2.2.2 PROVIDING FOR UNINTERRUPTED FLEXLM


OPERATION
TASKING products licensed through FLEXlm using floating licenses contain
a number of utilities for managing licenses. These utilities are bundled in
the form of an extra product under the name SW000098 and is only
necessary for floating licences.

If you have already installed FLEXlm (for example, as part of another


product) then it is not needed to install the bundled SW000098. After
installing SW000098 on UNIX the directory /usr/local/flexlm will
contain two subdirectories, bin and licenses. After installing SW000098
on Windows the directory c:\flexlm will contain the subdirectory bin.
The exact location may differ if FLEXlm has already been installed as part
of a non−TASKING product but in general there will be a directory for
executables such as bin. That directory must contain a copy of the
Tasking daemon, which is present on every product CD that includes
FLEXlm, in directory licensing. It also contains the files:

lmgrd The FLEXlm license manager daemon.


lm* A group of FLEXlm license administration utilities.

License File
A license file must be present containing the information of all licenses.
This file is usually called license.dat. The default location of the license
file is in directory c:\flexlm for Windows and in directory
/usr/local/flexlm/licenses for UNIX. If you did install SW000098
then the licenses directory on UNIX will be empty, and on Windows
the file license.dat will be empty. In that case you can copy the license
file received from Altium by E−mail to this directory.

Be very careful not to overwrite an existing license.dat file because it


contains valuable data.

• • • • • • • •
2−6 Chapter 2

Example of a license.dat:
SERVER elliot 5100520c 7594
DAEMON Tasking /usr/local/flexlm/bin/Tasking
FEATURE SW008002−32 Tasking 3.000 1−jan−00 4 0B1810310210A6894 "123456"

If the license.dat file already exists then you should make sure that it
contains the DAEMON and FEATURE lines from your license key. An
appropriate SERVER line should already be present in that case. You
should only add a new SERVER line if no SERVER line is present. The third
field of the DAEMON line is the pathname to the Tasking daemon and
you may change it if necessary.

The default location for the license file on Windows is:


c:\flexlm\license.dat

On UNIX this is:


/usr/local/flexlm/licenses/license.dat

If the pathname of the resulting license file differs from this default
location then you must set the environment variable LM_LICENSE_FILE to
the correct pathname. If you have more than one product using the
FLEXlm license manager you can specify multiple license files by
separating each pathname (lfpath) with a ’;’ on Windows, or ’:’ on UNIX:

Windows:

set LM_LICENSE_FILE=lfpath[;lfpath]...

UNIX:

setenv LM_LICENSE_FILE lfpath[:lfpath]...

If you are running the TASKING software on multiple nodes, you have
three options for making your license file available on all the machines:

1. Place the license file in a partition which is available (via NFS on UNIX
systems) to all nodes in the network that need the license file.
FLEXLM

2. Copy the license file to all of the nodes where it is needed.

3. Set LM_LICENSE_FILE to "port@host", where host and port come from the
SERVER line in the license file.
Flexible License Manager (FLEXlm) 2−7

When the main license manager daemon lmgrd already runs it is


sufficient to type the command:
path/lmreread

for notifying the daemon that the license.dat file has been changed.
Otherwise, you must type the command:
path/lmgrd −l /usr/tmp/license.log −local &

Both commands reside in the flexlm/bin directory mentioned before.

2.2.3 THE OPTIONS FILE


It is possible to customize the use of TASKING software using an options
file. This options file allows you to reserve licenses for specified users or
groups of users, to restrict access to the TASKING toolchain, and to set
software timeouts. The following table lists the keywords that are
recognized at the start of a line of an options file.

Keywords Function
RESERVE Ensure that TASKING software will always be available to
one or more users or on one or more host computer systems.
INCLUDE Specify a list of users who are allowed exclusive access to
the TASKING software.
EXCLUDE Specify a list of users who are not allowed to use the
TASKING software.
GROUP Specify a group of users for use in the other commands.
TIMEOUT Allow licenses that are idle for a specified time to be returned
to the free pool, for use by someone else.
NOLOG Causes messages of the specified type to be filtered out of
the debug log file.
DEBUGLOG Writes debug log information for this vendor daemon to the
specified file.

Table 2−1: Options file keywords

• • • • • • • •
2−8 Chapter 2

In order to use the daemon options capability, you must create an options
file and list its pathname as the fourth field on the DAEMON line for the
Tasking daemon in the license file. For example, if the daemon options
were in file /usr/local/flexlm/Tasking.opt (UNIX), then you
would modify the license file DAEMON line as follows:
DAEMON Tasking /usr/local/flexlm/bin/Tasking /usr/local/flexlm/Tasking.opt

An options file consists of lines in the following format:


RESERVE number feature {USER | HOST | DISPLAY | GROUP} name
INCLUDE feature {USER | HOST | DISPLAY | GROUP} name
EXCLUDE feature {USER | HOST | DISPLAY | GROUP} name
GROUP name <list_of_users>
TIMEOUT feature timeout_in_seconds
NOLOG {IN | OUT | DENIED | QUEUED}
DEBUGLOG file

Lines beginning with the sharp character (#) are ignored, and can be used
as comments. For example, the following options file would reserve one
copy of feature SWxxxxxx−xx for user pat", three copies for user lee",
and one copy for anyone on a computer with the hostname of terry"; and
would cause QUEUED messages to be omitted from the log file. In addition,
user joe" and group pinheads" would not be allowed to use the feature
SWxxxxxx−xx :
GROUP pinheads moe larry curley
RESERVE 1 SWxxxxxx−xx USER pat
RESERVE 3 SWxxxxxx−xx USER lee
RESERVE 1 SWxxxxxx−xx HOST terry
EXCLUDE SWxxxxxx−xx USER joe
EXCLUDE SWxxxxxx−xx GROUP pinheads
NOLOG QUEUED

2.3 BORROWING FLOATING LICENSES

What is Borrowing?
With ’borrowing’ you can use a floating license, even when you are not
FLEXLM

connected to the network.

You indicate how long you want to borrow the license, and a copy of the
license will be stored on your PC. During that time the floating license will
be kept in use by the license server; other network users cannot use that
feature.
Flexible License Manager (FLEXlm) 2−9

After the specified time the floating license will be released, and the
feature can be used by other network users again.

The maximum borrowing time is 3 weeks (504 hours). If you need a


longer period, contact your local Altium representative.

To be able to use borrowing, you need a license file which allows


borrowing. The FEATURE line must contain the keyword BORROW.

If you are also using an older version of a tool, that does not support
borrowing, make sure that you use port@host to specify the license file,
instead of referencing a local license file (even if you are working on the
license server).

How to start Borrowing


To initiate borrowing using the graphical interface:

1. From the Windows Start menu, select Programs −> TASKING FLEXlm
version −> FLEXlm Tools, or start lmtools from the \licensing
directory on the FLEXlm product CD.

The license manager tool appears.

2. Click the Borrowing tab.

3. Specify Tasking at the Vendor Name field.

4. Specify the Return Date and optionally the Return Time fields.

5. Click the Set Borrow Expiration button.

Example of initiating borrowing using the command line:


lmborrow Tasking 11−oct−2012

Start all the tools you intend to use (compiler, assembler, linker, debugger,
etc.) at least once, so the borrowed license can be stored on your
computer. After that, you can unplug the network cable.

• • • • • • • •
2−10 Chapter 2

How to stop Borrowing


To stop borrowing using the graphical interface:

1. From the Windows Start menu, select Programs −> TASKING FLEXlm
version −> FLEXlm Tools, or start lmtools from the \licensing
directory on the FLEXlm product CD.

The license manager tool appears.

2. Click the Borrowing tab.

3. Click the Don’t Borrow Anymore Today button.

To stop borrowing using the command line:


lmborrow −clear

2.4 LICENSE ADMINISTRATION TOOLS


The following utilities are provided to facilitate license management by
your system administrator. In certain cases, execution access to a utility is
restricted to users with root privileges. Complete descriptions of these
utilities are provided at the end of this section.

lmborrow
Supports borrowing of floating licenses.

lmdiag
Diagnoses license checkout problems.

lmdown
Gracefully shuts down all license daemons (both lmgrd and all vendor
daemons, such as Tasking) on the license server.
FLEXLM

lmgrd
The main daemon program for FLEXlm.

lmhostid
Reports the host ID of a system.
Flexible License Manager (FLEXlm) 2−11

lmpath
Shows the license path, or sets the license path in the FLEXlm registry
(Windows) or $HOME/.flexlmrc (UNIX).

lmremove
Removes a single user’s license for a specified feature.

lmreread
Causes the license daemon to reread the license file and start any new
vendor daemons.

lmstat
Helps you monitor the status of all network licensing activities.

lmswitch
Switches the debug log file.

lmver
Reports the FLEXlm version of a library or binary file.

lmtools (Windows only)


This is a graphical Windows version of the license administration tools.

tsk_licmaint
Test for hanging licenses and remove them.

• • • • • • • •
2−12 Chapter 2

2.4.1 LMBORROW

Name
lmborrow − borrow floating licenses

Synopsis
lmborrow {vendor | all} enddate [time]

lmborrow −clear

lmborrow −status

lmborrow −return [ −c license_file ] [ −d display ] feature

Description
lmborrow supports borrowing of licenses that contain the BORROW
attribute. It must be run on the machine where licenses are borrowed. It is
used to perform the following:
• Initiating borrowing by setting the borrow period.
This has the effect of setting LM_BORROW with the borrow period in
either the registry (Windows) or in $HOME/.flexlmrc (UNIX).
• Clearing the borrow period
• Determining borrow status
• Returning a borrowed license early

Parameters
vendor The vendor daemon name that serves the licenses to be
borrowed (e.g. Tasking), or all specifies all vendor daemons
in that license server.

enddate [time]
Date the license is to be returned in dd−mmm−yyyy format.
time is optional and is specified in 24−hour format (hh:mm)
in the FLEXlm licensed application’s local time. If time is
FLEXLM

unspecified, the checkout lasts until the end of the given end
date.

feature The name of the borrowed feature to be returned early. Use


lmborrow −status to get a list of borrowed feature names.
Flexible License Manager (FLEXlm) 2−13

Options
−c license_file
Use the specified license_file. If no −c option is specified,
lmborrow looks for the environment variable
LM_LICENSE_FILE in order to find the license file to use. If
that environment variable is not set, lmborrow looks for the
file c:\flexlm\license.dat (Windows), or
/usr/local/flexlm/licenses/license.dat (UNIX).

−d display
Used to specify the display from which the borrow was
initiated. Required if your current display is different than
what was used to initiate the borrow. On Windows, it is the
system name or, in the case of a terminal server environment,
the terminal server client name. On UNIX, it is in the form
/dev/ttyxx or the X−Display name.

−clear Clear the LM_BORROW setting in the registry (Windows) or


$HOME/.flexlmrc (UNIX). Clearing the LM_BORROW setting
stops licenses from being borrowed until borrowing is
initiated again. Clearing LM_BORROW does not change the
status for already−borrowed licenses.

−status Print information about borrowed features. The borrowing


system does not have to be connected to the network to
determine the status.

−return Return a borrowed license early. First you have to reconnect


the borrowing system back to the network.

• • • • • • • •
2−14 Chapter 2

2.4.2 LMDIAG

Name
lmdiag − diagnose license checkout problems

Synopsis
lmdiag [ −c license_file ] [ −n ] [ feature [:keyword=value]]

Description
lmdiag allows you to diagnose problems when you cannot check out a
license.

If no feature is specified, lmdiag will operate on all features in the license


file(s) in your path. lmdiag will first print information about the license,
then attempt to check out each license. If the checkout succeeds, lmdiag
will indicate this. If the checkout fails, lmdiag will give you the reason for
the failure. If the checkout fails because lmdiag cannot connect to the
license server, then you have the option of running "extended connection
diagnostics".

These extended diagnostics attempt to connect to each port on the license


server node, and can detect if the port number in the license file is
incorrect. lmdiag will indicate each port number that is listening, and if it
is an lmgrd process, lmdiag will indicate this as well. If lmdiag finds the
vendor daemon for the feature being tested, then it will indicate the
correct port number for the license file to correct the problem.

Parameters
feature Diagnose this feature only.

keyword=value
If a license file contains multiple lines for a particular feature,
select a particular line for lmdiag to report on. For example:
lmdiag f1:HOSTID=12345678 attempts a checkout on the
line with the host ID 12345678. keyword is one of the
FLEXLM

following: VERSION, HOSTID, EXPDATE, KEY,


VENDOR_STRING , ISSUER.
Flexible License Manager (FLEXlm) 2−15

Options
−c license_file
Diagnose the specified license_file. If no −c option is
specified, lmdiag looks for the environment variable
LM_LICENSE_FILE in order to find the license file to use. If
that environment variable is not set, lmdiag looks for the file
c:\flexlm\license.dat (Windows), or
/usr/local/flexlm/licenses/license.dat (UNIX).

−n Run in non−interactive mode; lmdiag will not prompt for


any input in this mode. In this mode, extended connection
diagnostics are not available.

• • • • • • • •
2−16 Chapter 2

2.4.3 LMDOWN

Name
lmdown − graceful shutdown of all license daemons

Synopsis
lmdown [ −c license_file ] [ −vendor vendor ] [ −q ] [ −all ] [ −force ]

Description
The lmdown utility allows for the graceful shutdown of all license
daemons (both lmgrd and selected or all vendor daemons, such as
Tasking) on all nodes. You may want to protect the execution of
lmdown, since shutting down the servers causes users to lose their
licenses. See the −p option in Section 2.4.4, lmgrd.

lmdown sends a message to every license daemon asking it to shut down.


The license daemons write out their last messages to the log file, close the
file, and exit. All licenses which have been given out by those daemons
will be revoked, so that the next time a client program goes to verify his
license, it will not be valid.

When shutting down a three−server redundant license server, there is a


one minute delay before the servers shut down. lmdown shuts down all
three license servers of a set of redundant license servers. If you need to
shut down one of a set of redundant license servers (not recommended
because you are left with two points of failure), you must kill both the
lmgrd and vendor daemon processes on that license server machine.

On UNIX, do not use kill −9 to shut down the license servers. On


Windows, if you must use the Task Manager to kill the FLEXlm service, be
sure to end the lmgrd process first, then all the vendor daemon processes.

Options
−c license_file
FLEXLM

Use the specified license_file. If no −c option is specified,


lmdown looks for the environment variable
LM_LICENSE_FILE in order to find the license file to use. If
that environment variable is not set, lmdown looks for the
file c:\flexlm\license.dat (Windows), or
/usr/local/flexlm/licenses/license.dat (UNIX).
Flexible License Manager (FLEXlm) 2−17

−vendor vendor
Shut down only this vendor daemon (for example Tasking).
lmgrd continues running.

−q Quiet mode. If this switch is not specified, lmdown asks for


confirmation before asking the license daemons to shut
down. If this switch is specified, lmdown will not ask for
confirmation.

−all If multiple servers are specified, automatically shuts down all


of them. −q is implied with −all.

−force If licenses are borrowed, lmdown runs only from the


machine where the license server is running, and then only if
you add −force.

lmgrd, lmstat, lmreread

• • • • • • • •
2−18 Chapter 2

2.4.4 LMGRD

Name
lmgrd − flexible license manager daemon

Synopsis
lmgrd [ −c license_file ] [ −l [+]logfile ] [−2 −p] [−local]
[−x lmdown] [−x lmremove] [−z] [−v]

Description
lmgrd is the main daemon program for the FLEXlm distributed license
management system. When invoked, it looks for a license file containing
all required information about vendors and features and starts those
vendor daemons. On UNIX systems, it is strongly recommended that
lmgrd be run as a non−privileged user (not root).

Options
−c license_file
Use the specified license_file. If no −c option is specified,
lmgrd looks for the environment variable
LM_LICENSE_FILE in order to find the license file to use. If
that environment variable is not set, lmgrd looks for the file
c:\flexlm\license.dat (Windows), or
/usr/local/flexlm/licenses/license.dat (UNIX).

−l [+]logfile Specifies the debug log file to use. With the + character
appends logging entries. Instead of using the −l option you
can use output redirection (> or >>) to specify the name of
the debug log file.

−2 −p Restricts usage of lmdown, lmreread, and lmremove to a


FLEXlm administrator who is by default root. If there is a
UNIX group called "lmadmin" then use is restricted to only
members of that group. If root is not a member of this group,
FLEXLM

then root does not have permission to use any of the above
utilities. If −2 −p is used when starting lmgrd, no user on
Windows can shut down the license server with lmdown.
See the −x option how to stop lmgrd.

−local Restricts the lmdown command to be run only from the


same machine where lmgrd is running.
Flexible License Manager (FLEXlm) 2−19

−x lmdown Disable the lmdown command (no user can run lmdown).
If lmdown is disabled, stop lmgrd via kill pid (UNIX) or
stop the lmgrd and vendor daemon processes (Tasking)
through the Windows Task Manager or Windows service. On
UNIX, be sure the kill command does not have a −9
argument.

−x lmremove
Disable the lmremove command (no user can run
lmremove).

−z Run in foreground. The default behavior is to run in the


background. If −l logfile is present, then no windows are
used, but if no −l argument is specified, separate windows
are used for lmgrd and each vendor daemon.

−v Prints lmgrd version number and copyright and exits.

lmdown, lmstat

• • • • • • • •
2−20 Chapter 2

2.4.5 LMHOSTID

Name
lmhostid − report the host ID of a system

Synopsis
lmhostid [−n] [−type]

Description
lmhostid returns the FLEXlm host ID of the current platform. Invoked
without any arguments, lmhostid displays the default host ID type for the
current platform. Otherwise, the host ID corresponding to the requested
type is displayed, if supported on the current platform.

The output of lmhostid looks like this:


lmhostid − Copyright (c) 1989−2012 Flexera Software LLC.
The FLEXlm host ID of this machine is "1200abcd"

Options
−n Only the host ID, itself, is returned as a string, which is
appropriate to use with HOSTID= in the license file. Header
text is suppressed.

−type One of the following host ID types. If not specified, the


default host ID for the current platform is displayed.

Option Description
−ether Ethernet address.
−string String id.
−vsn Volume serial number. (Windows platforms only)
−flexid Parallel or USB FLEXid hardware key identification.
(Windows platforms only)
FLEXLM

−long 32−bit host ID.

Table 2−2: Platform Dependent Host IDs


Flexible License Manager (FLEXlm) 2−21

Option Description
−user Current user name.
−display Current display name. On Windows, it is the system name or,
in case of a terminal server environment, the terminal server
client name. On UNIX, it is in the form /dev/ttyxx or the
X−Display name.
−hostname Current host name.
−internet IP address of current platform in the form ###.###.###.###.

Table 2−3: Platform Independent Host IDs

• • • • • • • •
2−22 Chapter 2

2.4.6 LMPATH

Name
lmpath − control FLEXlm license path settings

Synopsis
lmpath {−add | −override} {vendor | all} license_file_list

lmpath −status

Description
The lmpath utility allows direct control over FLEXlm license path settings.
It is used to add, override, or get the current license path settings.

lmpath works by setting the FLEXlm registry entry on Windows or


$HOME/.flexlmrc on UNIX.

Parameters
vendor The vendor daemon name (e.g. Tasking), or all specifies all
vendor daemons in that license server.

license_file_list
A colon−separated list on UNIX and a semicolon− separated
list on Windows. If license_file_list is the null string, "", then
the specified entry is deleted.

Options
−add Prepends license_file_list to the current license file list or
creates the license file list, if it does not exist, initializing it to
license_file_list. Duplicates are discarded.

−override Overrides the existing license file list with license_file_list. If


license_file_list is the null string, "", the specified list is
deleted.
FLEXLM

−status Display the current license path settings.


Flexible License Manager (FLEXlm) 2−23

2.4.7 LMREMOVE

Name
lmremove − remove specific licenses and return them to license pool

Synopsis
lmremove [ −c license_file ] feature user user_host [ display ]

or:

lmremove [ −c license_file ] −h feature server_host port handle

Description
The lmremove utility allows the system administrator to remove a single
user’s license for a specified feature. This could be required in the case
where the licensed user was running the software on a node that
subsequently crashed. This situation will sometimes cause the license to
remain unusable. lmremove will allow the license to return to the pool of
available licenses.

lmremove will remove all instances of user on node user_host on display


display from usage of feature. If the optional −c license_file is specified,
the indicated file will be used as the license file.

The −h variation uses the server_host, port, and license handle, as reported
by lmstat −a.

You can protect the unauthorized execution of lmremove when you start
up the license manager daemon, lmgrd, because removing a user’s license
is disruptive.

Options
−c license_file
Use the specified license_file. If no −c option is specified,
lmremove looks for the environment variable
LM_LICENSE_FILE in order to find the license file to use. If
that environment variable is not set, lmremove looks for the
file c:\flexlm\license.dat (Windows), or
/usr/local/flexlm/licenses/license.dat (UNIX).

lmgrd, lmstat

• • • • • • • •
2−24 Chapter 2

2.4.8 LMREREAD

Name
lmreread − tells the license daemon to reread the license file

Synopsis
lmreread [ −c license_file ] [ −vendor vendor ] [ −all ]

Description
lmreread allows the system administrator to tell the license daemon to
reread the license file and start any new vendor daemons that have been
added. In addition, all currently running vendor daemons are signaled to
reread the license file and their end−user options files for changes in
feature licensing information or option settings. lmreread recognizes
changes to server machine host names, but cannot be used to change
server TCP/IP port numbers.

If the optional vendor daemon name is specified, only the named daemon
rereads the license file and its end−user options file (in this case, lmgrd
does not reread the license file).

The license administrator may want to protect the execution of lmreread.


See the options −p and −x in Section 2.4.4, lmgrd for details about
securing access to lmreread.

lmreread uses the license file from the command line (or the default file,
if none is specified) only to find the license daemon to send it the
command to reread the license file. The license manager daemon, lmgrd,
will always reread the file that it loaded from the original path. If you need
to change the path to the license file read by the license manager daemon,
then you must shut down the daemon and restart it with that new license
file path.

To stop and restart a single vendor daemon, use lmdown −vendor


vendor, then use lmreread −vendor vendor, which restarts the vendor
FLEXLM

daemon.
Flexible License Manager (FLEXlm) 2−25

Options
−c license_file
Use the specified license_file. If no −c option is specified,
lmreread looks for the environment variable
LM_LICENSE_FILE in order to find the license file to use. If
that environment variable is not set, lmreread looks for the
file license.dat in the default location.

−vendor vendor
Only this one vendor daemon rereads the license file. lmgrd
restarts the vendor daemon if necessary.

−all If more than one lmgrd is specified, instructs all lmgrds to


reread.

lmgrd, lmdown

• • • • • • • •
2−26 Chapter 2

2.4.9 LMSTAT

Name
lmstat − report status on license manager daemons and feature usage

Synopsis
lmstat [ −a ] [−c license_file ] [ −f feature ] [ −S vendor ]

Description
lmstat helps you monitor the status of all network licensing activities,
including:
• Daemons that are running
• Users of individual features
• Users of features served by a specific DAEMON
• BORROW licenses borrowed
lmstat prints information that it receives from the license server; therefore,
it does not report on unserved licenses such as uncounted licenses. To
report on an uncounted license, the license must be added to a served
license file and the application must be directed to use the license server
for that license file (via @host, port@host or USE_SERVER). Queued users
and licenses shared due to duplicate grouping are also not returned by
lmstat.

Example output of lmstat −a


License server status: 2700@myhost1
License file(s) on myhost1: /usr/local/flexlm/licenses/license.dat:

myhost1: license server UP (MASTER) v8.4

Vendor daemon status (on myhost1):

Tasking: UP v8.4

Feature usage info:


FLEXLM

Users of SWxxxx−xx: (Total of 99 licenses issued; Total of 1


license in use)
"SWxxxx−xx" v99.900, vendor: Tasking
floating license

rb myhost2 /dev/tty (v99.9) (myhost1/2700 9242),


start Wed 5/26 11:42 (linger: 300)
Flexible License Manager (FLEXlm) 2−27

where:

rb user User name.


myhost2 user_host Host where user is running.
/dev/tty display Display where user is running..
v99.9 version Version of feature.
myhost1 server_host Host where license server is
running.
2700 port TCP/IP port on server_host
where license server is running.
9242 handle License handle.
start Wed 5/26 checkout_time Time that this license was
11:42 (linger: checked out..
300)

The user, user_host, display, server_host, port, and handle information is


used when removing licenses with lmremove.

Options
−a Display all information.

−c license_file
Use the specified license_file. If no −c option is specified,
lmstat looks for the environment variable
LM_LICENSE_FILE in order to find the license file to use. If
that environment variable is not set, lmstat looks for the file
c:\flexlm\license.dat (Windows), or
/usr/local/flexlm/licenses/license.dat (UNIX).

−f feature List all users of the specified feature(s).

−S vendor List all users of the specified vendor’s features.

lmgrd

• • • • • • • •
2−28 Chapter 2

2.4.10 LMSWITCH

Name
lmswitch − switch the debug log file

Synopsis
lmswitch [ −c license_file ] feature new−file

or:

lmswitch [ −c license_file ] vendor new−file

Description
The lmswitch utility switches the debug log file written by a particular
vendor daemon (such as Tasking) by closing the existing debug log for
that vendor daemon and starting a new debug log for that vendor daemon
with a new file name. It also starts a new debug log file written by that
vendor daemon if one does not already exist.

By default, debug log output from lmgrd and all vendor daemons started
by that lmgrd get written into the same debug file. lmswitch allows
companies to keep separate log files for different vendors and control the
size of their debug log file.

If debug log output is not already directed to a separate file for this vendor
daemon, lmswitch tells the vendor daemon to start writing its debug log
output to a file, new−file. If this vendor daemon is already writing to its
own debug log, lmswitch tells the vendor daemon to close its current
debug log file and start writing its debug log output to new−file.

The effect of lmswitch continues only until the vendor daemon is shut
down or its options file is reread via lmreread. When the vendor daemon
is restarted or its options file is reread, it looks for a DEBUGLOG line in the
options file to determine whether or not to write its debug log output into
its own file and, if so, what file to write.
FLEXLM

Parameters
feature Any feature this daemon supports.

vendor The name of the vendor daemon (such as Tasking).

new−file Path to new debug log file.


Flexible License Manager (FLEXlm) 2−29

Options
−c license_file
Use the specified license_file. If no −c option is specified,
lmswitch looks for the environment variable
LM_LICENSE_FILE in order to find the license file to use. If
that environment variable is not set, lmswitch looks for the
file c:\flexlm\license.dat (Windows), or
/usr/local/flexlm/licenses/license.dat (UNIX).

Section 2.5, The Debug Log File.

• • • • • • • •
2−30 Chapter 2

2.4.11 LMVER

Name
lmver − report the FLEXlm version of a library or binary file

Synopsis
lmver filename

Description
The lmver utility reports the FLEXlm version of a library or binary file.

Alternatively, on UNIX systems, you can use the following commands to


get the FLEXlm version of a binary:

strings file | grep Copy

Parameters
filename Name of the executable of a TASKING product, lmgrd, a
license administration tool or a vendor daemon (Tasking).
FLEXLM
Flexible License Manager (FLEXlm) 2−31

2.4.12 TSK_LICMAINT

Name
tsk_licmaint − test for hanging licenses and remove them

Synopsis
tsk_licmaint license_file hours [logfile]

Description
The tsk_licmaint utility allows the system administrator to check for
floating licenses which appear to be hanging and automatically removes
them.

You can start this utility manually, or periodically by creating a scheduled


task.

When a license is freed, it takes the linger−time before it really is free and
can be re−used again.

Parameters
license_file The name of the license file to read licenses from.

hours The number of hours to wait before a license is considered


to be hanging and needs to be removed. 2 hours is the
minimum.

logfile The full path to a logfile to follow activities. This file is


optional.

• • • • • • • •
2−32 Chapter 2

2.4.13 LICENSE ADMINISTRATION TOOLS FOR


WINDOWS

2.4.13.1 LMTOOLS FOR WINDOWS


For the 32−bit Windows platforms, an lmtools.exe Windows program is
provided. It has the same functionality as listed in the previous sections
but is graphically−oriented. Simply run the program (from the Windows
Start menu, select Programs −> TASKING FLEXlm version −> FLEXlm
Tools) and choose a tab for the functionality required. Refer to the
previous sections for information about the options of each feature.

2.4.13.2 FLEXLM LICENSE MANAGER FOR WINDOWS


lmgrd.exe can be run manually or using the graphical Windows tool
lmtools.exe.

Configure a license manager as a service


To configure a license manager as a service, you must have Administrator
privileges:

1. From the Windows Start menu, select Programs −> TASKING FLEXlm
version −> FLEXlm Tools.

The license manager tool appears.

2. On the Service/License File tab, select Configuration using Services


and select FLEXLM License Manager for TASKING
FLEXLM
Flexible License Manager (FLEXlm) 2−33

3. Open the Config Services tab.

4. Enter the information as shown in the image above (enable Use Services
and Start Server at Power Up) and click on the Save Service button.

From now on, when the machine is rebooted, the license manager starts
automatically as a Windows service.

• • • • • • • •
2−34 Chapter 2

Manually control the license manager


Once the license manager service is configured, lmgrd is started by
starting the service from the LMTOOLS interface:

1. From the Windows Start menu, select Programs −> TASKING FLEXlm
version −> FLEXlm Tools.

The license manager tool appears.

2. On the Service/License File tab, select Configuration using Services


and select FLEXLM License Manager for TASKING

3. On the Start/Stop/Reread tab, click on the Start Server button.

The FLEXLM License Manager for TASKING license server starts and
writes its debug log output to c:\flexlm\license.log .
FLEXLM
Flexible License Manager (FLEXlm) 2−35

2.5 THE DEBUG LOG FILE


The FLEXlm daemons all generate debug log files containing messages in
the following format:

hh:mm:ss (daemon) message

Where:

hh:mm:ss The time that the message was logged.

daemon Either lmgrd or the vendor daemon name (Tasking).

In the case where a single copy of the daemon cannot


handle all of the requested licenses, an optional _"
followed by a number indicates that this message comes
from a forked daemon.

message The text of the message.

The log files can be used to:


• Inform you when it may be necessary to update your application
software licensing arrangement.
• Diagnose configuration problems.
• Diagnose daemon software errors.
The messages are grouped below into the above three categories, with
each message followed by a brief description of its meaning.

• • • • • • • •
2−36 Chapter 2

2.5.1 INFORMATIONAL MESSAGES

Connected to host
This daemon is connected to its peer on host.

CONNECTED, master is host


The license daemons log this message when a quorum is up and everyone
has selected a master.

DEMO mode supports only one SERVER host!


An attempt was made to configure a demo version of the software for
more than one server host.

DENIED: N feature to user


user was denied access to N licenses of feature. This message may indicate
a need to purchase more licenses.

EXITING DUE TO SIGNAL nnn


EXITING with code nnn
All daemons list the reason that the daemon has exited.

EXPIRED: feature
feature has passed its expiration date.

IN: "feature" user (num licenses)


user has checked back in num licenses of feature.

Lost connection to host


A daemon can no longer communicate with its peer on node host, which
can cause the clients to have to reconnect, or cause the number of
daemons to go below the minimum number, in which case clients may
start exiting. If the license daemons lose the connection to the master, they
FLEXLM

kill all the vendor daemons; vendor daemons shut themselves down.

Lost quorum
The daemon lost quorum, so will process only connection requests from
other daemons.
Flexible License Manager (FLEXlm) 2−37

MULTIPLE vendor servers running. Please kill, and restart license


daemon
The license manager daemon, lmgrd, has detected that multiple vendor
daemons for vendor are running. Shutdown lmgrd and all vendor
daemons with the lmdown utility and then restart lmgrd.

OUT: "feature" user (num licenses)


user has checked out num licenses of feature.

RESERVE feature for HOST host


RESERVE feature for USER user
A license of feature is reserved for either user or host.

REStarted vendor (internet port nnn)


Vendor daemon vendor was restarted at internet port nnn.

Retrying socket bind (address in use)


The license servers try to bind their sockets for approximately 6 minutes if
they detect address in use errors.

Selected (EXISTING) master host


This license daemon has selected an existing master host as the master.

SERVER shutdown requested


A daemon was requested to shut down via a user−generated kill
command.

Server started for: "feature−list"


A (possibly new) server was started for the features listed.

Shutting down vendor


The license manager daemon is shutting down the vendor daemon vendor.

SIGCHLD received. Killing child servers


A vendor daemon logs this message when a shutdown was requested by
the license daemon.

• • • • • • • •
2−38 Chapter 2

Started vendor
The license daemon logs this message whenever it starts a new vendor
daemon.

Trying connection to host


The daemon is attempting a connection to host.
FLEXLM
Flexible License Manager (FLEXlm) 2−39

2.5.2 CONFIGURATION PROBLEM MESSAGES

host: Not a valid server host, exiting


This daemon was run on an invalid host name.

host: Wrong hostid, exiting


The host ID is wrong for host.

BAD CODE for feature


The specified feature name has a bad encryption code.

CANNOT OPEN options file file


The options file specified in the license file could not be opened.

Couldn’t find a master


The daemons could not agree on a master.

License daemon: lost all connections


This message is logged when all the connections to a server are lost,
which often indicates a network problem.

lost lock, exiting


Error closing lock file
Unable to re−open lock file
The vendor daemon has a problem with its lock file, usually because of an
attempt to run more than one copy of the daemon on a single node.
Locate the other daemon that is running via a ps command, and kill it
with kill −9.

NO DAEMON line for vendor


The license file does not contain a DAEMON or VENDOR line for vendor.

No DAEMON lines, exiting


The license daemon logs this message if there are no DAEMON or VENDOR
lines in the license file. Because there are no vendor daemons to start,
there is nothing for the license daemon to do.

• • • • • • • •
2−40 Chapter 2

No features to serve!
A vendor daemon found no features to serve. This could be caused by bad
data in the license file.

UNSUPPORTED FEATURE request: feature by user


The user has requested a feature that this vendor daemon does not
support. This can happen for a number of reasons: the license file is bad,
the feature has expired, or the daemon is accessing the wrong license file.

Unknown host: host


The host name specified on a SERVER line in the license file does not exist
in the network database (probably /etc/hosts).
FLEXLM
Flexible License Manager (FLEXlm) 2−41

2.5.3 DAEMON SOFTWARE ERROR MESSAGES

accept: message
An error was detected in the accept system call.

Can’t allocate server table space


A malloc error. Check swap space.

Connection to host: TIMED OUT


The daemon could not connect to host.

Illegal connection request to vendor


A connection request was made to vendor, but this vendor daemon is not
vendor.

read: error message


An error in a read system call was detected.

select: message
An error in a select system call was detected.

Server exiting
The server is exiting. This is normally due to an error.

• • • • • • • •
2−42 Chapter 2

2.6 FLEXLM LICENSE ERRORS

FLEXlm license error, encryption code in license file is inconsistent


Check the contents of the license file using the license key for the product.
Correct the license file and run the lmreread command. However, do not
change the last (fourth) field of a SERVER line in the license file. This
cannot have any effect on the error message but changing it will cause
other problems.

This error could also be the result of using an old version of lmgrd or
Tasking daemon, in combination with a TASKING tool which requires a
newer version of lmgrd/Tasking daemon, and using port@host.

license file does not support this version


If this is a first time install then follow the procedure for the error message:
FLEXlm license error, encryption code in license file is
inconsistent

because there may be a typo in the fourth field of a FEATURE line of your
license file. In all other cases you need a new license because the current
license is for an older version of the product.

Replace the FEATURE line for the old version of the product with a
FEATURE line for the new version (it can be found on the new license
data sheet). Run the lmreread command afterwards. You can have only
one version of a feature (previous versions of the product will continue to
work).

FLEXlm license error, cannot find license file


Make sure the license file exists. If the pathname printed on the line after
the error message is incorrect, correct this by setting the
LM_LICENSE_FILE environment variable to the full pathname of the
license file.

FLEXlm license error, cannot read license file


FLEXLM

Every user needs to have read access on the license file and at least
execute access on every directory component in the pathname of the
license file. Write access is never needed. Read access on directories is
recommended.
Flexible License Manager (FLEXlm) 2−43

FLEXlm license error, no such feature exists


Check the license file. There should be a line starting with:
FEATURE SWiiiiii−jj

where "iiiiii" is a six digit software code and "jj" is a two digit host code
for identifying a compatible host architecture. During product installations
the product code is shown, e.g. SW008002, SW019002. The number in the
software code is the same as the number in the product code except that
the first number may contain an extra leading zero (it must be six digits
long).
The line after the license error message describes the expected feature
format and includes the host code.
Correct the license file using the license key for the product and run the
lmreread command. There is one catch: do not add extra SERVER lines or
change existing SERVER lines in the license file.

FLEXlm license error, license server does not support this feature
If the LM_LICENSE_FILE variable has been set to the format
number@host then see first the solution for the message:
FLEXlm license error, no such feature exists

Run the lmreread program to inform the license server about a changed
license data file. If lmreread succeeds informing the license server but the
error message persists, there are basically three possibilities:

1. The license key is incorrect. If this is the case then there must be an error
message in the log file of lmgrd. Correct the key using the license key for
the product. Finally rerun lmreread. The log file of lmgrd is usually
specified to lmgrd at startup with the −l option or with >.

2. Your network has more than one FLEXlm license server daemon and the
default license file location for lmreread differs from the default assumed
by the program. Also, there must be more than one license file. Try one of
the following solutions on the same host which produced the error
message:
− type:
lmreread −c /usr/local/flexlm/licenses/license.dat
− set LM_LICENSE_FILE to the license file location and retry the
lmreread command.

• • • • • • • •
2−44 Chapter 2

− use the lmreread program supplied with the product SW000098,


Flexible License Manager. SW000098 is bundled with all TASKING
products.
3. There is a protocol version mismatch between lmgrd and the daemon
with the name "Tasking" (the vendor daemon according to FLEXlm
terminology) or there is some other internal error. These errors are always
written to the log file of lmgrd. The solution is to upgrade the lmgrd
daemon to the one supplied in SW000098, the bundled Flexible License
Manager product.

On the other hand, if lmreread complains about not being able to


connect to the license server then follow the procedure described in the
next section for the error message "Cannot read license file data from
server". The only difference with the current situation is that not the
product but a license management utility shows a connect problem.

FLEXlm license error, Cannot read license file data from server
This indicates that the program could not connect to the license server
daemon. This can have a number of causes. If the program did not
immediately print the error message but waited for about 30 seconds (this
can vary) then probably the license server host is down or unreachable. If
the program responded immediately with the error message then check
the following if the LM_LICENSE_FILE variable has been set to the format
number@host:
− is the number correct? It should match the fourth field of a SERVER
line in the license file on the license server host. Also, the host
name on that SERVER line should be the same as the host name set
in the LM_LICENSE_FILE variable. Correct LM_LICENSE_FILE if
necessary.
In any case one should verify if the license server daemon is running.
Type the following command on the host where the license server
daemon (lmgrd) is supposed to run.

On Windows:
FLEXLM

From the Windows Start menu, select Run and enter taskmgr. On the
Processes tab, look for lmgrd.

On Linux or SunOS 4.x:


ps wwax | grep lmgrd | grep −v grep
Flexible License Manager (FLEXlm) 2−45

On HP−UX or SunOS 5.x (Solaris 2.x):


ps −ef | grep lmgrd | grep −v grep

If the command does not produce any output then the license server
daemon is not running. See below for an example how to start lmgrd.

Make sure that both license server daemon (lmgrd) and the program are
using the same license data. All TASKING products use the license file
c:\flexlm\license.dat (Windows), or
/usr/local/flexlm/licenses/license.dat (UNIX) unless
overruled by the environment variable LM_LICENSE_FILE . However, not
all existing lmgrd daemons may use the same default. In case of doubt,
specify the license file pathname with the −c option when starting the
license server daemon. For example:
lmgrd −c /usr/local/flexlm/licenses/license.dat \
−l /usr/local/flexlm/licenses/license.log &

and set the LM_LICENSE_FILE environment variable to the


license.dat pathname mentioned with the −c option of lmgrd before
running any license based program (including lmreread, lmstat,
lmdown). If lmgrd and the program run on different hosts, transparent
access to the license file is assumed in the situation described above (e.g.
NFS). If this is not the case, make a local copy of the license file (not
recommended) or set LM_LICENSE_FILE to the form number@host, as
described earlier.

If none of the above seems to apply (i.e. lmgrd was already running and
LM_LICENSE_FILE has been set correctly) then it is very likely that there
is a TCP port mismatch. The fourth field of a SERVER line in the license
file specifies a TCP port number. That number can be changed without
affecting any license. However, it must never be changed while the license
server daemon is running. If it has been changed, change it back to the
original value. If you do not know the original number anymore, restart
the license server daemon after typing the following command on the
license server host (UNIX):
kill PID

where PID is the process id of lmgrd.

To kill the process of lmgrd and Tasking on Windows: from the


Windows Start menu, select Run and enter taskmgr. On the Processes
tab, select lmgrd and click the End Process button. Select Tasking and
click the End Process button

• • • • • • • •
2−46 Chapter 2

2.7 FREQUENTLY ASKED QUESTIONS (FAQS)

2.7.1 LICENSE FILE QUESTIONS

I’ve received FLEXlm license files from two different companies. Do I


have to combine them?
You don’t have to combine license files. Each license file that has any
’counted’ lines (the ’number of licenses’ field is >0) requires a server. It’s
perfectly OK to have any number of separate license files, with different
lmgrd server processes supporting each file. Moreover, since lmgrd is a
lightweight process, for sites without system administrators, this is often
the simplest (and therefore recommended) way to proceed. With v6+
lmgrd/lmdown/lmreread, you can stop/reread/restart a single vendor
daemon (of any FLEXlm version). This makes combining licenses more
attractive than previously. Also, if the application is v6+, using ’dir/*.lic’ for
license file management behaves like combining licenses without
physically combining them.

When is it recommended to combine license files?


Many system administrators, especially for larger sites, prefer to combine
license files to ease administration of FLEXlm licenses. It’s purely a matter
of preference.

Does FLEXlm handle dates in the year 2000 and beyond?


Yes. The FLEXlm date format uses a 4−digit year. Dates in the 20th century
(19xx) can be abbreviated to the last 2 digits of the year (xx), and use of
this feature is quite widespread. Dates in the year 2000 and beyond must
specify all 4 year digits.

2.7.2 FLEXLM VERSION


FLEXLM

Which FLEXlm versions does TASKING deliver?


We deliver FLEXlm v8.4 on both Windows and UNIX.
Flexible License Manager (FLEXlm) 2−47

I have products from several companies at various FLEXlm version


levels. Do I have to worry about how these versions work together?
If you’re not combining license files from different vendors, the simplest
thing to do is make sure you use the tools (especially lmgrd) that are
shipped by each vendor.

lmgrd will always correctly support older versions of vendor daemons


and applications, so it’s always safe to use the latest version of lmgrd and
the other FLEXlm utilities. If you’ve combined license files from two
vendors, you must use the latest version of lmgrd.

If you’ve received two versions of a product from the same vendor, you
must use the latest vendor daemon they sent you. An older vendor
daemon with a newer client will cause communication errors.

Please ignore letters appended to FLEXlm versions, for example, the "a" in
v8.4a. The appended letter indicates a patch, and does NOT indicate any
compatibility differences. In particular, some elements of FLEXlm didn’t
require certain patches, so a v8.4 lmgrd will work successfully with a
v8.4a vendor daemon.

I’ve received a new copy of a product from a vendor, and it uses a new
version of FLEXlm. Is my old license file still valid?
Yes. Older FLEXlm license files are always valid with newer versions of
FLEXlm.

2.7.3 WINDOWS QUESTIONS

What Windows Host Platforms can be used as a server for Floating


Licenses?
The system being used as the server (where the FLEXlm License Manager
is running) for Floating licenses, must be Windows 7, NT, 2000 or XP. The
FLEXlm License Manager does not run properly with Windows 95/98/Me.

• • • • • • • •
2−48 Chapter 2

2.7.4 TASKING QUESTIONS

How will the TASKING licensing/pricing model change with License


Management (FLEXlm)?
TASKING will now offer the following types of licenses so you can
purchase licenses based upon usage:

License Description Pricing


Node Locked This license can only be used on a The pricing for this
specific system. It cannot be license will be the
moved to another system. current product pricing.
Floating This license requires a network The pricing for this
(license server and a TCP/IP (or license will be 50%
IPX/SPX) connection between higher than the node
clients and server) and can be used locked license.
on any host system (using the
same operating system) in the
network.

How does FLEXlm affect future product ordering?


For all licenses, node locked or floating, you must provide information
that is used to create a license key. For node locked licenses we must
have the host ID. Floating licenses require the host ID and host name.
The host ID is a unique identification of the machine, which is based upon
different hardware depending upon host platform. The host name is the
network name of the machine.

TASKING Logistics CANNOT ship ANY orders that do not include the host
ID and/or host name information.

What if I do not know the information needed for the license key?
On Windows we have a software utility (licadmin.exe) which will obtain
and display the host ID so a customer can easily obtain this information.
This utility is available from our web site, placed on all product CDs
FLEXLM

(which support FLEXlm), and from technical support. If you have already
installed FLEXlm, you can also use lmhostid.

On UNIX you can use /sbin/ifconfig eth0 on Linux, or hostid on


SunOS/Solaris or lanscan on HP−UX to retrieve the host ID. Use
hostname to retrieve the host name.
Flexible License Manager (FLEXlm) 2−49

• In the case of a Node locked license, it is important that the customer


runs this utility on the exact machine he intends to run the
TASKING tools on.
• In the case of a Floating License, the utility to retrieve the host ID
and/or host name should be run on the machine on which the
FLEXlm license manager will be installed, e.g. the server.

See also section 1.6.6, How to Determine the Host ID and section 1.6.7,
How to Determine the Host Name in chapter Software Installation.

How will the locking" mechanism work?


• For node locked licenses, FLEXlm will first search for an ethernet card.
If one exists, it will lock onto the number of the ethernet card. If an
ethernet card does not exist, FLEXlm will lock onto the hard disk serial
number. If multiple ethernet cards are found, the user can select which
one to use.
• For floating licenses, the ethernet card number will be used.

What happens if I try to move my node locked license to another


system?
The software will not run. You will have to obtain a new license key for
the new system.

What does linger−time for floating licenses mean?


When the TASKING product starts to run, it will try to obtain a license
from the license server. The license server keeps track of the number of
licenses already issued, and grants or denies the request. When the
software has finished running, the license is kept by the license server for
a period of time known as the linger−time". If the same user requests the
TASKING product again within the linger−time, he is granted the license
again. If another user requests a license during the linger−time, his
request is denied until the linger−time has finished

What is the length of the linger−time for floating licenses?


The length of the linger−time for both the Windows and UNIX floating
licenses is 5 minutes.

Can the linger−time be changed?


Yes. A customer can change the linger−time to be larger (but not shorter)
than the time specified by TASKING.

• • • • • • • •
2−50 Chapter 2

What happens if my system crashes or I upgrade to a new system?


You will need to contact Technical Support for temporary license keys due
to a system crash or to move from one system to another system. You will
then need to work with your local sales representative to obtain a
permanent new license key.

2.7.5 USING FLEXLM FOR FLOATING LICENSES

Can I borrow a floating license?


Yes, you can borrow a floating license if it contains the BORROW keyword.
(Contact your sales representative if you do not have one).

Borrowing allows you to use the floating license while disconnected from
the network. The license will be kept occupied by the license manager for
the duration of the borrowing period.

Use FLEXlm Tools (Borrowing tab of LMTOOLS on Windows) or


lmborrow to initiate borrowing.

If all floating licenses are in use, can I wait for a license to become
available?
Yes, you set the environment variable TASKING_LIC_WAIT on the client
system.

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 options file to
allow (or deny) access to clients running on a range of internet addresses.
FLEXLM

Does FLEXlm work with Internet firewalls?


Many firewalls require that port numbers be specified to the firewall.
FLEXlm v5 lmgrd and vendor daemons support this. Append
"port=port−number" to the DAEMON line in the license file.
Flexible License Manager (FLEXlm) 2−51

If my FLEXlm−licensed application dies, does the server free the


license?
Yes, unless the FLEXlm−licensed application’s whole system crashes.
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. If the whole system crashes, then the license is not freed, and
you should use lmremove to free the license.

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:
• Continue periodic attempts to re−checkout the license when the server
comes back up.
• Attempt to re−checkout a license a few times, and then, presumably
with some warning, exit.
• In the case of GUI applications, present pop−ups to the user
periodically letting them know the server is down and needs to be
restarted.

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.

Does FLEXlm require root permissions?


No. There is no part of FLEXlm, lmgrd, vendor daemon or application,
that requires root permissions. In fact, it is strongly recommended that you
do not run the license server (lmgrd) as root, since root processes can
introduce security risks.
If lmgrd must be started from the root user (for example, in a system boot
script), we recommend that you use the ’su’ command to run lmgrd as a
non−privileged user:
su username −c"/path/lmgrd −c /path/license.dat \
−l /path/log −local"

• • • • • • • •
2−52 Chapter 2

where username is a non−privileged user, and path is the correct paths to


lmgrd, license.dat and debug log file. You will have to ensure that the
vendor daemons listed in /path−to−license/license.dat have execute
permissions for username. The paths to all the vendor daemons in the
license file are listed on each DAEMON line.

Is it OK to run lmgrd as ’root’ (UNIX only)?


It is not prudent to run any command, particularly a daemon, as root on
UNIX, as it may pose a security risk to the Operating System. Therefore,
we recommend that lmgrd be run as a non−privileged user (not ’root’). If
you are starting lmgrd from a boot script, we recommend that you use
su username −c "umask 022; /path/lmgrd \
−c /path/license.dat −l /path/log −local"

to run lmgrd as a non−privileged user.

Does FLEXlm licensing impose a heavy load on the network?


No, but partly this depends on the application, and end−user’s use. A
typical checkout request requires 5 messages and responses between
client and server, and each message is < 150 bytes.

When a server is not receiving requests, it requires virtually no CPU time.


When an application, or lmstat, requests the list of current users, this can
significantly increase the amount of networking FLEXlm uses, depending
on the number of current users. Also, prior to FLEXlm v5, use of
’port@host’ can increase network load, since the license file is
down−loaded from the server to the client. ’port@host’ should be, if
possible, limited to small license files (say < 50 features). In v5+,
’port@host’ actually improves performance.

Does FLEXlm work with NFS?


Yes. FLEXlm has no direct interaction with NFS. FLEXlm uses an
NFS−mounted file like any other application.
FLEXLM

Does FLEXlm work with ATM, ISDN, Token−Ring, etc.?


In general, these have no impact on FLEXlm. FLEXlm requires TCP/IP or
SPX (Novell Netware). So long as TCP/IP works, FLEXlm will work.
Flexible License Manager (FLEXlm) 2−53

Does FLEXlm work with subnets, fully−qualified names, multiple


domains, etc.?
Yes, although this behavior was improved in v3.0, and v6.0. When a
license server and a client are located in different domains, fully−qualified
host names have to be used. A fully−qualified hostname is of the form:

machine.domain

where machine is the local host name (usually returned by the


’hostname’ command or ’uname −n’) domain is the internet domain
name, e.g. ’globes.com’.

To ensure success with FLEXlm across domains, do the following:

1. Make the sure the fully−qualified hostname is the name on the SERVER
line of the license file.

2. Make sure ALL client nodes, as well as the server node, are able to ’telnet’
to that fully−qualified hostname. For example, if the host is locally called
’speedy’, and the domain name is ’corp.com’, local systems will be able to
logon to speedy via ’telnet speedy’. But very often, ’telnet
speedy.corp.com ’ will fail, locally.
Note that this telnet command will always succeed on hosts in other
domains (assuming everything is configured correctly), since the network
will resolve speedy.corp.com automatically.

3. Finally, there must be an ’alias’ for speedy so it’s also known locally as
speedy.corp.com . This alias is added to the /etc/hosts file, or if
NIS/Yellow Pages are being used, then it will have to be added to the NIS
database. This requirement goes away in version 3.0 of FLEXlm.

If all components (application, lmgrd and vendor daemon) are v6.0 or


higher, no aliases are required; the only requirement is that the fully
qualified domain name, or IP address, is used as a host name on the
SERVER, or as a host name in the LM_LICENSE_FILE environment
variable (port@host or @host).

Does FLEXlm work with NIS and DNS?


Yes. However, some sites have broken NIS or DNS, which causes FLEXlm
to fail. In v5 of FLEXlm, NIS and DNS can be avoided to solve this
problem. In particular, sometimes DNS is configured for a server that is not
currently available (e.g., a dial−up connection from a Windows system).
Again, if DNS is configured, but the server is not available, FLEXlm fails.

• • • • • • • •
2−54 Chapter 2

In addition, some systems, particularly Sun, SGI, HP, require that


applications be linked dynamically to support NIS or DNS. If a vendor
links statically, this can cause the application to fail at a site that uses NIS
or DNS. In these situations, the vendor will have to relink, or recompile
with v5 FLEXlm. Vendors are strongly encouraged to use dynamic libraries
for libc and networking libraries, since this tends to improve quality in
general, as well as making NIS/DNS work.

On Windows, if a checkout seems to take 3 minutes and then fails, this is


usually because the system is configured for a dial−up DNS server which is
not currently available. The solution here is to turn off DNS.

Finally, hostnames must NOT have periods in the name. These are not
legal hostnames, and they will not work with DNS.

We’re using FLEXlm over a wide−area network. What can we do to


improve performance?
With the most common uses of FLEXlm, traffic is negligible. In particular,
checkout, checkin, and heartbeats use very little networking traffic. There
are two items, however, which can send considerably more data:
• ’lmstat −a’ should be used sparingly. Network traffic increases as
the amount of concurrent users and features increases. As a rule of
thumb, avoid using this command when there are more than 20
concurrent users or features.
• Prior to FLEXlm v5, the port@host mode of the LM_LICENSE_FILE
environment variable should be avoided, especially when the
license file has many features, or there are a lot of license files
included in LM_LICENSE_FILE . The license file information is sent
via the network, and can place a heavy load. Failures due to
port@host generate the error LM_SERVNOREADLIC (−61).
FLEXLM
INDEX

INDEX
Index−2 Index

INDEX
INDEX
Index Index−3

B H
borrowing, 2−8 host ID, determining, 1−13
host name, determining, 1−14

C I
client, 2−3
installation
licensing, 1−7

D Linux, 1−3
UNIX, 1−4
daemon, 2−3 Windows, 1−3
debug log file, 2−4, 2−28, 2−35

L
E license
environment variables floating, 1−7, 2−3
LM_LICENSE_FILE, 1−6, 1−13, 2−6 node−locked, 1−7, 2−3
PATH, 1−6 obtaining, 1−7
TASKING_LIC_WAIT, 1−6 wait for available license, 1−6, 2−50
errors, FLEXlm license, 2−42 license file, 2−4, 2−5
default location, 2−6
location, 1−13
setting search directory, 1−6
F license manager, 2−4
licensing, 1−7
FAQ, FLEXlm, 2−46 LM_BORROW, 2−12
feature, 2−3 LM_LICENSE_FILE, 1−13, 2−6
Flexible License Manager, 2−1 lmborrow, 2−12
FLEXlm, 2−1 lmdiag, 2−14
borrow floating licenses, 2−12, 2−50 lmdown, 2−16
debug log file, 2−35 lmgrd, 2−18
FAQ, 2−46 lmhostid, 2−20
frequently asked questions, 2−46 lmpath, 2−22
license administration tools, 2−10 lmremove, 2−23
for Windows, 2−32 lmreread, 2−24
license errors, 2−42 lmstat, 2−26
options file, 2−7 lmswitch, 2−28
floating license, 1−7

• • • • • • • •
Index−4 Index

lmver, 2−30 Windows, 1−3

N T
node−locked license, 1−7 Tasking vendor daemon, 2−3
tsk_licmaint, 2−31

S V
server node, 2−4
software installation, 1−1 vendor daemon, 2−3
Linux, 1−3
INDEX

You might also like