Appendix D. FLEXlm Status Return Values

These are all the possible errors returned from lc_xxx() functions.

Error number 

Symbolic Name and Description

-1 LM_NOCONFFILE  


"cannot find license file"

The license file cannot be opened. FLEXlm will attempt to open the standard file /usr/local/flexlm/licenses/license.dat,(or C:\FLEXLM\LICENSE.DAT on Windows and Windows NT) or the file specified by the vendor (via lc_set_attr()), or the file specified by the user in LM_LICENSE_FILE.

-2 LM_BADFILE  


"invalid license file syntax"

A feature name is > MAX_FEATURE_LEN,

A daemon name is > MAX_DAEMON_LEN.

A server name is > MAX_SERVER_NAME.

A feature specifies no hostid and # of licenses is <= 0.

-3 LM_NOSERVER  


"cannot connect to a license server"

The daemon name specified in the license file FEATURE line does not match the vendor daemon name.

-4 LM_MAXUSERS  


"licensed number of users already reached"

The licenses number of users has been reached.

-5 LM_NOFEATURE  


"no such feature exists"

The feature could not be found in the license file.

A call was made to one of the software license working group usage metering functions (um_xxx_record()).

-6 LM_NOSERVICE  


"no TCP "license" service exists"

This happens if a SERVER line does not specify a TCP/port number, and the TCP license service does not exist in /etc/services.

-7 LM_NOSOCKET  


"no socket connection to license manager server"

lc_disconn() was called after the process had been disconnected from the socket. This error can also occur if an internal error happens within l_sndmsg() or l_rcvmsg().

-8 LM_BADCODE  


"encryption code in license file is inconsistent"

The code in a license file line does not match the other data in the license file. This is usually the result of not building all the software components with the same encryption seeds. Check create_lic.c, ls_vendor.c, and your application code carefully to insure that they are all built with the same vendor code.

-9 LM_NOTTHISHOST  


"invalid host"

The hostid specified in the license file does not match the node on which the software is running.

-10 LM_LONGGONE  


"feature has expired"

The feature has expired, i.e., today's date is after the expiration date in the license file.

-11 LM_BADDATE  


"invalid date format in license file"

The start or expiration date in the license file is invalid.

-12 LM_BADCOMM  


"invalid returned data from license server"

The port number returned from lmgrd is invalid.

An attempted connection to a vendor daemon did not result in a correct acknowledgment from the daemon.

The daemon did not send back a message within the timeout interval.

A message from the daemon had an invalid checksum.

An lc_userlist() request did not receive the correct data.

-13 LM_NO_SERVER_IN_FILE  


"no SERVER lines in license file"

There is no SERVER line in the license file. All non-zero license count features need at least one SERVER line.

-14 LM_BADHOST  


"cannot find SERVER hostname in network database"

The gethostbyname() system call failed for the SERVER nodename in the license file.

-15 LM_ CANTCONNECT  


"cannot connect to license server"

The connect() system call failed, while attempting to connect to the daemon.

The attempt to connect to the vendor daemon on all SERVER nodes was unsuccessful.

lc_status() returns LM_CANTCONNECT if the feature had been checked out but the program is in the process of reconnecting.

If reconnection fails, the final status return is LM_CANTCONNECT.

-16 LM_CANTREAD  


"cannot read data from license server"

The process cannot read data from the daemon within the timeout interval.

The connection was reset by the daemon (usually because the daemon exited) before the process attempted to read data.

-17 LM_CANTWRITE  


"cannot write data to license server"

The process could not write data to the daemon after the connection was established.

-18 LM_NOSERVSUPP  


"license server does not support this feature"

The feature has expired (on the server node), or has not yet started, or the version is greater than the highest supported version.

-19 LM_SELECTERR  


"error in select system call"

The select() system call failed. This should never happen in a client program.

-20 LM_SERVBUSY  


"license server busy (no majority)"

The license server is busy establishing a quorum of server nodes so that licensing can start. This error is very rare, and checkout should be retried if this occurs.

-21 LM_OLDVER  


"license file does not support this version"

The version requested is greater than the highest version supported in the license file FEATURE line.

-22 LM_CHECKINBAD  


"feature checkin failure detected at license server"

The checkin request did not receive a proper reply from the vendor daemon (the license might still be considered in use).

-23 LM_BUSYNEWSERV  


"license server temporarily busy (new server connecting)"

The vendor daemon is in the process of establishing a quorum condition. New requests from clients are deferred during this period. This request should be retried.

-24 LM_USERSQUEUED  


"users are queued for this feature"

This error is similar to MAXUSERS, but supplies the additional information that there are other users in the queue for this feature.

-25 LM_SERVLONGGONE  


"license server does not support this version of this feature"

The version specified in the checkout request is greater than the highest version number the daemon supports.

-26 LM_TOOMANY  


"request for more licenses than this feature supports"

A checkout request was made for more licenses than are supported in the license file. This request will never succeed.

-27 LM_CANTREADKMEM  


"cannot read /dev/kmem"

The file /dev/kmem is not readable on this system. This error will only occur if using extended hostid checking, which is no longer supported in current versions of FLEXlm.

-28 LM_CANTREADVMUNIX  


"cannot read /vmUNIX"

The file /vmUNIX is not readable on this system. This error will only occur if using extended hostid checking, which is no longer supported in current versions of FLEXlm.

-29 LM_CANTFINDETHER  


"cannot find ethernet device"

The ethernet device could not be located on this system.

-30 LM_NOREADLIC  


"cannot read license file"

The license file could not be read (errno == EPERM or EACCES).

-31 LM_TOOEARLY  


"feature not yet available"

The feature is not enabled yet (current date is before the feature start date).

-32 LM_NOSUCHATTR  


"No such attribute"

A call to lc_get_attr() or lc_set_attr() specified an unknown attribute code.

-33 LM_BADHANDSHAKE  


"Bad encryption handshake with daemon"

The client performs an encryption handshake operation with the daemon prior to any licensing operations. This handshake operation failed.

-34 LM_CLOCKBAD  


"Clock difference too large between client and server"

The date on the client system does not agree closely enough with the date on the server (daemon) system. The amount of difference allowed is set by the software vendor with lc_set_attr(LM_A_MAX_TIMEDIFF, ...).

-35 LM_FEATQUEUE  


"In the queue for this feature"

This checkout request has resulted in the process being placed in the queue for this feature. Subsequent calls to lc_status() will yield the status of this queued request.

-36 LM_FEATCORRUPT  


"Feature database corrupted in daemon"

The daemon's run-time feature data structures have become corrupted. This is an internal daemon error.

-37 LM_BADFEATPARAM  


"Duplicate selection mismatch for this feature"

The checkout request for this feature has specified a duplicates mask that does not match the mask specified by an earlier checkout. This is probably the result of using different versions of your client software, or from having an uninitialized variable in the dup_group field for lc_checkout().

-38 LM_FEATEXCLUDE  


"User/host on EXCLUDE list for feature"

The user/host/display has been excluded from this feature by an end-user's daemon option file.

-39 LM_FEATNOTINCLUDE  


"User/host not on INCLUDE list for feature"

The user/host/display has NOT been included in this feature by an end-user's daemon option file.

-40 LM_CANTMALLOC  


"Cannot allocate dynamic memory"

The malloc() call failed to return sufficient memory.

-41 LM_NEVERCHECKOUT  


"Feature was never checked out"

This code is returned by lc_status() if the feature requested has never been checked out.

-42 LM_BADPARAM  


"Invalid parameter"

A call to lc_set_attr() specified an invalid value for its attribute.

lc_get_attr(LM_A_MASTER,...) called without connection already established to server.

-43 LM_NOKEYDATA  


"No FLEXlm key data supplied in lc_init() call"

No FLEXlm key data was supplied to the lc_init() call. Some FLEXlm functions will be disabled.

-44 LM_BADKEYDATA  


"Invalid FLEXlm key data supplied"

Invalid FLEXlm key data was supplied to the lc_init() call. Some FLEXlm functions will be disabled.

-45 LM_FUNCNOTAVAIL  


"FLEXlm function not available in this version"

This FLEXlm function is not available. This could be a result of a BADKEYDATA, NOKEYDATA, or DEMOKIT return from lc_init().

-46 LM_DEMOKIT  


"FLEXlm software is demonstration version"

lc_init() returns this code when the FLEXlm vendor keys supplied indicate that this is a DEMO kit. Note that this means that FLEXlm functionality will expire.

-47 LM_NOCLOCKCHECK  


"Clock setting check not available in daemon"

lc_checkout() returns this code when the CLOCK SETTING check between client and daemon is not supported in this daemon. Try calling:

lc_set_attr(LM_A_MAX_TIMEDIFF, -1)

to disable the clock check.

-48 LM_BADPLATFORM  


"FLEXlm platform not enabled"

The software is running on a platform which is not supported by the vendor keys you have purchased. To purchase keys for additional platforms, contact Globetrotter Software, Inc.

-49 LM_DATE_TOOBIG  


"Date too late for binary format"

The expiration date format in FLEXlm licenses are good until the year 2027. This is probably a bogus date.

-50 LM_EXPIREDKEYS  


"FLEXlm key data has expired"

The FLEXlm Demo vendor keys have expired. Contact Globetrotter Software for new demo keys.

-51 LM_NOFLEXLMINIT  


"FLEXlm not initialized"

A FLEXlm function was called before lc_init() was called. Always call lc_init() first.

-52 LM_NOSERVRESP  


"Server did not respond to message"

UDP communications failure. UDP communications are not guaranteed. FLEXlm makes a best effort to recover from lost and garbled messages, but this indicates a failure.

-53 LM_CHECKOUTFILTERED  


"Request rejected by vendor-defined filter"

lc_checkout() failed because of the vendor defined routine which is set in ls_vendor.c: ls_outfilter.

-54 LM_NOFEATSET  


"No FEATURESET line present in license file"

lc_ck_feats() called, but no FEATURESET line in license file.

-55 LM_BADFEATSET  


"Incorrect FEATURESET line in license file"

Error return from lc_ck_feats().

-56 LM_CANTCOMPUTEFEATSET  


"Cannot compute FEATURESET line"

Error return from lc_ck_feats(), which occurs because lc_feat_set() can not compute the FEATURESET line. This can happen because there's no FEATUREs in the file.

-57 LM_SOCKETFAIL  


"socket() call failed"

This can occur when the UNIX OS runs out of system resources.

-58 LM_SETSOCKFAIL  


"setsockopt() failed"

The setsockopt() call has failed. This is likely due to an OS error.

-59 LM_BADCHECKSUM  


"message checksum failure"

Communications error -- messages between client and server are encrypted and checksummed for security and integrity. The checksum will usually fail because of poor networking communications.

-60 For internal use.  

-61 LM_SERVNOREADLIC  


"Cannot read license file from server"

This occurs when the license file, via LM_LICENSE_FILE, or lc_set_attr(LM_A_LICENSE_FILE, path), is incorrectly defined. This only occurs when LM_LICENSE_FILE is set to port@host.

-62 LM_NONETWORK  


"Network software (tcp/ip) not available"

This is reported on systems where this is detectable. Some systems may have this problem, but the error will not be reported as LM_NONETWORK—system calls will simply fail.

-63 LM_NOTLICADMIN  


"Not a license administrator"

Various functions, such as lc_remove() and lc_shutdown(), require that the user be an license administrator, depending on how lmgrd was started. See lmgrd(), lmremove() and lmdown().

-64 LM_REMOVETOOSOON  


"lmremove request too soon"

An lc_remove request occurred, but ls_min_lmremove (defined in ls_vendor.c) seconds have not elapsed since the license was checked out. See ls_vendor().

-65 LM_BADVENDORDATA  


"Bad VENDORCODE struct passed to lc_init()"

LM_CODE macro was not used to define the VENDORCODE argument for lc_init. See lm_code.h and lmclient.c for an example of how to use the LM_CODE macro.

-66 LM_LIBRARYMISMATCH  


"FLEXlm include file/library mismatch"

An attempt was made to create a licensed binary with mismatching source/header files and liblmgr.a. The source code version must match the linking libraries.

-67 For Internal Use  

-68 For Internal Use  

-69 For Internal Use  

-70 For Internal Use  

-71  LM_BAD_TZ  


"Invalid TZ environment variable"

On some operating systems, the end-user can significantly change the date using the TZ environment variable. This error detects this type of theft.

-72 LM_OLDVENDORDATA  


"`Old-style' vendor keys (3-word)"

V3.0 uses 4-vendor keys. This error detects that the LM_CODE macro was used with only 3 keys.

-73 LM_LOCALFILTER  


"Local checkout filter requested request"

Request was denied by filter specified in lc_set_attr(LM_A_CHECKOUTFILTER, filter).

-74 LM_ENDPATH  


"Attempt to read beyond the end of LF path"

An error occurred with the colon-separated list of license files.

-75 LM_VMS_SETIMR_FAILED  


"SYS$SETIMR call failed"

SYS$SETIMR is used on VMS to time out certain FLEXlm system calls.

-76 LM_INTERNAL_ERROR  


"Internal FLEXlm Error - Please report to Globetrotter Software"

-77 LM_BAD_VERSION  


"Bad version number - must be floating point number, with no letters"

A line in the license file has an invalid version number.

lc_checkout() was called with an invalid version character string.

-78 LM_NOADMINAPI  


"FLEXadmin API functions not available"

An attempt to get information from another company's vendor daemon was made via lc_get_attr(LM_A_VD_*, ...). This function call is only allowed for the client's own vendor daemon.

-79 For Internal Use  

-80 For Internal Use  

-81 For Internal Use  

-82  LM_BADPKG  


"Invalid PACKAGE line in license file"

PACKAGE missing or invalid COMPONENTS.

A COMPONENT has number of users set, with OPTIONS=SUITE.

A COMPONENT has number of users==0.