bitbake qemu_2.7.0 失败 do_compile

bitbake qemu_2.7.0 failed do_compile

我正在尝试使用 bitbake 构建 arago-core-tisdk-image,但该过程在编译 qemu-native 时失败。我在这里发现了另外两个类似的问题,但没有任何答案,所以我重新发布它,希望有一个修复。

Build Configuration:
BB_VERSION        = "1.32.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-18.04"
TARGET_SYS        = "arm-linux-gnueabi"
MACHINE           = "am57xx-evm"
DISTRO            = "arago"
DISTRO_VERSION    = "2017.12"
TUNE_FEATURES     = "arm armv7a vfp thumb neon       callconvention-hard"
TARGET_FPU        = "hard"
meta-processor-sdk = "HEAD:92db4d8023d88ab59fab2953e7447ec0bd5a6db1"
meta-ros          = "HEAD:e2566402ab108a19634354a934788109422cf409"
meta-arago-distro 
meta-arago-extras = "HEAD:5b2a44b0c4d989133bc13d59398fd10375d351bb"
meta-browser      = "HEAD:26d50665e2f7223c5f4ad7481a8d2431e7cb55fb"
meta-openamp      = "HEAD:8a214032bfb7e8124bc1485c70c69f7d60abb819"
meta-qt5          = "HEAD:2c9f0e4eb0e9097f6f872ec1e1d81768a8ab5f1b"
meta-networking   
meta-ruby         
meta-python       
meta-oe           
meta-gnome        
meta-multimedia   = "HEAD:b40116cf457b88a2db14b86fda9627fb34d56ae6"
meta-ti           = "HEAD:3dc08477529b31ce887bb22a08201a843ded48f0"
meta-linaro-toolchain 
meta-optee        = "HEAD:d73e794c7e7ebb1cc5bf495a52a72b26fb118250"
meta              = "HEAD:39fd8c129e2bff7f2f1649b7f6e036ccc50fd5d8"

日志输出:

DEBUG: Executing shell function do_compile
NOTE: make -j 4 LD=ld  AR=ar OBJCOPY=objcopy LDFLAGS=-L/home/user/tisdk/build/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/usr/lib -L/home/user/tisdk/build/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/lib -Wl,-rpath-link,/home/user/tisdk/build/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/home/user/tisdk/build/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/lib -Wl,-rpath,/home/user/tisdk/build/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/home/user/tisdk/build/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/lib -Wl,-O1 -fuse-ld=bfd
ERROR: oe_runmake failed
  CC    util/bitmap.o
  CC    util/memfd.o
  CC    util/bitops.o
  CC    util/hbitmap.o
/home/user/tisdk/build/arago-tmp-external-linaro-toolchain/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/memfd.c:40:12: error: static declaration of ‘memfd_create’ follows non-static declaration
 static int memfd_create(const char *name, unsigned int flags)
            ^~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/bits/mman-linux.h:115:0,
                 from /usr/include/x86_64-linux-gnu/bits/mman.h:45,
                 from /usr/include/x86_64-linux-gnu/sys/mman.h:41,
                 from /home/user/tisdk/build/arago-tmp-external-linaro-toolchain/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/include/sysemu/os-posix.h:29,
                 from /home/user/tisdk/build/arago-tmp-external-linaro-toolchain/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/include/qemu/osdep.h:104,
                 from /home/user/tisdk/build/arago-tmp-external-linaro-toolchain/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/util/memfd.c:28:
/usr/include/x86_64-linux-gnu/bits/mman-shared.h:46:5: note: previous declaration of ‘memfd_create’ was here
 int memfd_create (const char *__name, unsigned int __flags) __THROW;
     ^~~~~~~~~~~~
/home/user/tisdk/build/arago-tmp-external-linaro-toolchain/work/x86_64-linux/qemu-native/2.7.0-r1/qemu-2.7.0/rules.mak:59: recipe for target 'util/memfd.o' failed
make: *** [util/memfd.o] Error 1
make: *** Waiting for unfinished jobs....
WARNING: /home/user/tisdk/build/arago-tmp-external-linaro-toolchain/work/x86_64-linux/qemu-native/2.7.0-r1/temp/run.do_compile.4152:1 exit 1 from 'exit 1'
ERROR: Function failed: do_compile (log file is located at /home/user/tisdk/build/arago-tmp-external-linaro-toolchain/work/x86_64-linux/qemu-native/2.7.0-r1/temp/log.do_compile.4152)

使用的gcc是gcc-source-linaro-6.2-linaro-6.2-r2016.11

按照 orth ej2 的建议,在您的 qemu 源文件夹中应用以下补丁。 patch