问题描述
我的 Pardiso C 代码在我的 UBUNTU 系统上编译但是当我尝试运行代码时我得到:
许可证错误。错误的用户许可证 用户名:root 目录:/root 错误的用户名或主机名。
我尝试了一个新的许可证代码并将 pardiso.lic 文件放在运行目录、主目录和根目录中,但没有成功。
请帮忙
解决方法
我假设您使用的是来自 pardiso-project 的 PARDISO 库?
正如 Pardiso manual 所述,您必须将许可证文件放在运行代码的用户的主目录中,或者放在运行应用程序的目录中。第三个选项是指定环境变量 PARDISO_LIC_PATH
并将 pardiso.lic 文件放在那里。
在任一情况下 - 必须已为运行代码的用户获取许可文件(如果您的用户正在运行代码,则命令行上的 ẁhoami
)。
对我来说,所有这些都有效(使用当前的 Pardiso)。
根据您的描述,您似乎已经尝试过主目录。 我有一些猜测可能是什么问题:
您是否以 root 身份运行代码? PARDISO 正在 /root 中寻找许可证文件这一事实让我认为 - 您在下载许可证时是否指定了 root 用户?或者您是否输入了建议的 whoami
?
您的 pardiso.lic 文件中是否有任何尾随空格/换行符?
希望这会有所帮助(有点晚了)。
弗劳斯劳夫