全志T5环境编译错误解决

1、gawk编译ibgpg-error-1.33出错

1.1 报差错信息

gawk -f ./mkerrnos.awk ./errnos.in >code-to-errno.h
gawk -f ./mkerrcodes1.awk ./errnos.in >_mkerrcodes.h
gawk -f ./mkstrtable.awk -v textidx=2 -v nogettext=1 \
	./err-sources.h.in >err-sources-sym.h
gawk -f ./mkstrtable.awk -v textidx=2 -v nogettext=1 \
	./err-codes.h.in >err-codes-sym.h
gawk -f ./mkstrtable.awk -v textidx=2 -v nogettext=1 \
	-v prefix=GPG_ERR_ -v namespace=errnos_ \
	./errnos.in >errnos-sym.h
/usr/bin/gcc -g -O0 -I. -I. -o mkheader ./mkheader.c
gawk: ./mkerrnos.awk:86: warning: regexp escape sequence `\#' is not a known regexp operator
gawk: ./mkerrcodes1.awk:84: warning: regexp escape sequence `\#' is not a known regexp operator
gawk: fatal: cannot use gawk builtin `namespace' as variable name
gawk: ./mkstrtable.awk:113: warning: regexp escape sequence `\#' is not a known regexp operator
gawk: ./mkstrtable.awk:113: warning: regexp escape sequence `\#' is not a known regexp operator
make[4]: *** [Makefile:1615: errnos-sym.h] Error 2
make[4]: *** Waiting for unfinished jobs....
/home/jrf/Application/Udata/T5/T5/V1.0_2020513/longan/out/t507/demo2.0/longan/buildroot/host/bin/aarch64-linux-gnu-cpp -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -P _mkerrcodes.h | grep GPG_ERR_ | \
               gawk -f ./mkerrcodes.awk >mkerrcodes.h
gawk: ./mkerrcodes.awk:88: warning: regexp escape sequence `\#' is not a known regexp operator
rm _mkerrcodes.h
make[3]: *** [Makefile:508: all-recursive] Error 1
make[2]: *** [Makefile:440: all] Error 2
make[1]: *** [package/pkg-generic.mk:241: /home/jrf/Application/Udata/T5/T5/V1.0_2020513/longan/out/t507/demo2.0/longan/buildroot/build/libgpg-error-1.33/.stamp_built] Error 2
make: *** [Makefile:96: _all] Error 2
make: Leaving directory '/home/jrf/Application/Udata/T5/T5/V1.0_2020513/longan/buildroot/buildroot-201902'

或者

strerror-sym.c:45:13: warning: implicit declaration of function 'errnos_msgidxof'; did you mean 'msgidxof'? [-Wimplicit-function-declaration]
       idx = errnos_msgidxof (code);
             ^~~~~~~~~~~~~~~
             msgidxof
strerror-sym.c:47:9: error: 'errnos_msgstr' undeclared (first use in this function)
  return errnos_msgstr + errnos_msgidx[idx];
         ^~~~~~~~~~~~~
strerror-sym.c:47:9: note: each undeclared identifier is reported only once for each function it appears in
strerror-sym.c:47:25: error: 'errnos_msgidx' undeclared (first use in this function); did you mean 'errnos_msgstr'?
  return errnos_msgstr + errnos_msgidx[idx];
                         ^~~~~~~~~~~~~
                         errnos_msgstr

1.2 解决方案

找到libgpg-error-1.33编译包的位置,并分别找到这几个文件:
libgpg-error-1.33/lang/cl/mkerrcodes.awk
libgpg-error-1.33/src/mkerrcodes.awk
libgpg-error-1.33/src/mkerrcodes1.awk
libgpg-error-1.33/src/mkerrcodes2.awk
libgpg-error-1.33/src/mkerrnos.awk
libgpg-error-1.33/src/mkstrtable.awk
并分别打开找到如下代码:

!header {
  sub (/\#.+/, "");

将上诉所有文件中的所有"sub (/#.+/, “”);",改为:“sub (/#.+/, “”);”,也就是说最新的gawk能够识别到’#'号不需要使用转义字符(‘\‘)的帮助


最后找到,如下几个文件:
libgpg-error-1.33/src/Makefile
libgpg-error-1.33/src/Makefile.am
libgpg-error-1.33/src/Makefile.in
libgpg-error-1.33/src/mkstrtable.awk

打开上述文件,搜索“namespace”,将所有搜索到的结果替换为“pkg_namespace”


然后必要clean,运行编译命令重新编译就ok了


参考网址:https://dev.gnupg.org/rE7865041c77f4f7005282f10f9b6666b19072fbdf#change-CargHgxjKH4W

2、找不到交叉编译工具

如果是直接拷贝别人已经编译过的T5的SDK进行编译,那么可能会出现编译成功后,Makefile交叉编译工具路径设置正确, 但是在make实例中的sdk_demo时,会出现找不到编译工具的问题。这时找到sdk_demo所在目录的makefile_cfg文件,打开它并将LICHEE_BR_OUT=“path”,改为自己的路径,就可以了。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
T5 Transformer是一种基于Transformer架构的预训练模型,由Google Research开发。它是一种通用的文本到文本转换模型,可以用于各种自然语言处理任务,如文本摘要、翻译、问答等。 T5 Transformer的特点是可以将不同的任务转化为文本生成问题,并通过大规模的无监督预训练来学习通用的语言表示。在预训练阶段,T5 Transformer使用了大量的文本数据,通过自监督学习的方式学习语言模型。在微调阶段,可以根据具体的任务进行有监督的微调,以适应特定的任务需求。 T5 Transformer的优势在于其通用性和灵活性。通过将不同的任务转化为文本生成问题,可以使用相同的模型和参数进行处理,避免了针对每个任务单独设计和训练模型的复杂性。此外,T5 Transformer还可以通过迁移学习的方式,将在一个任务上学到的知识应用到其他任务上,提高模型的泛化能力。 以下是一个使用T5 Transformer进行文本生成的示例代码: ```python from transformers import T5Tokenizer, T5ForConditionalGeneration # 加载T5模型和分词器 model_name = 't5-base' tokenizer = T5Tokenizer.from_pretrained(model_name) model = T5ForConditionalGeneration.from_pretrained(model_name) # 输入文本 input_text = "Translate this sentence to French: Hello, how are you?" # 对输入文本进行编码 input_ids = tokenizer.encode(input_text, return_tensors='pt') # 使用T5模型生成翻译结果 output = model.generate(input_ids) # 解码生成的文本 output_text = tokenizer.decode(output[0], skip_special_tokens=True) # 打印生成的翻译结果 print(output_text) ``` 这段代码使用了Hugging Face的`transformers`库,首先加载了T5模型和分词器,然后将输入文本编码为模型可接受的输入格式,最后使用模型生成翻译结果并解码为可读文本。你可以根据具体的任务需求和输入文本进行相应的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值