License server installation guide - Linux

SCL Version: 2024.06

This guide describes how to install and configure a license server on Linux.

Tip

The license system, Synopsys Common Licensing (SCL) is common to all Synopsys products, and the general documentation can be found here: Synopsys Licensing QuickStart Guide. In the present guide, we focus on using the license system for the first time and with only a QuantumATK product.

Warning

Synopsys Common Licensing (SCL) is designed for use on RHEL/CentOS. It is thus not guaranteed to work on other Linux distributions.

Note

These instructions assume that you are using bash as your shell. If not, you will need to modify the procedure accordingly.

Download SCL

On Linux, we need to download a total of three files - two for SCL itself, and the Synopsys Installer to perform the actual installation.

  • Point your web browser to https://solvnet.synopsys.com/DownloadCenter

  • If required, enter your Synopsys SolvNet username and password.

  • Click on Downloads in the top bar.

  • Under My Product Releases, choose Synopsys Common Licensing.

  • Choose the newest available SCL version. At the time of writing this is 2024.06, as will be reflected below in specific filenames, commands, etc.

  • Click Download Here to download SCL by HTTPS.

  • After reading the legal page, click on “Yes I agree to the above terms”.

  • Click the download buttons next to the files scl_v2024.06_common.spf and scl_v2024.06_linux64.spf to download them.

  • Follow the browser prompts to select a destination download location. This directory must be a temporary directory and not the target installation directory.

Download Synopsys Installer

  • Go back to My Product Releases, and choose Synopsys Installer

  • Choose the newest available Synopsys Installer version. At the time of writing this is 5.8.1, as will be reflected below in specific filenames, commands, etc.

  • Click Download Here to download Synopsys Installer by HTTPS.

  • After reading the legal page, click on “Yes I agree to the above terms”.

  • Click the download button next to the file SynopsysInstaller_v5.8.1.run to download it.

  • Follow the browser prompts to select a destination download location. This directory must be a temporary directory and not the target installation directory.

Install SCL - RHEL and CentOS

SCL is designed for use with RHEL, and the installation instructions for these Linux distributions are given below. For suggestions on how to install SCL on Ubuntu, skip this section and go here: Install SCL - Debian and Ubuntu.

  • Make sure the Synopsys Installer file is executable: chmod 755 SynopsysInstaller_v5.8.1.run

  • Execute it, to extract the installer to the specified directory: ./SynopsysInstaller_v5.8.1.run -d /usr/synopsys/installer

  • Add the Synopsys Installer binaries to your PATH

    • chmod -R 755 /usr/synopsys/installer

    • PATH=/usr/synopsys/installer:$PATH

    • export PATH

  • Make sure the SCL product files (scl_v2024.06_common.spf and scl_v2024.06_linux64.spf ) are in a temporary directory.

  • To start the installer, type installer or installer -gui to start the installation.

  • Follow the prompts. The first is the directory where the *.spf files are located. When asked, enter the path to the target directory.

  • You also need to enter your site ID - it can be found in your license key file.

You may now proceed to Customizing the License Key File

Install SCL - Debian and Ubuntu

As SCL is primarily designed for RHEL, the process is a bit more involved for Ubuntu. This guide will therefore be a brief series of suggestions, and mainly list out the commands with limited commentary. If this is insufficient, please use RHEL or CentOS instead.

Open a terminal and navigate to the folder where you downloaded the files and execute the following commands:

  • chmod +x SynopsysInstaller_v5.8.1.run

  • mkdir installer

  • mv SynopsysInstaller_v5.8.1.run installer/

  • cd installer

  • ./SynopsysInstaller_v5.8.1.run - It should be fine to use the default values, so press enter after reading the text.

  • cd ..

  • mkdir scl

  • installer/installer -source . -target scl

