hi3516cv500 sdk 编译提示 cannot find uuid library required for mkfs.ubifs

总结海思 hi3516dv300 020 SDK编译遇到的问题

 

刚装完工具链可能无法直接执行,因为在64位系统上缺少32位的库,按照下面的步骤安装完依赖的软件后即可使用。

 

首先按照 sdk 中 osdrv/readme_cn.txt 的描述放置软件包。

然后按照《开发环境用户指南》中的说明安装:
apt install make libc6:i386 lib32z1 lib32stdc++6 zlib1g-dev libncurses5-dev ncurses-term libncursesw5-dev g++ texinfo texlive gawk libssl-dev openssl bc    (u-boot-tools:i386)
其中最后一个如果有问题可以不安装。

然后安装某些包中需要的依赖:
apt install u-boot-tools libuuid1:i386 gperf bison
这时候编译还会提示 cannot find uuid library required for mkfs.ubifs,需要按照 osdrv\tools\pc\jffs2_tool\readme_cn.txt 中描述的安装如下依赖即可编译成功:
apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config

 

ubuntu 20.04 相关错误:

1. Please port gnulib fseterr.c to your platform! 

按照 https://forum.openwrt.org/t/tools-bison-lib-fseterr-c-build-problems-on-18-06-0-due-to-glibc-2-28-changes/18926 这个描述的修改 stdio-impl.h、fseterr.c、fseeko.c 三个文件,并且修改 hi_gzip 里的 makefile 不要更新文件即可。

--- a/lib/stdio-impl.h
+++ b/lib/stdio-impl.h
@@ -18,6 +18,12 @@
    the same implementation of stdio extension API, except that some fields
    have different naming conventions, or their access requires some casts.  */

+/* Glibc 2.28 made _IO_IN_BACKUP private.  For now, work around this
+   problem by defining it ourselves.  FIXME: Do not rely on glibc
+   internals.  */
+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
+# define _IO_IN_BACKUP 0x100
+#endif

 /* BSD stdio derived implementations.  */

--- a/lib/fseterr.c
+++ b/lib/fseterr.c
@@ -29,7 +29,7 @@
   /* Most systems provide FILE as a struct and the necessary bitmask in
      <stdio.h>, because they need it for implementing getc() and putc() as
      fast macros.  */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
   fp->_flags |= _IO_ERR_SEEN;
 #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
   fp_->_flags |= __SERR;

2. mksquashfs.c:987:24: error: called object ‘major’ is not a function or function pointer

下载4.4版本 squashfs,改一下 osdrv/tools/pc/squashfs4.3/mkakefile 里的版本配置

 

.

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值