Re: [Qemu-devel] [PATCH] fix missing event_notifier_init_fd() function on Mac OS X
On 14 April 2016 at 19:47, Programmingkid wrote: > > On Apr 14, 2016, at 2:39 PM, Peter Maydell wrote: > >> On 14 April 2016 at 19:24, Programmingkid wrote: >>> I did a fresh clone of the QEMU repository. Then tried building QEMU. This >>> is >>> the error I saw: >>> >>> CCcontrib/ivshmem-client/ivshmem-client.o >>> CCcontrib/ivshmem-client/main.o >>> LINK ivshmem-client >>> collect2: error: ld terminated with signal 11 [Segmentation fault] >>> make: *** [ivshmem-client] Error 1 >>> make: *** Deleting file `ivshmem-client' >>> >>> It is different from the last error, but it still involves something called >>> ivshmem. >> >> If ld is segfaulting then either: >> * your hardware is bad (dodgy memory is infamous for causing random segvs) >> * your toolchain is buggy (the linker should never segv regardless of input) > Maybe I should try to update my ld command. > > Are you able to build QEMU on Mac OS X using the most recent commit? Yes. I test build every merge on OSX before pushing it to master. In my config ivshmem-client is built, links ok and I've just tested and it runs (at least enough to print out a usage message). thanks -- PMM
Re: [Qemu-devel] [PATCH] fix missing event_notifier_init_fd() function on Mac OS X
On Apr 14, 2016, at 2:39 PM, Peter Maydell wrote: > On 14 April 2016 at 19:24, Programmingkid wrote: >> I did a fresh clone of the QEMU repository. Then tried building QEMU. This is >> the error I saw: >> >> CCcontrib/ivshmem-client/ivshmem-client.o >> CCcontrib/ivshmem-client/main.o >> LINK ivshmem-client >> collect2: error: ld terminated with signal 11 [Segmentation fault] >> make: *** [ivshmem-client] Error 1 >> make: *** Deleting file `ivshmem-client' >> >> It is different from the last error, but it still involves something called >> ivshmem. > > If ld is segfaulting then either: > * your hardware is bad (dodgy memory is infamous for causing random segvs) > * your toolchain is buggy (the linker should never segv regardless of input) Maybe I should try to update my ld command. Are you able to build QEMU on Mac OS X using the most recent commit?
Re: [Qemu-devel] [PATCH] fix missing event_notifier_init_fd() function on Mac OS X
On 14 April 2016 at 19:24, Programmingkid wrote: > I did a fresh clone of the QEMU repository. Then tried building QEMU. This is > the error I saw: > > CCcontrib/ivshmem-client/ivshmem-client.o > CCcontrib/ivshmem-client/main.o > LINK ivshmem-client > collect2: error: ld terminated with signal 11 [Segmentation fault] > make: *** [ivshmem-client] Error 1 > make: *** Deleting file `ivshmem-client' > > It is different from the last error, but it still involves something called > ivshmem. If ld is segfaulting then either: * your hardware is bad (dodgy memory is infamous for causing random segvs) * your toolchain is buggy (the linker should never segv regardless of input) thanks -- PMM
Re: [Qemu-devel] [PATCH] fix missing event_notifier_init_fd() function on Mac OS X
On Apr 8, 2016, at 7:25 AM, Markus Armbruster wrote: > [Wasn't delivered correctly by eggs.gnu.org, resending] > > Paolo Bonzini writes: > >> On 30/03/2016 18:35, Programmingkid wrote: >>> Remove macro that prevents event_notifier_init_fd() function from being >>> compiled on Mac OS X. >>> >>> This patch fixes this error: >>> >>> Undefined symbols for architecture x86_64: >>> "_event_notifier_init_fd", referenced from: >>> _process_msg in ivshmem.o >>> ld: symbol(s) not found for architecture x86_64 >>> collect2: error: ld returned 1 exit status >>> make[1]: *** [qemu-system-ppc] Error 1 >>> make: *** [subdir-ppc-softmmu] Error 2 >>> >>> >>> Signed-off-by: John Arbuckle >> >> This is intentional, this feature of ivshmem.o could never work on OS X. >> I am not sure that failing the build is intentional. Markus, any clue? > > ivshmem.o should only be linked when CONFIG_EVENTFD is set. pci.mak has > >CONFIG_IVSHMEM=$(CONFIG_EVENTFD) > > The compile error shown above indicates CONFIG_EVENTFD=y for make (since > ivshmem.o gets linked), but !defined(CONFIG_EVENTFD) for C (or else > event_notifier_init_fd() would exist). Your build tree is messed up, or > the makefiles are broken. Try starting over with a fresh build tree. I did a fresh clone of the QEMU repository. Then tried building QEMU. This is the error I saw: CCcontrib/ivshmem-client/ivshmem-client.o CCcontrib/ivshmem-client/main.o LINK ivshmem-client collect2: error: ld terminated with signal 11 [Segmentation fault] make: *** [ivshmem-client] Error 1 make: *** Deleting file `ivshmem-client' It is different from the last error, but it still involves something called ivshmem.
Re: [Qemu-devel] [PATCH] fix missing event_notifier_init_fd() function on Mac OS X
[Wasn't delivered correctly by eggs.gnu.org, resending] Paolo Bonzini writes: > On 30/03/2016 18:35, Programmingkid wrote: >> Remove macro that prevents event_notifier_init_fd() function from being >> compiled on Mac OS X. >> >> This patch fixes this error: >> >> Undefined symbols for architecture x86_64: >> "_event_notifier_init_fd", referenced from: >> _process_msg in ivshmem.o >> ld: symbol(s) not found for architecture x86_64 >> collect2: error: ld returned 1 exit status >> make[1]: *** [qemu-system-ppc] Error 1 >> make: *** [subdir-ppc-softmmu] Error 2 >> >> >> Signed-off-by: John Arbuckle > > This is intentional, this feature of ivshmem.o could never work on OS X. > I am not sure that failing the build is intentional. Markus, any clue? ivshmem.o should only be linked when CONFIG_EVENTFD is set. pci.mak has CONFIG_IVSHMEM=$(CONFIG_EVENTFD) The compile error shown above indicates CONFIG_EVENTFD=y for make (since ivshmem.o gets linked), but !defined(CONFIG_EVENTFD) for C (or else event_notifier_init_fd() would exist). Your build tree is messed up, or the makefiles are broken. Try starting over with a fresh build tree.
Re: [Qemu-devel] [PATCH] fix missing event_notifier_init_fd() function on Mac OS X
On 30/03/2016 18:35, Programmingkid wrote: > Remove macro that prevents event_notifier_init_fd() function from being > compiled on Mac OS X. > > This patch fixes this error: > > Undefined symbols for architecture x86_64: > "_event_notifier_init_fd", referenced from: > _process_msg in ivshmem.o > ld: symbol(s) not found for architecture x86_64 > collect2: error: ld returned 1 exit status > make[1]: *** [qemu-system-ppc] Error 1 > make: *** [subdir-ppc-softmmu] Error 2 > > > Signed-off-by: John Arbuckle This is intentional, this feature of ivshmem.o could never work on OS X. I am not sure that failing the build is intentional. Markus, any clue? Paolo
[Qemu-devel] [PATCH] fix missing event_notifier_init_fd() function on Mac OS X
Remove macro that prevents event_notifier_init_fd() function from being compiled on Mac OS X. This patch fixes this error: Undefined symbols for architecture x86_64: "_event_notifier_init_fd", referenced from: _process_msg in ivshmem.o ld: symbol(s) not found for architecture x86_64 collect2: error: ld returned 1 exit status make[1]: *** [qemu-system-ppc] Error 1 make: *** [subdir-ppc-softmmu] Error 2 Signed-off-by: John Arbuckle --- util/event_notifier-posix.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/util/event_notifier-posix.c b/util/event_notifier-posix.c index e150301..11cef87 100644 --- a/util/event_notifier-posix.c +++ b/util/event_notifier-posix.c @@ -21,7 +21,6 @@ #include #endif -#ifdef CONFIG_EVENTFD /* * Initialize @e with existing file descriptor @fd. * @fd must be a genuine eventfd object, emulation with pipe won't do. @@ -31,7 +30,6 @@ void event_notifier_init_fd(EventNotifier *e, int fd) e->rfd = fd; e->wfd = fd; } -#endif int event_notifier_init(EventNotifier *e, int active) { -- 2.7.2