完美体育·(中国)手机网页版科技提醒您:您的浏览器版本过低或者使用了兼容模式,为了获得更好的浏览体验,建议使用IE10以上的浏览器或使用极速模式。 请升级浏览器以获得更好的体验!

完美体育·(中国)手机网页版 > 技术文章 > ARM软件工具 > ARM DS-5 > ARM DS-5 Flex网络许可证多线程编译错误“Error: C9933W: Waiting for license...”

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

问题类别:ARM软件工具 > ARM DS-5 浏览次数:13718
发布日期:2013/8/16 13:55:08 文章来源:完美体育·(中国)手机网页版科技
回复日期:2020/12/18 10:22:23

环境说明

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解决办法/customerService/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