License Server

Download

Download the DVT license daemon (dvtlmd) and FlexLM utilities corresponding to your operating system:

On some linux distribution the LSB (Linux Standard Base) libraries must be installed. The package name is:

  • Debian/Ubuntu systems: lsb-core
  • RHEL/CentOS systems: redhat-lsb


Start the FlexLM License Server

  • Unzip the downloaded archive in a suitable location (ex. /opt/license_servers/dvtlmd-linux/)

  • Change the hostname and port in the license file:
    SERVER hostname 001122334455 port

  • To find the system host name use:
    Linux: uname -n
    Windows: ipconfig /all

  • If you're not using the FlexLM lmgrd delivered in the downloaded archive then set the daemon location in the license file by adding a VENDOR line:
    VENDOR dvtlmd /opt/license_servers/dvtlmd-linux/dvtlmd

  • If the license server is behind a firewall there are two ports that need to be open in the firewall, the port specified in the SERVER line and the VENDOR port that can be set using the optional field PORT (if the VENDOR port is not specified it is randomly assigned by the operating system):
    VENDOR dvtlmd /opt/license_servers/dvtlmd-linux/dvtlmd PORT=port

  • Start the license server:
    /opt/license_servers/dvtlmd-linux/lmgrd -c /path/to/license.file


User Side Configuration

In order to use DVT / Verissimo / Specador features, you must obtain and set the license.

The license must be passed to the application through one of the following environment variables:

  • DVT_LICENSE_FILE
  • DVTLMD_LICENSE_FILE
  • LM_LICENSE_FILE

Environment variables will be read in the order above and the first non-empty value will be used, the others will be ignored. Any variable containing only the string "FLEXLM" (case-insensitive) will be ignored.

Environment variables must be set before starting the application and the application must inherit the variables (e.g. when setting the variables in a terminal the application must be started from the same terminal).

In the DVT IDE for VS Code, the license can also be passed through the DVT.license.source setting accessible by using the Preferences: Open Settings command. Its value has precedence over license environment variables when DVT.environment.precedence is set to Settings environment variables .

The license environment variable or setting value must contain one or more FlexLM license sources. Supported license sources are:

  • File-system path of a license file: /path/to/dvt.lic
  • License server address as port@host: 27001@licsrv
  • Three-server redundancy triad with comma ( , ) separated license servers: 27001@licsrv1,27001@licsrv2,30001@licsrv3
  • File-system path of a directory containing one or more license files with .lic extension: /path/to/lic_dir
  • Multiline string with the content of a license file surrounded by three curly brackets: {{{...}}}

Multiple license sources, with the exception of multiline string, can be specified by separating them with:

  • colon ( : ) on Linux/MacOS
  • semicolon ( ; ) on Windows
  • ampersand ( & ) on any OS

Notes on using IPv6 license servers:

If the host part of port@host is an IPv6 address then make sure to always include the ampersand ( & ) separator before or after even if there are no more license sources.

If the host part of port@host is resolved by DNS to both IPv6 and IPv4 addresses while the server is only IPv6 accessible then the application must be started with the -Djava.net.preferIPv6Addresses=true vmargs.

When is the license checked-out:

  • DVT Eclipse: the license features are checked-out when a DVT project is opened. A license indicator is available in the application's bottom-right corner, selecting it will open the license log.
  • DVT IDE for VS Code: the license features are checked-out when a DVT Language Server is started by VS Code. A license indicator is available in the application's status bar, selecting it will open the license log.
  • Verissimo / Specador: the license features are checked-out when the tool is started, a message will indicate if the license is not available or if the request was queued.