Find out what license directory you want to use. For
a normally installed ISE Eiffel, the license directory is
$EIFFEL4|install. If, however, you want to run ISE Eiffel from
the installation CD, you will use for EIFFEL4, as explained in
the preceding appendix, the value cd_dir|Eiffel4 where
cd_dir is the CD-ROM mount directory (normally /cdrom on
Unix); since the CD-ROM is not writable, you will in this case need to
choose another license directory, in a writable part of your file
system. In the rest of this discussion the license directory --- the
standard one $EIFFEL4|install, or an alternate chosen by you ---
is called license_directory.
(Skip this
step if you will be using a normal installation, not executing from the
CD.) If you intend to run from the installation CD, set the value of
the EIF_LICENSE environment variable to
license_directory, through the following Unix C-shell command or
its equivalent:
|
setenv EIF_LICENSE license_directory
|
Edit the file license_directory|registration and add the
entire message received from the registration --- two or more lines of
the format shown above --- at the end of the file.
Run the command
which will install the license as requested. You may run that
command from any directory, but it will only work if your path as well
as the environment variables $PLATFORM and
$EIFFEL4 are properly set up as described above
and in chapter 1. The command will
update the license files in directory license_directory and its
subdirectory limand.
Finally you must start the daemon process on
the license server. To do this, just execute the command
(with the &indicating that it must run in the background).
The command can
also take an argument indicating the maximum time during which inactive
users will keep their licenses. By default, a user session which does
not use any ISE Eiffel command for 30 minutes will lose its license, so
that other users who might have been turned down for lack of available
license tokens will be allowed to proceed. If the original session
later executes a command, it will have to regain a license token, which
may or may not be available at that time.
To set the license
retaining time to a value other than the default 30 minutes, run the
above command as
|
eifdaemon -t retain_time &
|
where retain_time is
a positive integer indicating a value in minutes, or the word
forever. The command will not accept any value less than 10 for
retain_time; the value forever means that inactive
sessions will retain their licenses forever.
The eifdaemon
command creates a background process, which will show up under this
name when you run the Unix ps command (Process Status) or the
equivalent on your platform..
The call to eifdaemon
terminates the process of getting and installing the ISE Eiffel
license.
If you initially run from the installation CD and later
perform a full installation, you should remove the environment variable
EIF_LICENSE (with the C-shell you may use the command
unsetenv EIF_LICENSE), kill the eifdaemon process,
run eiflicense again, and restart eifdaemon.
Executing the call to eifdaemon at installation time creates
the appropriate daemon process on the license server. If the license
server goes down or is rebooted for some other reason, you will need to
execute this call again. Until there is a daemon running no one can use
ISE Eiffel.
To avoid the need for this manual operation at reboot
time, many system administrators prefer to include a call to
eifdaemon in the shell script that is executed automatically at
boot time. This script is given by a file normally found in the
/etc directory, usually /etc/rc.local or
/etc/rc.boot on Unix.
If you include the daemon call in such a boot script, you will need
to express the command under its full path name
|
$EIFFEL4/bench/spec/$PLATFORM/bin/eifdaemon &
|
with
$EIFFEL4 and $PLATFORM replaced by their
actual values (or initialized earlier in the boot script). Add the
-t retain_time argument if desired.
Your
organization's license defines a certain number of "license tokens". As
many ISE Eiffel sessions may be simultaneously active as there are
available tokens.
Occasionally, you may be unable to
start a session because not enough tokens are available. In that case
you may try again later when some other users have terminated their
sessions.
Your session will periodically check that you still have
a license and that the license manager is alive. If the license manager
disappears you will be given a "grace period" to save your work.
If
your session remains inactive for a long time, you may lose your token;
when you restart, you will have to reacquire a token or, if none is
available, to exit and retry later. The time during which an inactive
session retains its license is 30 minutes by default but your system
administrator may have set it to a different value at installation time
as explained in the preceding section. You will be permitted to save
any ongoing work (see below).
Most of the time the
license manager is invisible to developers using ISE Eiffel.
Occasionally, you may run into one of the following problems.
|
Note: safeguard when license is lost
If your
session loses its license token for any reason, you will be permitted
to execute the necessary "save" actions before terminating the
session.
|
If all tokens are currently in use you will get a message
telling you that no token can be found to start EiffelBench, es4 or the
other tool that you requested. The message will also give you the list
of current holders, with the machines that they are using, for
example:
almaviva@salotto
antonio@giardino
barbarina@padiglione
cherubino@padiglione
contessa@camera
figaro@giardino
susanna@gabinetto
|
This enables
you, if you so desire, to try to find one person on the list who might
be willing to relinquish a token.
Of course if such denials of license tokens occur frequently then in
all likelihood the number of people using ISE Eiffel on a regular basis
has grown since your organization acquired its licenses. You may need
to upgrade your installation; check with your system administrator.
A message of the form Unable to register application
EiffelBench means that the license manager could not find a valid
license key file. If you want to run ISE Eiffel from the installation
CD and have not performed a full installation, check that the
environment variable EIF_LICENSE is set to the value of the
license directory as explained earlier in this chapter. If that is not
the problem, check the status of your license with your system
administrator.
If you were initially running ISE Eiffel from the
CD, then switched to a normal installation but forgot to remove the
environment variable EIF_LICENSE, EiffelBench will not find the
license files and will be unable to start. The error message tells you
about the missing files, advising you to update or remove the
environment variable.
A message of the form Daemon does not
answer means that no active license daemon could be found. This
message usually takes some time to come up when you attempt a command,
since the command keeps querying the license server for the daemon. One
possible reason is that the license server is down, or not properly
accessible through the network; if this is the case, you must wait
until it is back in service (make sure that eifdaemon is
restarted at boot time if a reboot is necessary). If the license server
is up and accessible, the message may mean that the daemon process was
never started; this may be because the machine was recently rebooted
and no call to eifdaemon had been included in the boot script as
suggested above. Or the license daemon may have been inadvertently
terminated. To check whether there is a daemon running, execute the
operating system's Process Status command (ps on Unix) on the
license server and look for a process running eifdaemon. If none
is presen
A Software lacks authorization or Feature is
disabled message means that you are attempting to use a tool for
which your installation does not have a license. Check with your system
administrator.
A License lost message means that your
session was idle for more than retain_time minutes, where
retain_time is the token retaining time specified
at installation time, as explained above (30 minutes by default), and
that when it reapplied for a token none was available. As noted, you
will be permitted to save any modifications made since the last save.
Abnormal termination of EiffelBench or the es4 command
will not normally cause license problems; the token will be released,
ready to be used by a new session. Some unexpected combination of
circumstances may, however, fail to return the token. If you need to
recover such an erroneously retained token, do one of the following:
- Wait for a period of retain_time minutes, 30 minutes
by default. (This method obviously does not apply if the value
forever was specified in eifdaemon for
retain_time.)
- Kill and restart the daemon process
(or more likely ask the system administrator to do so). This method
will work in all cases, but will force all currently active EiffelBench
sessions to terminate and reapply for a token when they restart. (Here
too these sessions will be given an opportunity to save the current
state of their work.) To find the daemon process, run the operating
system's ps command on the license server and look for the
identifier of the process running the eifdaemon command. Then
use the operating system's kill command to kill that process.
If you ever need customer support for license-related questions,
make sure to have access to the registration file as described
earlier in this appendix.