我正在尝试使用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