Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QEMU build error "static declaration of ‘memfd_create’ follows non-static declaration" #234

Open
aumars opened this issue Jul 8, 2019 · 0 comments

Comments

@aumars
Copy link

aumars commented Jul 8, 2019

I'm currently writing a PKGBUILD on qira for the Arch Linux distribution. Currently, it packages qira using the official install.sh script. It attempts to install QEMU even though I have the qemu Arch Linux package and outputs the following error:

...
NUMA host support yes
tcmalloc support  no
jemalloc support  no
  GEN   config-host.h
  GEN   trace/generated-tracers.h
  GEN   trace/generated-helpers-wrappers.h
  GEN   trace/generated-tcg-tracers.h
  GEN   trace/generated-helpers.h
	CHK version_gen.h
  LINK  tests/qemu-iotests/socket_scm_helper
  GEN   qemu-doc.html
  GEN   qemu.1
  GEN   qemu-img.1
  CC    qga/commands.o
  CC    qga/guest-agent-command-state.o
  CC    qga/main.o
  CC    qga/commands-posix.o
  CC    qga/channel-posix.o
  CC    qga/qapi-generated/qga-qapi-visit.o
  CC    qga/qapi-generated/qga-qapi-types.o
  CC    qga/qapi-generated/qga-qmp-marshal.o
  CC    qmp-introspect.o
  CC    qapi-types.o
  CC    qapi-visit.o
  CC    qapi-event.o
qga/commands-posix.c: In function ‘dev_major_minor’:
qga/commands-posix.c:668:21: warning: implicit declaration of function ‘major’ [-Wimplicit-function-declaration]
  668 |         *devmajor = major(st.st_rdev);
      |                     ^~~~~
qga/commands-posix.c:668:21: warning: nested extern declaration of ‘major’ [-Wnested-externs]
qga/commands-posix.c:669:21: warning: implicit declaration of function ‘minor’; did you mean ‘mincore’? [-Wimplicit-function-declaration]
  669 |         *devminor = minor(st.st_rdev);
      |                     ^~~~~
      |                     mincore
qga/commands-posix.c:669:21: warning: nested extern declaration of ‘minor’ [-Wnested-externs]
  CC    trace/generated-events.o
  CC    util/memfd.o
  CC    util/error.o
  CC    util/qemu-error.o
util/memfd.c:43:12: error: static declaration of ‘memfd_create’ follows non-static declaration
   43 | static int memfd_create(const char *name, unsigned int flags)
      |            ^~~~~~~~~~~~
In file included from /usr/include/bits/mman-linux.h:111,
                 from /usr/include/bits/mman.h:34,
                 from /usr/include/sys/mman.h:41,
                 from /home/pradana/qira/src/qira-1.3/tracers/qemu/qemu-latest/include/qemu/osdep.h:142,
                 from util/memfd.c:28:
/usr/include/bits/mman-shared.h:50:5: note: previous declaration of ‘memfd_create’ was here
   50 | int memfd_create (const char *__name, unsigned int __flags) __THROW;
      |     ^~~~~~~~~~~~
make: *** [/home/pradana/qira/src/qira-1.3/tracers/qemu/qemu-latest/rules.mak:57: util/memfd.o] Error 1

In any case, is it necessary to install QEMU through qemu_build.sh? Is it possible to run qira with a separate installation of QEMU?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant