CentOS 7 安装并配置 VCS、Verdi 和 SCL
环境
- 操作系统:CentOS 7.9 64 位
- 示例普通用户名:
lr - Synopsys Installer:3.3
- VCS:L-2016.06
- Verdi:L-2016.06-1
- SCL:11.9
- 软件安装根目录:
/opt/synopsys
本文使用
lr作为示例用户名,实际操作时需要替换成自己的普通用户名。
一、规划安装目录
最终目录结构如下:
/opt/synopsys/
├── installer/
│ └── 3.3/
├── vcs/
│ └── L-2016.06/
├── verdi/
│ └── L-2016.06-1/
└── scl/
└── 11.9/
以 root 用户创建目录:
点击查看代码
su -
mkdir -p \
/opt/synopsys/installer/3.3 \
/opt/synopsys/vcs/L-2016.06 \
/opt/synopsys/verdi/L-2016.06-1 \
/opt/synopsys/scl/11.9
命令说明:
su -:切换到 root 用户mkdir:创建目录-p:父目录不存在时一并创建,目录已存在时不报错\:表示下一行仍属于同一条命令
Synopsys Installer 要求使用普通用户运行,而普通用户默认不能写入 /opt,因此将 Synopsys 目录交给普通用户管理:
点击查看代码
chown -R lr:"$(id -gn lr)" /opt/synopsys
命令说明:
chown:修改文件或目录的所有者-R:递归修改全部子目录lr:指定目录所有者id -gn lr:查询用户lr的主用户组$(...):将命令的输出填写到当前位置
退出 root:
exit
测试普通用户能否写入:
touch /opt/synopsys/write-test
rm -f /opt/synopsys/write-test
其中:
touch:创建空文件rm -f:删除测试文件- 没有出现
Permission denied,说明权限配置正常
二、安装 Synopsys Installer
运行安装程序:
./SynopsysInstaller_v3.3.run
出现下面的提示时:
Please specify installation directory [.]:
输入:
/opt/synopsys/installer/3.3
安装完成后进入 Installer 目录:
cd /opt/synopsys/installer/3.3
使用普通用户启动安装器:
./setup.sh
三、区分安装源与安装目标
安装器中的 Source 表示产品安装介质所在目录,不是软件最终安装位置。
例如:
安装器:
/opt/synopsys/installer/3.3/setup.sh
安装源:
/mnt/hgfs/Share/install_media/verdi_vL-2016.06-1
安装目标:
/opt/synopsys/verdi/L-2016.06-1
关系如下:
安装器
↓ 读取
解压后的产品安装介质
↓ 安装
/opt/synopsys/产品名/版本号
如果旧版安装器不能正确识别 VMware 共享目录或中文路径,可以先复制到 Linux 本地纯英文目录:
mkdir -p ~/install_media
cp -a "/mnt/hgfs/Share/安装介质目录" ~/install_media/
命令说明:
~/install_media:当前用户主目录中的安装介质目录cp -a:复制目录,并尽量保留原文件属性- 源路径存在中文或空格时应使用双引号
四、安装 VCS
在 Synopsys Installer 中选择 VCS 安装介质。
安装目标目录填写:
/opt/synopsys/vcs/L-2016.06
CentOS 7 是 64 位系统,应选择对应的 64 位平台组件。
可以通过下面的命令确认系统架构:
uname -m
如果输出:
x86_64
说明系统是 64 位。
五、安装 Verdi
在 Synopsys Installer 中选择 Verdi 安装介质。
产品选择:
VERDI - The Industry's Open Debug Platform
第一次安装时,保持通用组件 VERDI 被选中。
平台选择:
linux64
安装目标目录填写:
/opt/synopsys/verdi/L-2016.06-1
六、安装 SCL
SCL 是 Synopsys Common Licensing,用于运行 Synopsys 许可证服务。
安装目标目录填写:
/opt/synopsys/scl/11.9
64 位系统优先选择:
amd64
七、安装编译器和兼容组件
安装 GCC 和 G++
CentOS 7 默认通常已经安装 GCC 4.8.5,但不一定安装 G++。
首先检查软件包状态:
点击查看代码
rpm -q gcc gcc-c++
命令说明:
rpm:CentOS 的软件包管理工具-q:查询指定软件包是否已经安装gcc:提供 C 编译器gcc-c++:提供 C++ 编译器g++- 该命令只查询,不会安装或修改软件
如果出现:
gcc-4.8.5-44.el7.x86_64
package gcc-c++ is not installed
说明 GCC 已安装,但 G++ 尚未安装。
切换到 root 用户:
su -
命令说明:
su:切换用户,默认切换到 root-:加载 root 的完整登录环境- 输入密码时终端不会显示字符,这是正常现象
安装 G++:
点击查看代码
yum install -y gcc-c++
命令说明:
yum:CentOS 7 软件包管理器install:安装指定软件包-y:自动确认安装过程中的询问gcc-c++:提供 GNU C++ 编译器g++- YUM 会自动安装
gcc-c++依赖的软件包 - 安装结果会永久保留,关闭终端或重启后不会消失
如果安装时出现:
Could not retrieve mirrorlist
Cannot find a valid baseurl for repo: base/7/x86_64
说明 CentOS 7 的原软件源已经失效,需要先将 YUM 软件源切换到 CentOS Vault 7.9.2009 归档源,再重新执行安装命令。
安装完成后检查软件包:
rpm -q gcc gcc-c++
正常应显示类似:
gcc-4.8.5-44.el7.x86_64
gcc-c++-4.8.5-44.el7.x86_64
查看编译器版本:
gcc --version
g++ --version
命令说明:
gcc --version:显示 C 编译器版本g++ --version:显示 C++ 编译器版本- 这两条命令只查询版本,不会编译或修改文件
正常情况下,两者均为 GCC 4.8.5 系列。
查看命令的实际位置:
command -v gcc
command -v g++
命令说明:
command -v:查询当前 Shell 实际使用的命令路径- 该命令只查询,不会运行编译器
正常应显示:
/usr/bin/gcc
/usr/bin/g++
完成后退出 root:
exit
安装 32 位 LSB 兼容组件
如果运行时出现:
/lib/ld-lsb.so.3: bad ELF interpreter: No such file or directory
查询哪个软件包提供该文件:
yum provides '*/ld-lsb.so.3'
安装 32 位 LSB 兼容组件:
yum install -y redhat-lsb-core.i686
安装 libXScrnSaver
如果运行时缺少libXss依赖库
libXss.so.1: No such file or directory
安装对应的libXScrnSaver
yum install libXScrnSaver
八、配置全局环境变量
Synopsys 软件安装在 /opt/synopsys,希望所有用户都能使用,因此将环境变量写入全局配置文件:
/etc/profile.d/synopsys.sh
这样不需要分别修改每个用户的 ~/.bashrc。
切换到 root 用户:
su -
命令说明:
su:切换用户,默认切换到 root-:加载 root 的完整登录环境- 修改
/etc/profile.d中的文件需要 root 权限
打开全局配置文件:
gedit /etc/profile.d/synopsys.sh
命令说明:
gedit:打开图形文本编辑器/etc/profile.d/synopsys.sh:所有用户共用的 Synopsys 环境配置文件- 如果文件不存在,保存时会自动创建
- 文件会永久保留,关闭终端或重启系统后不会消失
在文件中添加:
#dve
export PATH=$PATH:/opt/synopsys/vcs/L-2016.06/gui/dve/bin
alias dve='dve -full64'
#VCS
export PATH=$PATH:/opt/synopsys/vcs/L-2016.06/bin
alias vcs='vcs -full64 -cpp g++ -cc gcc -LDFLAGS -Wl,--no-as-needed'
#VERDI
export PATH=$PATH:/opt/synopsys/verdi/L-2016.06-1/bin
export VCS_HOME=/opt/synopsys/vcs/L-2016.06
export VERDI_HOME=/opt/synopsys/verdi/L-2016.06-1
export NOVAS_HOME=/opt/synopsys/verdi/L-2016.06-1
#LICENCE
export LM_LICENSE_FILE=27000@localhost.localdomain
export SNPSLMD_LICENSE_FILE=$LM_LICENSE_FILE
#SCL
export PATH=$PATH:/opt/synopsys/scl/11.9/linux/bin
#旧版VCS兼容CentOS 7
export VCS_ARCH_OVERRIDE=linux
配置说明:
PATH:Shell 查找可执行程序的目录列表alias:给命令附加默认启动参数VCS_HOME:VCS 的安装目录VERDI_HOME:Verdi 的安装目录NOVAS_HOME:旧版 Verdi/Novas 使用的目录变量LM_LICENSE_FILE:FlexNet 许可证服务器地址SNPSLMD_LICENSE_FILE:Synopsys 专用许可证变量VCS_ARCH_OVERRIDE=linux:让旧版 VCS 使用 Linux 兼容模式
保存后设置配置文件权限:
chmod 644 /etc/profile.d/synopsys.sh
命令说明:
chmod:修改文件权限644:root 可以读写,其他用户只能读取- 防止普通用户修改全局环境配置
退出 root:
exit
让配置在当前普通用户终端中立即生效:
source /etc/profile.d/synopsys.sh
命令说明:
source:在当前终端中重新读取配置文件- 不会重启系统
- 新登录的用户会自动加载
/etc/profile.d中的配置
九、配置正式许可证
终端模式下查看主机名和网络地址,输入hostname(对应HOST Name)和ifconfig(ether后去掉冒号填到HOST ID Deamon和HOST ID Feature)即可查询。
打开scl_ketgen.exe文件,输入信息后,点击generator生成许可证,许可证就在exe目录下。

