错误一: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