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目录下。
image

许可证文件存放在:

/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 lmdown
  • Restart=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
posted @ 2026-07-19 23:32  Litt_R  阅读(3)  评论(0)    收藏  举报