Synplify Pro on Linux Mint 18.1: The cheat sheet
Introduction
I needed to run Synplify Pro for a short trial period on my Fedora 12 machine (yup, it’s 2018, and still). And I have a full Mint 18.1 as a chroot jail on that machine for installing contemporary software.
So these are my notes on the go. Consider everything below as run om Mint 18.1 x86_64 (which is an Ubuntu derivative), except for the licensing manager, which I eventually ran directly on the Fedora 12 oldie (x86_64 as well).
I should point out, that Synopsys officially supports only Red Hat based distributions (SUSE and RHEL), which explains why small tweaks were necessary. But once that is over with, all was fine.
Synopsys offers extensive documentation for all this, of course. As the title implies, this should be considered as a cheat sheet, nothing more.
Download the stuff
In essence, three parts are needed: Synopsys’ installer program, the tool to run and the licensing manager. In my case, I downloaded all inside the following directories (into separate directories on my own computer):
- /rev/installer_v4.1
- /rev/s_fpga_d_vN-2018.03-SP1
- /rev/scl_v2018.06
These three directories happened to be everything under /rev/ in my case (this is what they prepared for me, I suppose). So I grabbed it all. This included some large files for Windows, which I surely didn’t need, but it’s easier to fetch all files and wait longer than to use my own brain, for example.
Make the system ready
C-shell is used by the installation scripts (and others, possibly):
# apt-get install csh
Synplify itself expects a LSB (Linux Standard Base), in particular a symlink in /lib64/ for the ELF loader.
# apt-get install lsb-core
Without this, the licensing related program go something like:
$ ./lmhostid -bash: ./lmhostid: No such file or directory
And then you go “But what??? The file is there!” and you’re right, the file is there, but the ELF loader which the executable requests isn’t, because it’s /lib64/ld-lsb-x86-64.so.3. I’ve discussed this issue in another post.
Also, some scripts have their shebang to /bin/sh (!). Unfortunately, Debian’s standard symlink for /bin/sh goes to /bin/dash (because working out of the box is for the weak). So
# cd /bin # mv sh old-sh # ln -s bash sh
If you don’t change this symlink, the typical error goes “synplify-pro-exec/fpga/N-2018.03-SP1/bin/config/execute: Syntax error: “(” unexpected (expecting “;;”)”
Then create another symlink from /usr/tmp to /tmp, because the licensing deamon creates the lock file there. As root:
# cd /usr # ln -s /tmp
Installing
Refer to the Synopsys’ installation guide for how to run through the installation. This is just a brief.
Installing doesn’t require being root, if the target directories are owned by the user.
First, install the installer. In the directory where the installer was downloaded to, go
$ ./SynopsysInstaller_v4.1.run
And extract the installer into some other directory.
Navigate to the directory to which the installer was installed, and go
$ ./setup.sh
for a GUI installer, or
$ ./installer
for the textual stuff (but the ssh’ers).
The installer should be run (at least) twice: Once to install the tool of interest, and a second time to install the licensing manager.
For each time tell the installer where Synopsys’ installation files were downloaded to, and then to where the installed program should go. Both are different directories for each of the two installations.
Editing the licensing file
Edit the SERVER line, replacing “hostname1″ with the actual host name (as returned by “uname -n”).
There is no need to change the VENDOR line. At least in my case, it worked fine as is.
Check the licensing file
Be sure it’s valid. Navigate to where the licensing manager was installed (e.g. scl/2018.06/linux64/bin), and go (below is a successful validation for a temporary key):
$ ./sssverify /path/to/license.txt Integrity check report for license file "/path/to/license.txt". Report generated on 06-Jul-2018 (SCL_2018.06) --------------------------------------------------------- Checking the integrity of the license file... Valid SSST feature found. Licensed to Temp Keys for New Customers Siteid: 5.1, Server Hostid: 200247EDD334, Issued on: 7/4/2018 License file integrity check PASSED! --------------------------------------------------------- You may now USE this license file to start your license server. Please don't edit or manipulate the contents of this license file.
Or use the -pinfo flag for a list of licensed features:
$ ./sssverify -pinfo /path/to/license.txt ============================================================================================= PRODUCT TO FEATURE MAPPING REPORT GENERATED ON 6/7/2018 --------------------------------------------------------------------------------------------- License File: /path/to/license.txt Site ID: NEWSITE Host ID: 200247EDD334 Key File Date: 07/04/2018 SCL Version: SCL_2018.06 ============================================================================================= ============================================================================================= Product: ***** Serial Number: (SN=0:0) --------------------------------------------------------------------------------------------- Feature Name Expiry-Date Daemon Version Quantity Start-Date --------------------------------------------------------------------------------------------- SSST 22-Jul-2018 snpslmd 1.0 1 04-Jul-2018 ============================================================================================= ============================================================================================= Product: ***** Serial Number: (SN=4881-0:503161) --------------------------------------------------------------------------------------------- Feature Name Expiry-Date Daemon Version Quantity Start-Date --------------------------------------------------------------------------------------------- synplifypro_altera 22-jul-2018 snpslmd 2018.03 1 =============================================================================================
Start the licensing manager
OK, this is the only place where I left my Mint chroot jail, because I got
18:07:13 (snpslmd) Cannot open daemon lock file 18:07:13 (snpslmd) EXITING DUE TO SIGNAL 41 Exit reason 9 18:07:13 (lmgrd) snpslmd exited with status 41 (Exited because another server was running)
and then it just worked on Fedora 12, so what the heck with that. There is a word that the licensing manager doesn’t work on reiserfs, and I also spotted with strace that this failure occurs immediately after getdents() system calls on the root directory, which was a fake root in my case. So maybe because of that, maybe something else I didn’t get right, or more precisely: Didn’t bother to get right.
Anyhow, root aren’t required, and neither is any environment variable.
$ cd /path/to/scl/2018.06/linux64/bin $ ./lmgrd -c /path/to/license.txt
And of course, if you’re really into it, make a service for this on your machine.
Is there a licensing manager running?
Is it up?
./lmstat lmstat - Copyright (c) 1989-2017 Flexera Software LLC. All Rights Reserved. Flexible License Manager status on Fri 7/6/2018 20:59 License server status: 27020@myhost.localdomain License file(s) on myhost.localdomain: /path/to/license.txt: myhost.localdomain: license server UP (MASTER) v11.14.1 Vendor daemon status (on myhost.localdomain): snpslmd: UP v11.14.1
What’s its process (for killing)?
$ ps aux | grep lmg eli 27499 0.0 0.0 17760 1428 pts/15 S 17:41 0:00 ./lmgrd -c /path/to/license.txt
Shut down the licensing manager
$ ./lmdown -c /path/to/synplify-pro-exec/license.txt
This works however only if the licensing manager went up OK. Otherwise, it might say it shut down the daemon, but there’s still a process running.
Running Simplify Pro
Finally there.
Be sure that the licensing manager is up and running, and go:
$ SNPSLMD_LICENSE_FILE='27020@localhost' ./synplify_pro &
Synopsys’ docs tell us to set and export the environment variable, but this way works, and this is how I like it.
Reader Comments
Thank. You helped me with this instruction:
“apt-get install lsb-core”