许可证文件存放在:
/opt/synopsys/vcs/L-2016.06/license/Synopsys.dat
/opt/synopsys/verdi/L-2016.06-1/license/Synopsys.dat
创建目录:
mkdir -p /opt/synopsys/vcs/L-2016.06/license
mkdir -p /opt/synopsys/verdi/L-2016.06-1/license
复制正式许可证:
cp -i /正式许可证路径/Synopsys.dat \
/opt/synopsys/vcs/L-2016.06/license/Synopsys.dat
cp -i /正式许可证路径/Synopsys.dat \
/opt/synopsys/verdi/L-2016.06-1/license/Synopsys.dat
命令说明:
cp:复制文件-i:覆盖已有文件前询问确认\:下一行仍属于同一条命令
永久开放许可证端口,以 root 用户执行:
firewall-cmd --permanent --zone=public --add-port=27000/tcp
重载一下
firewall-cmd --reload
激活运行代码
lmg_vcs
十、配置许可证服务开机自动启动
1. 创建日志目录
以 root 身份执行:
su -
install -d \
-o lr \
-g "$(id -gn lr)" \
-m 755 \
/var/log/synopsys
这里的 install 不是安装软件,而是创建目录并设置所有者和权限。
参数说明:
-d:创建目录-o:设置所有者-g:设置所属组-m 755:设置目录权限
2. 创建 systemd 服务
执行:
cat > /etc/systemd/system/synopsys-license.service <<'EOF'
[Unit]
Description=Synopsys FlexNet License Server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=lr
WorkingDirectory=/opt/synopsys/scl/11.9/linux/bin
ExecStart=/opt/synopsys/scl/11.9/linux/bin/lmgrd -z -c /opt/synopsys/vcs/L-2016.06/license/Synopsys.dat -l /var/log/synopsys/lmgrd.log
ExecStop=/opt/synopsys/scl/11.9/linux/bin/lmutil lmdown -c 27000@localhost.localdomain -q
Restart=on-failure
RestartSec=5
TimeoutStopSec=30
[Install]
WantedBy=multi-user.target
EOF
配置说明:
User=lr:以普通用户运行服务ExecStart:启动lmgrd-z:让lmgrd保持前台运行,便于 systemd 管理-c:指定许可证文件-l:指定日志文件ExecStop:停止服务时调用lmutil lmdownRestart=on-failure:异常退出时自动重启
设置开机自动启动:
systemctl daemon-reload
systemctl enable --now synopsys-license
命令说明:
enable:设置开机自动启动--now:同时立即启动服务
验证:
systemctl is-enabled synopsys-license
systemctl is-active synopsys-license
正常输出:
enabled
active
配置 systemd 后,不要再次手动运行 lmg_vcs,否则可能重复占用 27000 端口。
后续手动可以使用:
systemctl start synopsys-license
systemctl stop synopsys-license
systemctl restart synopsys-license
systemctl status synopsys-license --no-pager -l

浙公网安备 33010602011771号