首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Yocto构建Linux映像时,“memfd_create的静态声明遵循非静态声明”错误

使用Yocto构建Linux映像时,“memfd_create的静态声明遵循非静态声明”错误
EN

Stack Overflow用户
提问于 2018-06-08 16:43:55
回答 1查看 3.4K关注 0票数 0

我正在使用Yocto构建系统在Ubuntu 18.04主机上构建Linux。我正在遵循通过这里提供的步骤。我正在为Colibri iMX6ULL开发模块上的计算机.但是,我的构建失败了,它显示了下面给出的错误

代码语言:javascript
复制
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/abhiarora/iohertz/gateway_os/yocto/build/tmp-glibc/work/x86_64-linux/qemu-native/2.10.0-r0/qemu-2.10.0/include/sysemu/os-posix.h:29,
|                  from /home/abhiarora/iohertz/gateway_os/yocto/build/tmp-glibc/work/x86_64-linux/qemu-native/2.10.0-r0/qemu-2.10.0/include/qemu/osdep.h:104,
|                  from /home/abhiarora/iohertz/gateway_os/yocto/build/tmp-glibc/work/x86_64-linux/qemu-native/2.10.0-r0/qemu-2.10.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/abhiarora/iohertz/gateway_os/yocto/build/tmp-glibc/work/x86_64-linux/qemu-native/2.10.0-r0/qemu-2.10.0/rules.mak:66: recipe for target 'util/memfd.o' failed

这个错误是:

代码语言:javascript
复制
| gcc  -c -I. -I../lib -I../../git/lib -isystem/home/abhiarora/iohertz/gateway_os/yocto/build/tmp-glibc/work/x86_64-linux/e2fsprogs-native/1.43.5-r0/recipe-sysroot-native/usr/include -isystem/home/abhiarora/iohertz/gateway_os/yocto/build/tmp-glibc/work/x86_64-linux/e2fsprogs-native/1.43.5-r0/recipe-sysroot-native/usr/include -O2 -pipe  -DHAVE_CONFIG_H -I../../git/debugfs/../e2fsck -DDEBUGFS ../../git/debugfs/quota.c -o quota.o
| ../../git/debugfs/../misc/create_inode.c:406:18: error: conflicting types for ‘copy_file_range’
|  static errcode_t copy_file_range(ext2_filsys fs, int fd, ext2_file_t e2_file,
|                   ^~~~~~~~~~~~~~~
| In file included from ../../git/debugfs/../misc/create_inode.c:19:0:
| /usr/include/unistd.h:1110:9: note: previous declaration of ‘copy_file_range’ was here
|  ssize_t copy_file_range (int __infd, __off64_t *__pinoff,
|          ^~~~~~~~~~~~~~~
| gcc  -c -I. -I../lib -I../../git/lib -isystem/home/abhiarora/iohertz/gateway_os/yocto/build/tmp-glibc/work/x86_64-linux/e2fsprogs-native/1.43.5-r0/recipe-sysroot-native/usr/include -isystem/home/abhiarora/iohertz/gateway_os/yocto/build/tmp-glibc/work/x86_64-linux/e2fsprogs-native/1.43.5-r0/recipe-sysroot-native/usr/include -O2 -pipe  -DHAVE_CONFIG_H -I../../git/debugfs/../e2fsck -DDEBUGFS ../../git/debugfs/xattrs.c -o xattrs.o
| Makefile:422: recipe for target 'create_inode.o' failed
| make[2]: *** [create_inode.o] Error 1
| make[2]: *** Waiting for unfinished jobs....

失败的包/任务:

  1. e2fsprogs_1.43.5
  2. qemu_2.10.0

有人能帮我吗?我不能切换到ubuntu16.04,但我认为它也应该与我的系统一起工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-15 07:37:15

这是一个已知的问题在Toradex和是在路线图上,见问题#36657

修复已经在上游层,我们已经更新了我们的BSP回购。您可以使用LinuxImageV2.7-集成分支来尝试这个分支。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50765124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档