Cannot find lmgrd和No such file or directory是FlexNet许可证服务器启动时最典型的错误,也是最容易让新手困惑的问题——同样的报错,可能指向完全不同的根源。整理了一份排查清单,按优先级排序。
先看报错的具体形式:
| 报错信息 | 含义 | 大概率原因 |
|---|---|---|
bash: lmgrd: command not found | Shell在PATH中找不到lmgrd这个命令 | 环境变量未配置,或命令不在PATH中 |
./lmgrd: No such file or directory | 你指定了具体路径,但该路径下没有这个文件 | 路径写错了,或文件不存在 |
lmgrd: /lib64/ld-lsb-x86-64.so.3: No such file or directory | lmgrd本身存在,但运行时依赖的LSB动态链接库缺失 | LSB组件未安装 |
三种报错,三种解法。 先看清楚你遇到的是哪一种,再往下看。
PATH环境变量未配置(对应command not found)这是最常见的情况。lmgrd已经安装在了系统某个目录下,但该目录没有被加入PATH环境变量,Shell找不到它。
排查方法:
bash
# 方法1:用which查找
which lmgrd
# 方法2:用find全局搜索
sudo find / -name "lmgrd" -type f 2>/dev/null常见的lmgrd安装位置:
解决方案:
找到lmgrd位置后,将其所在目录加入PATH:
bash
# 临时生效(当前终端)
export PATH=/opt/synopsys/scl/2021.03/linux64/bin:$PATH
# 永久生效(bash)
echo 'export PATH=/opt/synopsys/scl/2021.03/linux64/bin:$PATH' >> ~/.bashrc
source ~/.bashrc注意:某些EDA工具(如Cadence)的安装脚本对csh/tcsh兼容性更好,如果在bash下配置完仍不生效,可以切换到csh环境试试。
ld-lsb-x86-64.so.3: No such file)这是Linux环境下的高频问题。FlexNet的lmgrd二进制文件依赖Linux Standard Base(LSB)组件。系统缺少LSB库时,执行lmgrd会直接报错退出。
排查方法:
bash
# 检查lmgrd的依赖库
ldd lmgrd如果输出中出现类似/lib64/ld-lsb-x86-64.so.3 => not found,说明LSB缺失。
解决方案:

根据Linux发行版安装LSB包:
| 发行版 | 命令 |
|---|---|
| Ubuntu/Debian | sudo apt-get install lsb 或 sudo apt-get install lsb-core |
| Red Hat/CentOS | sudo yum install redhat-lsb |
安装后用ls -l /lib64/ld-lsb-x86-64.so.3确认软链接已创建。
./lmgrd: No such file)如果你用相对路径或绝对路径执行lmgrd,比如./lmgrd或/opt/flexnet/bin/lmgrd,报No such file or directory,那就是路径本身不对。
排查方法:
bash
# 确认当前目录下有没有lmgrd
ls -la lmgrd
# 确认完整路径是否正确
ls -la /你写的路径/lmgrd常见错误:
lmgrd未安装或安装不完整如果find / -name "lmgrd"什么都找不到,那就是根本没装。
解决方案:
即使lmgrd存在且PATH正确,如果文件没有执行权限,也会报错。
排查方法:
bash
ls -l lmgrd解决方案:
bash
chmod +x lmgrd| 报错信息 | 第一步检查 | 最可能的解决方案 |
|---|---|---|
command not found | which lmgrd | 将lmgrd所在目录加入PATH |
No such file or directory(执行./lmgrd时) | ls -la lmgrd | 确认路径和文件名正确 |
ld-lsb-x86-64.so.3: No such file | ldd lmgrd | 安装LSB包 |
Permission denied | ls -l lmgrd | chmod +x lmgrd |
在64位Linux系统上运行32位的lmgrd,即使LSB装了也可能出问题。Synopsys SCL工具是个典型例子——scl/linux/bin/lmgrd是32位,scl/amd64/bin/lmgrd是64位。
如果报错信息含糊不清,试试切换到amd64(或linux64)目录下的lmgrd,很多情况下直接解决问题。
最后说一句:不要反复执行启动命令而不看报错。把报错信息完整地贴到搜索引擎里,90%的情况下前三条结果就告诉你答案了。这三种报错虽然看起来像同一个问题,但排查路径完全不同——看清楚报错,比盲目尝试重要得多。