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
andscl_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
andscl_v2024.06_linux64.spf
) are in a temporary directory.To start the installer, type
installer
orinstaller -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 serverlmstat
- tells you the status of the serverlmdown
- 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 saysenabled
.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
.