Setting up license server for Catapult HLS
You need 3 things to setup a license server:
Catapult uses FLEXlm daemon to run license server. Firstly, you need to download License Server
from Mentor website.
The FlexNet software includes lmgrd
deamon, lmutil
and etc.
If already installed Catapult software, just need to go to <path_to_installation>/Mgc_home/pkgs/
to get the above software.
You can install macchanger
to change your MAC address.
$ sudo apt install macchanger
For more information, please look at this website
$ ip a
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 00:20:00:04:10:AC brd ff:ff:ff:ff:ff:ff
altname enp0s31f6
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether a4:00:20:00:10:AC brd ff:ff:ff:ff:ff:ff
altname wlp0s20f3
inet 192.168.50.85/24 brd 192.168.50.255 scope global dynamic noprefixroute wlo1
valid_lft 59366sec preferred_lft 59366sec
inet6 fe80::a3ca:1cf5:2f41:22b5/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Looking for MAC address of your ethernet interface. In my case, it is eno2
and the MAC is 00:20:00:04:10:AC
. Just remember the interface name eno2
.
Open etc/hosts
and adding the following line, then saving it. <hostname>
is the name you want to name your host.
127.0.1.1 <hostname>
In my case, it is
127.0.1.1 tesla
If your firewall is not active like mine, no need to open anything.
$ sudo ufw status verbose
Status: inactive
If firewall is enable, using this instruction to open a port dedicated to license server.
After finishing section 1, open the license file and edit it
SERVER <hostname> <MAC ADDRESS> <port>
DAEMON mgcld <PATH to mgcld inside license server package>
Here is my setting
SERVER tesla 0020000410AC 1718
DAEMON mgcld /home/tesla/license/catapult/mgls_v9-23_5-6-0.aol/lib/mgcld
If installing Catapult version 2023.1 or later, it uses SALTD
instead of MGCLD
, so just need to replace mglcd
by saltd
as the following
SERVER tesla 0020000410AC 1718
DAEMON saltd /opt/Siemens/Catapult/2023.1/Mgc_home/pkgs/FlexNet-11-19-0/Lnx64_x86-64/saltd
Creating script file named start.sh
to start deamon has following content
# Change MAC
macchanger -s eno2
sudo macchanger -m 00:20:00:04:10:AC eno2
# Start licenser
export LM_LICENSE_FILE=/home/tesla/license/catapult/catapult.txt
export PATH="/home/tesla/license/catapult/mgls_v9-23_5-6-0.aol/bin":$PATH
/home/tesla/license/catapult/mgls_v9-23_5-6-0.aol/bin/lmgrd
Commands sudo macchanger -m 00:20:00:04:10:AC eno2
is used to change MAC ADDRESS to match with the one in the license file.
The third command is the pointer to license file.
The fourth command is PATH
to executable files which contains the program in the last command.
The last command is to run license deamon.
Note: You can get export lmgrd
from installation path of Catapult like following:
# Change MAC
macchanger -s eno2
sudo macchanger -m 00:20:00:04:10:AC eno2
# Start licenser
export LM_LICENSE_FILE=/home/tesla/license/catapult/catapult.txt
export PATH="/opt/Siemens/Catapult/2023.1/Mgc_home/bin":$PATH
/opt/Siemens/Catapult/2023.1/Mgc_home/bin/lmgrd
Then, running
source start.sh
Another way, to start license server deamon directly without scripting
<FLEXlm location>/lmgrd -c <path to license file>/license.txt \[-l <log file name>]
lmutil lmdown -q -force
lmgrd -c lic.dat -l debug.log
lmutil lmstat -a -c
lmutil lmstat -a -c <port>@<hostname or host IP ~>
Example
lmutil lmstat -a -c 1718@tesla
The message below is OK.
lmutil - Copyright (c) 1989-2018 Flexera. All Rights Reserved.
Flexible License Manager status on Fri 12/16/2022 23:34
License server status: 1718@tesla
License file(s) on tesla: /home/tesla/license/catapult/catapult.txt:
tesla: license server UP (MASTER) v11.16.2
Vendor daemon status (on tesla):
mgcld: UP v11.16.2
Feature usage info:
Users of msimviewer: (Total of 1 license issued; Total of 0 licenses in use)
Users of qvman: (Total of 1 license issued; Total of 0 licenses in use)
Users of msimcompare: (Total of 1 license issued; Total of 0 licenses in use)
Users of txanalysis: (Total of 1 license issued; Total of 0 licenses in use)
Users of svverification: (Total of 1 license issued; Total of 0 licenses in use)
Users of qvrm: (Total of 1 license issued; Total of 0 licenses in use)
Users of msimcoverage: (Total of 1 license issued; Total of 0 licenses in use)
Users of msimhdlsim: (Total of 1 license issued; Total of 0 licenses in use)
Users of msimprofile: (Total of 1 license issued; Total of 0 licenses in use)
Users of msimhdlmix: (Total of 1 license issued; Total of 0 licenses in use)
Users of qdbgcoverage: (Total of 1 license issued; Total of 0 licenses in use)
Users of msimdataflow: (Total of 1 license issued; Total of 0 licenses in use)
Users of msimsystemc: (Total of 1 license issued; Total of 0 licenses in use)
Users of msimcdebug: (Total of 1 license issued; Total of 0 licenses in use)
Users of msimreguvm: (Total of 1 license issued; Total of 0 licenses in use)
Users of mtiverification: (Total of 1 license issued; Total of 0 licenses in use)
Users of zncwmbase: (Total of 1 license issued; Total of 0 licenses in use)
Users of CatapultUltra_c: (Total of 1 license issued; Total of 1 license in use)
lmgrd: No such file or directory
Cause
A possible reason is the missing Linux Standard Base (LSB) components which are required by the lmgrd. To check, if the requirements are installed, the following commands can be executed:
$ ldd lmgrd
linux-vdso.so.1 => (0x00007fffeafef000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5ba86fb000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5ba83f2000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f5ba81dc000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5ba7e12000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5ba7c0e000)
/lib64/ld-lsb-x86-64.so.3 => /lib64/ld-linux-x86-64.so.2 (0x00007f5ba8918000)
$ ls -l /lib64/ld-lsb-x86-64.so.3
ls: cannot access '/lib64/ld-lsb-x86-64.so.3': No such file or directory
As seen, the /lib64/ld-lsb-x86-64.so.3
is missing.
Solution
$ sudo apt-get install lsb