ARM DS-5 Flex网络许可证多线程编译错误“Error: C9933W: Waiting for license...”

问题类别:ARM 开发工具 > DS-5 浏览次数:5872
发布日期:2013-08-16 13:55:08 文章来源:米尔科技
回复日期:2015-12-04 09:27:17

环境说明

ARM DS-5 / ARM RVDS

分析描述

这是因为我们在使用ARM编译器编译的时候,使用的是并行(多线程)编译,并行编译需要多个席位的许可证文件。
如果我们只有一个席位的许可证,用并行编译方式来编译,就会出现“Error: C9933W: Waiting for license...”错误或者“Warning: C9933W: Waiting for license...”提示,导致代码编译不通过。

问题解答

方法一,不推荐

检查编译选项,是否有如下的一段:

make -j4

-j 后面的数字表示并行编译的数量,如上选项表示同时进行 4 个编译工作。

所以问题的解决办法就很明确了,将 -j 后面的数字改为 1,或者直接删除“-j4”这一个选项,就可以了,如果设置为单线程“1”后还是提示错误,请重启服务器再试。

说明:此办法因为仅用一个线程进行编译,所以会严重影响编译的速度。我们建议 RVDS 4.0 build 697 之前的版本和DS-5 旗舰版 5.20 之前的版本这样设置。其他版本,如RVDS 4.0 build 697及其之后版本、DS-5专业版、DS-5旗舰版5.20及其之后版本,请看方法二。

ARM官方说明:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka15081.html


方法二,推荐!

默认情况下,C9933W: Waiting for license...只是警告级别,不会达到错误级别如果出现error,我们可以通过以下步骤来解决:


1、修改编译脚本,将使用到 license 的地方的错误级别调整为警告级别,这不会影响编译结果。具体操作方法:在编译脚本中添加或修改“--diag_error”的值为“warning”:

--diag_error=warning

一般在形如“CFLAGS=----diag_error=...”的地方。


2、添加编译选项“--licretry --diag_suppress=9931,9933”到编译脚本中,包括汇编器、编译器、连接器和fromelf,如下:

ARMCC5_ASMOPT=--licretry --diag_suppress=9931,9933

ARMCC5_CCOPT=--licretry --diag_suppress=9931,9933

ARMCC5_FROMELFOPT=--licretry --diag_suppress=9931,9933

ARMCC5_LINKOPT=--licretry --diag_suppress=9931,9933


ARM Compiler 6解决办法http://www.myir-tech.com/faq_list.asp?id=535 


参考地址:

1、http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka16582.html

2、http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4095.html

技术支持服务指南

在线提交问题

常见问题解答


新闻中心 | 联系我们 | 招聘信息 | 留言反馈 | 典型客户 | © 2017 Myir
深圳总部: 0755-25622735 | 北京办事处: 010-84675491 | 上海办事处: 021-60317628 粤ICP备12005064号-1