ConstStar
发布于 2024-03-12 / 92 阅读 / 0 评论 / 0 点赞

libgpg-error编译失败:strerror-sym.c:47:25: error: 'errnos_msgidx' undeclared

遇到的问题

gawk: ./mkstrtable.awk:113: warning: regexp escape sequence `#' is not a known regexp operator
...
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)
return errnos_msgstr + errnos_msgidx[idx];

解决方法

方法1

buildroot/output/alientek_rv1126/build/libgpg-error-1.27/libgpg-error-1.33/lang/cl/mkerrcodes.awk
buildroot/output/alientek_rv1126/build/libgpg-error-1.27/libgpg-error-1.33/src/mkerrcodes.awk
buildroot/output/alientek_rv1126/build/libgpg-error-1.27/libgpg-error-1.33/src/mkerrcodes1.awk
buildroot/output/alientek_rv1126/build/libgpg-error-1.27/libgpg-error-1.33/src/mkerrcodes2.awk
buildroot/output/alientek_rv1126/build/libgpg-error-1.27/libgpg-error-1.33/src/mkerrnos.awk
buildroot/output/alientek_rv1126/build/libgpg-error-1.27/libgpg-error-1.33/src/mkstrtable.awk

将这些文件中的

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

替换为

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

方法2

  1. 直接替换buildroot/package/libgpg-error/libgpg-error.mk中的版本号为1.37
  2. 修改buildroot/package/libgpg-error/libgpg-error.hash文件为
    # Locally calculated after checking pgp signature
    sha256 a519c44fb29b900ee88b06945318fb6a3b93f74d93293b657693e261394e6b82 libgpg-error-1.37.tar.gz
    
  3. 清理缓存并重新编译

参考

https://github.com/gpg/libgpg-error/commit/7865041c77f4f7005282f10f9b6666b19072fbdf


评论