此问题通常表明许可证文件是从网络许可证管理器提供的,并且运行许可证管理器的机器上的许可证.dat文件有问题。导致此错误的原因可能是以下原因之一:
- 生成license.dat文件的主机ID不是license服务器机器的主机ID
- dat文件本身缺少、损坏或不正确的字符
- 系统时间和日期设置不正确。继续下面的操作之前,请检查以确保机器上的日期和时间设置正确。
如果您使用MATLAB R2007b或更低版本,并为R2008a或更高版本生成独立许可文件,则也可能会出现此问题。在这种情况下,为MATLAB的正确版本生成许可文件将解决此问题。
如果时间和日期设置正确,并且您没有将R2007b或更低版本与R2008a或更高版本的独立许可证文件一起使用,请参阅以下步骤以对许可证文件进行故障排除:
第一步是找到许可证管理器的许可证文件(license.dat)。服务器机器上的license.dat文件位于:
请查看以下内容:
1)确保license文件中指定的Host ID与license文件“SERVER”行的Host ID匹配。此外,如果主机ID不是由“ID=”进行,那么它必须与许可证服务器的主机ID匹配。有关获取主机ID的更多信息,请参阅下面列出的相关解决方案。
许可证文件的主机ID将位于许可证文件的注释行中。例如:
#开始——切,切在这里开始
#MATLAB许可密码文件。
#LicenseNo: 123456 HostID: 001122334455
在此示例中,主机ID是MAC地址00112233445。此MAC地址应位于许可证文件的服务器行中。例如:
服务器my-license-host 001122334455 27000
如果在SERVER行中使用了错误的主机ID,或者为不同的主机ID生成了许可文件,则会发生此错误。单个license使用一个Host ID,即ID=和license编号。如果您有一个单独的许可证,这应该是SERVER行中的Host ID。例如:
服务器我的许可证主机ID=123465 27000
注意:更改许可文件注释部分中列出的主机ID不会解决这个错误。如果您的主机ID不正确,您将需要为正确的主机ID获取新的license文件。
2)这个错误可能是由于在您的许可证文件中有额外的回车。为了避免这种情况,请确保以下字符串都以左对齐行开始:#、SERVER、DAEMON或INCREMENT。有时,增量行会在前面的增量行结束时换行,导致它被省略。
3)如果你位于土耳其,或者你的电脑默认语言是土耳其语,请参考下面的文章:
当我的语言环境设置为土耳其时,为什么在Linux上启动MATLAB时会看到license manager错误-8?