全志编译过程问题与解决方法汇总续

错误一:freadahead.c

  freadahead.c:91:3: error: #error "Please port gnulib freadahead.c to your platform! Look at the definition of fflush, fread, ungetc on your system, then report this to bug-gnulib.

解决方法:

cd out/sun8iw11p1/linux/cb0010/buildroot/build/host-m4-1.4.17/

sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h

错误2:

c-stack.c:55:7: error: missing binary operator before token "("

解决方法删除对应部分,因为这个条件走不到

错误3

lib/fseterr.c:77:3: error: #error "Please port gnulib fseterr.c to your platform!

解决方法

out/sun8iw11p1/linux/cb0010/buildroot/build/host-bison-3.0.4/

sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h

错误4

/usr/bin/ld: dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; dtc-lexer.lex.o

解决方法:加上extern

vi out/sun8iw11p1/linux/cb0010/buildroot/build/host-dtc-1.4.1/dtc-parser.tab.c +1198

错误5 mkimage” command not found

解决方法:sudo apt-get install u-boot-tools

错误5 awk: line 2: function strtonum never defined

解决方法:

sudo apt-get install gawk

错误6

makedevs: line 23: can't create node /home/wang/practice/t3pro/lichee/out/sun8iw11p1/linux/cb0010/buildroot/target/dev/console: File exist

解决方法:

linux-3.10/scripts/build.sh:473

vi ./buildroot-201611/fs/common.mk +74

增加:

rm /home/wang/practice/t3pro/lichee/out/sun8iw11p1/linux/cb0010/buildroot/target/dev/console

错误7

mkbootimg: No such file or directory

解决方法:sudo apt-get install g++-multilib gcc-multilib

错误8

mksquashfs.c:991:38: error: called object 'major' is not a function or function pointer

解决方法: #include <sys/types.h>

#include <sys/sysmacros.h>

out/sun8iw11p1/linux/cb0010/buildroot/build/host-squashfs-9c1db6d13a51a2e009f0027ef336ce03624eac0d/squashfs-tools/mksquashfs.c

错误9 makedev

/usr/bin/ld: devname.c:(.text+0xb7e): undefined reference to `makedev'

/usr/bin/ld: devname.c:(.text+0xc43): undefined reference to `makedev'

解决方法:

vi out/sun8iw11p1/linux/cb0010/buildroot/build/e2fsprogs-1.43.3/lib/blkid/devname.c

vi out/sun8iw11p1/linux/cb0010/buildroot/build/util-linux-2.28.2/libblkid/src/devname.c

vi out/sun8iw11p1/linux/cb0010/buildroot/build/host-e2fsprogs-1.43.3/lib/blkid/devname.c

加上: #include <sys/sysmacros.h>

错误10 major

/usr/bin/ld: ../lib/libext2fs.a(ismounted.o): in function `check_mntent_file':

ismounted.c:(.text+0x22d): undefined reference to `major'

解决方法:增加以下内容:

#include <sys/types.h>

#include <sys/sysmacros.h>

out/sun8iw11p1/linux/cb0010/buildroot/build/host-e2fsprogs-1.43.3/lib/ext2fs/ismounted.c

out/sun8iw11p1/linux/cb0010/buildroot/build/e2fsprogs-1.43.3/lib/ext2fs/ismounted.c

错误11

/usr/bin/ld: debugfs.o: in function `do_mknod':

debugfs.c:(.text+0x43e0): undefined reference to `makedev'

/usr/bin/ld: create_inode.o: in function `do_mknod_internal':

create_inode.c:(.text+0x2c4): undefined reference to `major'

/usr/bin/ld: create_inode.c:(.text+0x2d2): undefined reference to `minor'

解决方法:

#include <sys/sysmacros.h>

#include <sys/types.h>

#include <sys/sysmacros.h>

./out/sun8iw11p1/linux/cb0010/buildroot/build/host-e2fsprogs-1.43.3/debugfs/debugfs.c

./out/sun8iw11p1/linux/cb0010/buildroot/build/e2fsprogs-1.43.3/debugfs/debugfs.c

./out/sun8iw11p1/linux/cb0010/buildroot/build/host-e2fsprogs-1.43.3/misc/create_inode.c

./out/sun8iw11p1/linux/cb0010/buildroot/build/e2fsprogs-1.43.3/misc/create_inode.c

drivers/mtd/sunxipart.c: In function 'sunxipart_parse':

drivers/mtd/sunxipart.c:103:10: error: 'partition_name' undeclared (first use in this function)

错误12

解决方法:加extern

extern struct cache *bwriter_buffer, *fwriter_buffer;

vi out/sun8iw11p1/linux/cb0010/buildroot/build/host-squashfs-9c1db6d13a51a2e009f0027ef336ce03624eac0d/squashfs-tools/mksquashfs.h +136

错误13  _STAT_VER

libfakeroot.c:99:40: error: '_STAT_VER' undeclared (first use in this function)

99 | #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b)

解决方案:增加以下:

#ifndef _STAT_VER

#if defined (__aarch64__)

#define _STAT_VER 0

#elif defined (__x86_64__)

#define _STAT_VER 1

#else

#define _STAT_VER 3

#endif

#endif

 错误14

 

vi buildroot-201611/scripts/mkcmd.sh +396

[ $? -ne 0 ] && mk_error "build kernel Failed" && return 1

解决方法:调换2行的位置

vi linux-3.10/scripts/build.sh +473

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值