FlexNet许可证服务器启动时,你可能会遇到各种错误代码。 下面这份清单整理了最常见的错误类型、原因和解决方法,便于快速定位问题。
| 错误代码 | 含义 | 最可能的原因 | 快速解决方向 |
|---|---|---|---|
| -1 | Cannot find license file | 找不到许可证文件 | 检查-c参数路径是否正确 |
| -2 | Invalid license file syntax | 许可证文件格式错误 | 检查文件是否被篡改或损坏 |
| -3 | No license server system for this feature | 许可证不支持该功能 | 确认feature名称是否正确 |
| -4 | Licensed number of users already reached | 用户数已达上限 | 检查并发使用情况 |
| -5 | No such feature exists | 请求的feature不存在 | 核对许可证文件中的feature列表 |
| -8 | Invalid license key/signature | 许可证签名无效 | 重新获取官方许可证文件 |
| -9 | Invalid host | 主机不匹配 | 检查SERVER行的MAC地址/主机名 |
| -10 | Feature has expired | 许可证已过期 | 联系厂商更新许可证 |
| -13 | No SERVER lines in license file | 许可证文件缺少SERVER行 | 检查文件格式 |
| -14 | Cannot find SERVER host name | 无法解析主机名 | 用IP地址代替主机名 |
| -15 | Cannot connect to license server system | 无法连接许可证服务器 | lmgrd未启动、端口错误、防火墙拦截 |
| -17 | Cannot write data to license server system | 无法写入数据 | 检查网络和防火墙 |
| -21 | License file does not support this version | 版本不支持 | 升级许可证或降级客户端 |
| -22 | Feature checkin failure | 签入失败 | 检查vendor daemon状态 |
| -24 | Users are queued for this feature | 用户排队中 | 正常排队状态 |
| -29 | Cannot find ethernet device | 找不到网卡设备 | 检查网卡驱动和MAC地址 |
| -30 | Cannot read license file | 无法读取许可证文件 | 检查文件权限 |
| -31 | Feature start date is in the future | 功能生效日期在未来 | 检查系统时间 |
| -34 | Clock difference too large | 时间差过大 | 同步客户端与服务器时间 |
| -38 | User/host on EXCLUDE list | 用户/主机被排除 | 检查options文件 |
| -39 | User/host not on INCLUDE list | 用户/主机不在允许列表 | 检查options文件 |
| -40 | Cannot allocate dynamic memory | 内存不足 | 重启服务释放资源 |
| -52 | Vendor daemon did not respond | Vendor daemon无响应 | 检查vendor daemon是否正常运行 |
| -63 | You are not a license administrator | 非许可管理员 | 以管理员身份运行 |
| -96 | License server machine is down or not responding | 服务器宕机或无响应 | 检查服务器状态和网络连接 |
| -97 | License Manager cannot start | 许可管理器无法启动 | 检查端口是否被占用 |
这是出现频率最高的错误。可能的原因包括:
排查步骤:
说明当前使用的许可证数量已达到购买上限。
排查步骤:
许可证文件被修改或损坏。
常见原因:
解决方法:从厂商官网重新下载原始许可证文件,不要做任何修改。
许可证文件绑定的主机标识与当前服务器不一致。
检查项:
系统无法将许可证文件中的主机名解析为IP地址。
解决方法:
端口被占用是导致此错误的最常见原因。
排查步骤:
通常在Windows环境下出现,lmgrd无法绑定到正确的网络接口。
常见原因:
解决方法:
在macOS上启动lmgrd时出现。
可能原因:HOSTNAME文件配置问题,服务器无法识别主机名。
解决方法:将本地IP地址添加到hosts文件中,并重启服务。
在Linux上启动lmgrd时报No such file or directory,通常是因为系统缺少Linux Standard Base(LSB)组件。
检查方法:
bash
ldd lmgrd如果输出中出现/lib64/ld-lsb-x86-64.so.3 => not found,说明LSB缺失。
解决方法:
| 发行版 | 命令 |
|---|---|
| Ubuntu/Debian | sudo apt-get install lsb |
| Red Hat/CentOS | sudo yum install redhat-lsb |
安装后确认软链接已创建:
bash
ls -l /lib64/ld-lsb-x86-64.so.3在64位系统上运行32位的lmgrd可能失败。检查lmgrd的文件类型:
bash
file lmgrd如果是32位版本,尝试切换到64位目录下的lmgrd。
启动时报relocation error: symbol errno, version GLIBC_2.0 not defined。
临时解决方案:
bash
LD_ASSUME_KERNEL=2.4 ./lmgrd -c license.liclmgrd作为Windows服务运行时,可能因权限不足无法写入日志目录。
解决方法:
启动软件时反复弹出FlexNet License Finder,可能是因为注册表写入权限不足。
解决方法:
同一台服务器上多个软件厂商的FlexNet服务可能产生冲突。
解决方法:
遇到启动失败时,按以下顺序排查:
第一步:查看日志
打开debug.log或lmgrd.log,日志的最后几行通常会给出明确的错误线索。
第二步:检查进程
确认lmgrd和vendor daemon进程是否在运行。如果有残留进程,先全部终止再重新启动。
第三步:检查端口
确认许可证文件中的端口未被占用。
第四步:检查许可证文件
用lmutil lmcksum -c license.lic校验文件完整性。
第五步:检查防火墙和安全软件
临时关闭防火墙和安全软件测试。
第六步:从命令行手动启动
跳过服务管理器,直接在命令行执行:
bash
lmgrd -c /path/to/license.lic -l /path/to/debug.log这样可以观察到完整的控制台输出。
最后提醒:90%的启动问题都可以通过查看debug.log定位。日志里一定有线索,关键是别跳过它直接去试各种“偏方”。