Press enter and let it run through. Now we need to move the folder up one level.

  • mv scl/scl/* scl/

  • rm -rf scl/scl

We also need to add a link:

  • readelf -a ./scl/2024.06/linux64/bin/lmgrd | grep "interpreter:"

  • You should get something like this: [Requesting program interpreter: /lib64/ld-lsb-x86-64.so.3]

Now take that path and do the following:

  • sudo ln -s /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3

  • sudo mkdir /usr/tmp

Add the following to your .bashrc or equivalent:

  • export PATH="~/scl/2024.06/linux64/bin:$PATH"

Customizing the License Key File

Before setting up the license server, you need to make a few changes to the license file, to reflect your specific environment.

Important

You should place the license file in the Synopsys license directory: /usr/synopsys/scl/2024.06/admin/license/ on RHEL/CentOS and ~/scl/2024.06/admin/license/ on Debian/Ubuntu.

Note

In the following, we will assume SCL is installed on RHEL/CentOS. If you are using a Debian-type distribution, make sure to change the paths to the appropriate directory.

Modify the SERVER line

The SERVER line of your key file has the following syntax:

SERVER hostname1 hostid tcp_port_number

Replace hostname1 with the host name of your machine, which you get from the shell (terminal) command echo $HOSTNAME.

Example SERVER line:

SERVER aspen 0128D07E321F 27020

Tip

You can change the TCP port number (the Synopsys default is 27020) to any available TCP port between 1024 and 64000. (For performance reasons, ports 27000-27009 are not recommended.)

Note

The hostid in the license key file (0128D07E321F in the example above) must match a valid MAC address for an active network interface on your machine, otherwise the license file will not work. If the hostid is incorrect, contact your account manager to obtain a new license key file; do not change the hostid in the license file manually as that will invalidate your license key file.

Modify the VENDOR line

The VENDOR line has the following full syntax:

VENDOR snpslmd /path/to/snpslmd [port=tcp_port_number]

You should replace /path/to/snpslmd with the full path to snpslmd on your machine, for example:

VENDOR snpslmd /usr/synopsys/scl/2024.06/linux64/bin/snpslmd

By default the vendor port is not specified, which means it is assigned a random value each time the license server starts, making it cumbersome to maintain the open ports in the firewall. Therefore, assign a specific port number on the VENDOR line:

Example VENDOR line:

VENDOR snpslmd C:\synopsys\scl\2024.06\win64\bin\snpslmd.exe port=28000

Open the two ports in the firewall

Make sure both the SERVER and VENDOR ports are open for incoming and outgoing TCP traffic in the firewall.

Note that client users do not need to specify the vendor port number when setting up QuantumATK, but they do need to know the server port number.

Starting the license server

To start the license server, type one of the following in a terminal on an unbroken line:

RHEL

/usr/synopsys/scl/2024.06/linux64/bin/lmgrd -c /usr/synopsys/scl/2024.06/admin/license/SynopsysKey.lic -l /usr/synopsys/scl/2024.06/admin/logs/snps.debug.log

Ubuntu

lmgrd -c ~/scl/2024.06/admin/license/SynopsysKey.lic -l ~/scl.log

Note

If this is not the first time you start SCL, make sure to shut down snpslmd before proceeding.

  • Verify that the SCL license server has started correctly:

    • Open the log file specified above.

    • Check the time-stamped entries to verify that:

      • lmgrd (FlexNet Licensing) v11.14.0.2 has started

      • snpslmd (SCL) v 2024.06 has started

      • there are no security errors: Invalid license file fingerprint or WARNING: SSS errors.

      • the list of available (started) keys is correct

You can also, at any time, type lmstat -c 27020@localhost in a terminal, where 27020 is the port specificed in the SERVER line. This will tell you if your license server is running as expected.

When you have verified that the license server is running correctly, you may return to the main installation guide: Downloading, Installing and Configuring QuantumATK or continue with setting up automatic starting of the license server in the final section.

Tip

SCL includes these important programs:

  • lmgrd - starts the server

  • lmstat - tells you the status of the server

  • lmdown - kills the server

All three of the above-mentioned programs take -c license_file.txt as an argument. They should work without the argument if SNPSLMD_LICENSE_FILE is properly configured.

Boot script

To avoid starting the license server manually every time you boot the machine, you can use a service file as described below. If you do not wish to this, you may skip this section. The procedure will depend on the OS, so below we have separate instructions for RHEL/CentOS 7, Ubuntu/Debian and RHEL/CentOS 6. Note that the last one differs significantly from the first two.

RHEL/CentOS 7

  • Download the file scl7.service, and customize the paths to make sure they comply with your environment.

  • Put it in the folder /etc/systemd/system/

  • Make sure it is executable: chmod +x /etc/systemd/system/scl7.service

  • Type sudo systemctl enable scl7 in the terminal.

  • Verify by typing systemctl list-unit-files -t service | grep scl7 and checking that it says enabled.

  • Type systemctl start scl7 in the terminal.

Ubuntu/Debian

  • Download the file scl.service, and customize the paths to make sure they comply with your environment.

  • Put it in the folder /etc/systemd/system/

  • Type sudo systemctl enable scl in a terminal.

  • Type sudo systemctl start scl in a terminal.

Both

The license server will now automatically start every time you start your machine, and you should not need to use these commands again. It also accepts the following keywords (replace scl with scl7 for RHEL/CentOS 7):

  • systemctl stop scl will stop the license server.

  • systemctl status scl will print the status of the license server.

  • systemctl reload scl will reload the license file.

Note

When stopping the license server, you may see an error like this: username systemd[1]: Stopped Synopsys Common Licensing Server. username systemd[1]: scl.service: Unit entered failed state. username systemd[1]: scl.service: Failed with result 'exit-code'.

Ignore it, as the license server should be stopped correctly anyway.

RHEL/CentOS 6

  • Download the file scl6_service, and customize the paths to make sure they comply with your environment.

  • Copy it to /etc/init.d/

  • Make it executable: chmod +x /etc/init.d/dcl6_service.

  • Configure it:

    • chkconfig --add scl6_service

    • chkconfig scl6_service on

    • chkconfig --list scl6_service

  • Start it by typing service scl6_service start in the terminal.

The license server will now automatically start every time you start your machine, and you should not need to use these commands again. You can stop it with service scl6_service stop and disable it with chkconfig scl6_service off.