[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [Qemu-devel] [PATCH 2/2] Remove unnecessary CONFIG_EV
Re: [Qemu-trivial] [Qemu-devel] [PATCH 2/2] Remove unnecessary CONFIG_EVENTFD preprocessor conditional to satisfy link
Tue, 3 May 2016 02:01:35 +0100
[ccing somebody else who ran into this, since I've figured out why.]
On 3 May 2016 at 01:47, Christopher Friedt <address@hidden> wrote:
> The file ivshmem.c unconditionally references event_notifier_init_fd()
> in util/event_notifier-posix.c, even if CONFIG_EVENTFD is not defined.
Yes, but ivshmem.c is only built if CONFIG_IVSHMEM, and
CONFIG_IVSHMEM is set (in default-configs/pci.mak) to CONFIG_EVENTFD.
So if CONFIG_EVENTFD is not defined then we should never build ivshmem.o.
The problem here is that you've run into a bug in QEMU's makefiles,
where a change in an included .mak file in default-configs fails
to cause the config-devices.mak file to be rebuilt. In commit
330b583 we changed pci.mak so that CONFIG_IVSHMEM is set to
CONFIG_EVENTFD rather than CONFIG_POSIX, so if your config-devices.mak
predates that commit then it will have incorrectly not been recreated
and so your build will still try to build ivshmem.c.
You can check whether this is true by looking at
(for instance) x86_64-softmmu/config-devices.mak in your build
tree: if it has a line "CONFIG_IVSHMEM=$(CONFIG_POSIX)" in it
then it's the out of date version.
You should be able to fix this by deleting */config-devices.mak
from your build tree (or by blowing away the build tree entirely
and recreating it.) Then try rebuilding -- ivshmem.c should not
We really must track down this dependency bug, it is very confusing
when it bites people.