INTERNAL: 'lmgrd' Triggers "Permission Denied" Error
Anonym
In May 2006 Exelis Visual Information Solutions changed the default syntax it uses in SERVER-based FLEXlm licenses. This new syntax has provided benefits to most users in efficiency and in ease of upgrading. However, it has also exposed users who troubleshoot their own licensing problems to a new user error which, during 'lmgrd' startup, triggers output that includes lines like these:
On UNIX:
10:56:10 (lmgrd) license daemon: system error code: Permission denied
10:56:10 (lmgrd) Started /usr/local
On Windows:
10:02:45 (lmgrd) License server manager (lmgrd) startup failed:
10:02:45 (lmgrd) File not found, c:\rsi\fle.exe
Up to May of this year the default syntax for an Exelis Visual Information Solutions product SERVER-based license looked like this (using the UNIX style in this example):
############ license file comments, do not delete ###############
# License Number(s): 219184
SERVER mylicenseserver 00404a53d391 1700
DAEMON idl_lmgrd /usr/local/rsi/idl_6.2/bin/
INCREMENT idl idl_lmgrd 6.300 1-jan-0000 6 D6ED37C8B9391034 \
VENDOR_STRING="219184University of Boulder" ck=97
INCREMENT envi idl_lmgrd 4.300 1-jan-0000 1 99C6791F013358B7 \
VENDOR_STRING="219184University of Boulder" ck=252
... etc.
In May 2006 Exelis introduced this new syntax as default:
############ license file comments, do not delete ###############
# License Number(s): 219184
SERVER mylicenseserver 00404a53d391 1700
USE_SERVER
DAEMON idl_lmgrd
INCREMENT idl idl_lmgrd 6.300 1-jan-0000 6 D6ED37C8B9391034 \
VENDOR_STRING="219184University of Boulder" ck=97
INCREMENT envi idl_lmgrd 4.300 1-jan-0000 1 99C6791F013358B7 \
VENDOR_STRING="219184University of Boulder" ck=252
... etc.
Among other things this makes our default licenses less lmgrd-version-specific and, hence, more likely to work out of the box after any IDL or ENVI upgrades on your system. Although both the old and the new syntax are acceptable, the problem with the new syntax is that it has exposed the DAEMON line to a new kind of misuse in customer troubleshooting. In attempting edits to the default license file syntax, some customers have recalled the old DAEMON line syntax incorrectly. Instead of typing:
DAEMON idl_lmgrd /usr/local/rsi/idl/bin
these users are typing:
DAEMON /usr/local/rsi/idl/bin/idl_lmgrd
(... or, on Windows, "DAEMON C:\RSI\FLEXlm\idl_lmgrd.exe"). The implications of this second incorrect syntax is that the 'lmgrd' process does not know what "vendor daemon" process to start. It does not expect a path in this position; it expects just the name of a binary. It reads off the first 10 or so characters in that path, i.e. "/usr/local" or "c:\rsi\fle", and tries to execute that as if that string were the name of an executable program. Hence, the 'lmgrd' error output:
10:56:10 (lmgrd) license daemon: system error code: Permission denied
10:56:10 (lmgrd) Started /usr/local (UNIX)
10:02:45 (lmgrd) License server manager (lmgrd) startup failed:
10:02:45 (lmgrd) File not found, c:\rsi\fle.exe (WINDOWS)
The fix for this is straightforward. If you want to explicitly provide the path to the 'idl_lmgrd' binary on your system (which indeed is sometimes necessary), use the syntax format:
DAEMON idl_lmgrd /explicit/path/to/idl/bin/directory
If problems persist after this editing, do not hesitate to contact Exelis Tech Support at +1(303)413-3920 or Email support@exelisvis.com.