本文主要介绍Synopsys软件scl、vcs、verdi的安装配置方法,版本为2021和2022,系统为Ubuntu20。
1 文件说明
文件主要包括Synopsys的安装器SynopsysInstaller_v5.4.run,scl软件安装包scl_v2021.03、vcs软件安装包vcs_all_vT-2022.06、verdi软件安装包verdi_vT-2022.06,补丁软件1patch、注册机scl_keygen、可使用的证书Synopsys.dat,以及为解决执行错误需要安装的libpng安装包libpng_1.2.54.orig.tar.xz。
2 安装引导
执行./SynopsysInstaller_v5.4.run
安装Synopsys软件的安装器,在终端输入安装目录,然后回车进行安装,安装完成后在安装目录下出现setup.sh文件,利用此脚本完成后续软件的安装。
3 安装软件
创建目录Synopsys,在此目录下分别创建目录scl、vcs、verdi,这三个目录为三个软件的安装目录。执行./setup.sh
进入软件的安装引导页,点击start
开始安装,三个软件执行三次第一页的信息不用管,直接Next
。
- scl软件
- Source选择scl软件安装包,点击
Next
。
- Target Dir选择刚才创建的scl安装目录,根据系统选择需要安装的文件。
- 然后进入总结页面,点击
Accept, Install
开始安装。
- Source选择scl软件安装包,点击
- vcs软件
- Source选择vcs软件安装包,点击
Next
。
- Target Dir选择刚才创建的vcs安装目录,点击
Next
,勾选需要安装的软件,点击Next
,Target Dir选择刚才创建的vcs安装目录,根据系统选择需要安装的文件。
- 然后进入总结页面,点击
Accept, Install
开始安装,vcs的安装出现报错(…has finished but with error),但暂时没发现对使用有影响。
- Source选择vcs软件安装包,点击
- verdi软件
- Source选择verdi软件安装包,点击
Next
。
- 勾选需要安装的软件,点击
Next
,Target Dir选择刚才创建的verdi安装目录,点击Next
,Target Dir选择刚才创建的verdi安装目录,根据系统选择需要安装的文件。
- 然后进入总结页面,点击
Accept, Install
开始安装。
- Source选择verdi软件安装包,点击
最后执行补丁软件对scl、vcs、verdi分别打补丁,命令为./1patch -ecc <软件安装目录>
,如果不安装补丁,后面进行激活时也会出现license与系统不匹配的错误。
4 注册激活
首先需要生成license,Windows下运行scl_keygen文件夹下的scl_keygen.exe软件,修改HOST ID Daemon和HOST ID Feature为Ubuntu系统的MAC地址(终端通过ifconfig查看),HOST Name改为Ubuntu系统的名称(终端执行hostname查看),点击Generate生成license文件Synopsys.dat。
打开Synopsys.dat文件,在第2行增加scl目录下snpslmd文件的位置
第7行SN=RK:0:0:1后增加语句SIGN=“0000 1111 2222 3333 4444 5555 6666 7777 8888 9999 AAAA BBBB CCCC DDDD EEEE FFFF 0000 1111 2222 3333 4444 5555 6666 7777 8888 9999 AAAA BBBB CCCC DDDD”
最后将文件中的) }替换为SIGN=“0000 1111 2222 3333 4444 5555 6666 7777 8888 9999 AAAA BBBB CCCC DDDD EEEE FFFF 0000 1111 2222 3333 4444 5555 6666 7777 8888 9999 AAAA BBBB CCCC DDDD”) }。
如果自己创建的licence存在问题,在编译的过程中出现错误提示,也可以直接使用文件夹下存在的Synopsys.dat文件,注意核对Hostname、端口号、snpslmd文件位置是否正确,根据自己的安装情况进行修改。然后将系统的MAC修改为license中的e006e64517e9,注意此处不能将license中的MAC地址修改为系统的MAC,这样的license是不能用的,修改MAC地址的命令如下
ifconfig enp3s0 down #禁用网卡
ifconfig enp3s0 hw ether e0:06:e6:45:17:e9 #修改MAC地址
ifconfig enp3s0 up #启用网卡
在vcs安装目录下创建目录license(如没有),将Synopsys.dat文件复制到该文件夹下。执行gedit ~/.bashrc
打开文件,在文件中添加下述语句,新增环境变量,license的相关内容写到最后,不然编译的时候会提示The connect() system call failed. Make sure that your LM_LICENSE_FILE is pointing to the right
# scl
export VCS_ARCH_OVERRIDE=linux
export PATH=$PATH:<scl directory>/linux64/bin
# vcs
export VCS_HOME=<vcs directory>
export PATH=$PATH:<vcs directory>/bin
# verdi
export VERDI_HOME=<verdi directory>
export NOVAS_HOME=<verdi directory>
export PATH=$PATH:<verdi directory>/bin
# license
export LM_LICENSE_FILE=27000@Ubuntu #license中的Hostname和端口号
alias lmg_vcs='lmgrd -c <vcs directory>/license/Synopsys.dat' #重写激活命令
执行sudo apt-get install lsb-core
安装lsb-core,执行lmg_vcs
进行激活,激活成功的终端显示如下
如果在激活的过程中出现错误提示lmgrd can’t make directory /usr/tmp/.flexlm when running server on Ubuntu,依次执行下述指令
sudo i
mkdir /usr/tmp/
chmod 777 /usr/tmp/
重新执行lmg_vcs
进行激活,如果出现Failed to open the TCP port number in the license,执行lmdown
,然后等一会儿后重新执行lmg_vcs
进行激活,或者执行ps -aux | grep lmgrd
查询相关进程,执行kill <pid>
结束进程。
5 其它问题
- Ubuntu安装特定版本gcc和g++
vcs编译源文件时使用的是gcc-4.8,而高版本的Ubuntu系统中的不是4.8的版本,会导致vcs编译失败,提示make: gcc-4.8: Command not found,而在Ubuntu20中,默认使用的版本为gcc-9,直接安装gcc-4.8会失败。执行sudo gedit /etc/apt/sources.list
打开库文件,在文件中添加下述语句
然后依次执行下述命令安装gcc-4.8和g+±4.8deb http://dk.archive.ubuntu.com/ubuntu/ xenial main deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe
sudo apt update #更新源 apt-cache policy gcc-4.8 #查看安装包 sudo apt-get install gcc-4.8 ls /usr/bin/gcc* sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 #设置gcc-4.8的优先级为100,数值越小优先级越高 sudo update-alternatives --config gcc sudo apt-get install g++-4.8 ls /usr/bin/g++* sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/g++-4.8 100 sudo update-alternatives --config g++ gcc -v #显示为4.8的版本即为安装设置成功
- CentOS安装特定版本gcc和g++
使用gcc -v
命令查看gcc的版本,如果是4.8的版本,但是在编译时提示gcc-4.8: Command not found,只需要建立软连接产生一个gcc-4.8的可执行文件即可,g++同理,可通过which gcc
找到gcc的位置。如果gcc的版本不是4.8,则通过下述命令先安装gcc-4.8和g+±4.8,然后再创建软连接。wget https://github.com/gcc-mirror/gcc/archive/refs/tags/releases/gcc-4.8.5.tar.gz tar -zxvf gcc-4.8.5.tar.gz cd gcc-releases-gcc-4.8.5 ./contrib/download_prerequisites ./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib make #编译需要很久 make install sudo ln -snf /usr/local/bin/gcc /usr/bin/gcc-4.8 #创建软连接 sudo ln -snf /usr/local/bin/g++ /usr/bin/g++-4.8 gcc-4.8 -v #查看版本 g++-4.8 -v
- 安装libpng
启动verdi时提示error while loading shared libraries: libpng12.so.0,直接使用apt命令安装失败,执行下述命令下载源码进行安装,文件中有下载好的源码libpng_1.2.54.orig.tar.xz。
vcs安装目录下也存在libpng12,也可以执行下述命令直接创建软连接,该方法未经验证wget https://ppa.launchpadcontent.net/linuxuprising/libpng12/ubuntu/pool/main/libp/libpng/libpng_1.2.54.orig.tar.xz #下载 tar -xvf libpng_1.2.54.orig.tar.xz cd libpng-1.2.54 ./configure make sudo make install sudo ln -s /usr/local/lib/libpng12.so.0.54.0 /usr/lib/libpng12.so sudo ln -s /usr/local/lib/libpng12.so.0.54.0 /usr/lib/libpng12.so.0
sudo ln -s <vcs directory>/vcfca/linux64/vcst/lib/libpng12.so.0.31.0 /usr/lib/x86_64-linux-gnu/libpng12.so.0