* Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
2014-06-04 8:19 ` [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la Stefan Hajnoczi
@ 2014-06-04 3:33 ` tal zilcer
2014-06-09 13:38 ` Stefan Hajnoczi
0 siblings, 1 reply; 15+ messages in thread
From: tal zilcer @ 2014-06-04 3:33 UTC (permalink / raw)
To: qemu-devel
Version 2.0.0
Isn’t the libcacard Makefile run as a recursive make?
how do you keep the dependencies between two different makes(libcacard and trace)?
-----Original Message-----
From: bounces@canonical.com [mailto:bounces@canonical.com] On Behalf Of Stefan Hajnoczi
Sent: Wednesday, June 04, 2014 11:19 AM
To: Tal Zilcer
Subject: Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
On Wed, May 28, 2014 at 12:52:10PM -0000, tal zilcer wrote:
> im building qemu with a large make -j value(9).
> sometimes the build fails because of an error:
> libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
> ar: trace/generated-events.o: No such file or directory
> make[2]: *** [libcacard.la] Error 1
>
>
> i see the build of generated-events.o in the log before the ar command.
> because of the -j it was probably not completed yet.
> the generated-events.o build command:
> /usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
>
>
> must be a race condition in the makefile because of a missing dependency.
> i tried to find it but it was a little bit complicated to me.
Which QEMU version are you building?
In qemu.git/master I can see the dependency on trace/* in
libcacard/Makefile.
Stefan
--
You received this bug notification because you are subscribed to the bug
report.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
[not found] <20140528125211.29732.51513.malonedeb@wampee.canonical.com>
@ 2014-06-04 8:19 ` Stefan Hajnoczi
2014-06-04 3:33 ` tal zilcer
2014-07-10 5:28 ` [Qemu-devel] [Bug 1324112] " Fam Zheng
2016-06-15 12:42 ` T. Huth
2 siblings, 1 reply; 15+ messages in thread
From: Stefan Hajnoczi @ 2014-06-04 8:19 UTC (permalink / raw)
To: Bug 1324112; +Cc: qemu-devel
On Wed, May 28, 2014 at 12:52:10PM -0000, tal zilcer wrote:
> im building qemu with a large make -j value(9).
> sometimes the build fails because of an error:
> libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
> ar: trace/generated-events.o: No such file or directory
> make[2]: *** [libcacard.la] Error 1
>
>
> i see the build of generated-events.o in the log before the ar command.
> because of the -j it was probably not completed yet.
> the generated-events.o build command:
> /usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
>
>
> must be a race condition in the makefile because of a missing dependency.
> i tried to find it but it was a little bit complicated to me.
Which QEMU version are you building?
In qemu.git/master I can see the dependency on trace/* in
libcacard/Makefile.
Stefan
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
2014-06-04 3:33 ` tal zilcer
@ 2014-06-09 13:38 ` Stefan Hajnoczi
2014-06-10 9:41 ` tal zilcer
` (3 more replies)
0 siblings, 4 replies; 15+ messages in thread
From: Stefan Hajnoczi @ 2014-06-09 13:38 UTC (permalink / raw)
To: Bug 1324112; +Cc: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 438 bytes --]
On Wed, Jun 04, 2014 at 03:33:34AM -0000, tal zilcer wrote:
> Version 2.0.0
>
> Isn’t the libcacard Makefile run as a recursive make?
> how do you keep the dependencies between two different makes(libcacard and trace)?
In qemu.git/master:Makefile I see:
ifeq ($(CONFIG_SMARTCARD_NSS),y)
include $(SRC_PATH)/libcacard/Makefile
endif
That doesn't look like recursive make to me, but maybe I'm missing
something.
Stefan
[-- Attachment #2: Type: application/pgp-signature, Size: 473 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
2014-06-09 13:38 ` Stefan Hajnoczi
@ 2014-06-10 9:41 ` tal zilcer
2014-06-10 12:45 ` tal zilcer
` (2 subsequent siblings)
3 siblings, 0 replies; 15+ messages in thread
From: tal zilcer @ 2014-06-10 9:41 UTC (permalink / raw)
To: qemu-devel
I didn’t mention it but im building qemu out of the source tree(running the configure in a different directory).
I tried to find the missing dependency but no luck.
The build error keeps happening Here is the end of the log(please note that I don’t see here "CC trace/generated-events.o"):.
lt CC trace/generated-events.lo
GEN qemu-doc.html
GEN qemu.1
GEN qemu-img.1
CC qapi-types.o
CC qapi-visit.o
CC qga/commands.o
CPP optionrom/multiboot.asm
CPP optionrom/linuxboot.asm
CC qga/guest-agent-command-state.o
CC qga/main.o
CC qga/commands-posix.o
CPP optionrom/kvmvapic.asm
AS optionrom/multiboot.o
AS optionrom/linuxboot.o
CC qga/channel-posix.o
CC qga/qapi-generated/qga-qapi-types.o
AS optionrom/kvmvapic.o
Building optionrom/multiboot.img
Building optionrom/linuxboot.img
Building optionrom/multiboot.raw
Building optionrom/linuxboot.raw
Building optionrom/kvmvapic.img
CC qga/qapi-generated/qga-qapi-visit.o
Signing optionrom/multiboot.bin
Signing optionrom/linuxboot.bin
CC qga/qapi-generated/qga-qmp-marshal.o
CC qemu-img.o
CC qmp-marshal.o
LINK qemu-bridge-helper
install -c -m 0644 /home/talz/workspace/tools/qemu/qemu/sysconfigs/target/target-x86_64.conf "/home/talz/workspace/ /tools/qemu/install/linux_x86_64/etc/qemu"
Building optionrom/kvmvapic.raw
Signing optionrom/kvmvapic.bin
lt CC trace/generated-tracers.lo
lt LINK libcacard.la
AR libqemustub.a
CC trace/generated-tracers.o
ar: .libs/libcacard.a: Error reading trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
-----Original Message-----
From: bounces@canonical.com [mailto:bounces@canonical.com] On Behalf Of Stefan Hajnoczi
Sent: Monday, June 09, 2014 4:38 PM
To: Tal Zilcer
Subject: Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
On Wed, Jun 04, 2014 at 03:33:34AM -0000, tal zilcer wrote:
> Version 2.0.0
>
> Isn’t the libcacard Makefile run as a recursive make?
> how do you keep the dependencies between two different makes(libcacard and trace)?
In qemu.git/master:Makefile I see:
ifeq ($(CONFIG_SMARTCARD_NSS),y)
include $(SRC_PATH)/libcacard/Makefile
endif
That doesn't look like recursive make to me, but maybe I'm missing
something.
Stefan
--
You received this bug notification because you are subscribed to the bug
report.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
2014-06-09 13:38 ` Stefan Hajnoczi
2014-06-10 9:41 ` tal zilcer
@ 2014-06-10 12:45 ` tal zilcer
2014-06-10 15:08 ` tal zilcer
2014-06-10 16:35 ` tal zilcer
3 siblings, 0 replies; 15+ messages in thread
From: tal zilcer @ 2014-06-10 12:45 UTC (permalink / raw)
To: qemu-devel
I did some more experiments and maybe I found the issue.
I added a two prints to rules.mak:
%.o: %.c
$(call quiet-command,$(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) $($@-cflags) -c -o $@ $<," CC $(TARGET_DIR)$@")
@echo ooooooooooooo:$@
%.lo: %.c
$(call quiet-command,$(LIBTOOL) --mode=compile --tag=CC $(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," lt CC $@")
@echo lolololololo:$@
This two prints symbolize the end of the file build.
Here is the end of the log that I got for a failed build(using V=1):
libtool: compile: /home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -MMD -MP -MT trace/generated-tracers.lo -MF trace/generated-tracers.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c trace/generated-tracers.c -fPIE -o trace/generated-tracers.o >/dev/null 2>&1
lolololololo:trace/generated-tracers.lo
libtool --mode=link --tag=CC c++ -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g -rpath /home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/install/linux_x86_64/lib -no-undefined -export-syms /home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard/libcacard.syms -o libcacard.la stubs/arch-query-cpu-def.lo stubs/clock-warp.lo stubs/cpu-get-clock.lo stubs/cpu-get-icount.lo stubs/dump.lo stubs/fdset-add-fd.lo stubs/fdset-find-fd.lo stubs/fdset-get-fd.lo stubs/fdset-remove-fd.lo stubs/gdbstub.lo stubs/get-fd.lo stubs/get-vm-name.lo stubs/iothread-lock.lo stubs/migr-blocker.lo stubs/mon-is-qmp.lo stubs/mon-printf.lo stubs/mon-print-filename.lo stubs/mon-protocol-event.lo stubs/mon-set-error.lo stubs/pci-drive-hot-add.lo stubs/qtest.lo stubs/reset.lo stubs/runstate-check.lo stubs/set-fd-handler.lo stubs/slirp.lo stubs/sysbus.lo stubs/uuid.lo stubs/vm-stop.lo stubs/vmstate.lo stubs/cpus.lo stubs/kvm.lo libcacard/cac.lo libcacard/event.lo libcacard/vcard.lo libcacard/vreader.lo libcacard/vcard_emul_nss.lo libcacard/vcard_emul_type.lo libcacard/card_7816.lo libcacard/vcardt.lo util/osdep.lo util/cutils.lo util/qemu-timer-common.lo util/error.lo util/qemu-error.lo util/oslib-posix.lo util/qemu-thread-posix.lo trace/generated-events.lo trace/default.lo trace/control.lo trace/generated-tracers.lo -Wc,-fstack-protector-all -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -pthread -lgthread-2.0 -lrt -lglib-2.0
/home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
/home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-tracers.o -MF trace/generated-tracers.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-tracers.o trace/generated-tracers.c
rm -f libqemustub.a && ar rcs libqemustub.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o
libtool: link: gcc -shared stubs/.libs/arch-query-cpu-def.o stubs/.libs/clock-warp.o stubs/.libs/cpu-get-clock.o stubs/.libs/cpu-get-icount.o stubs/.libs/dump.o stubs/.libs/fdset-add-fd.o stubs/.libs/fdset-find-fd.o stubs/.libs/fdset-get-fd.o stubs/.libs/fdset-remove-fd.o stubs/.libs/gdbstub.o stubs/.libs/get-fd.o stubs/.libs/get-vm-name.o stubs/.libs/iothread-lock.o stubs/.libs/migr-blocker.o stubs/.libs/mon-is-qmp.o stubs/.libs/mon-printf.o stubs/.libs/mon-print-filename.o stubs/.libs/mon-protocol-event.o stubs/.libs/mon-set-error.o stubs/.libs/pci-drive-hot-add.o stubs/.libs/qtest.o stubs/.libs/reset.o stubs/.libs/runstate-check.o stubs/.libs/set-fd-handler.o stubs/.libs/slirp.o stubs/.libs/sysbus.o stubs/.libs/uuid.o stubs/.libs/vm-stop.o stubs/.libs/vmstate.o stubs/.libs/cpus.o stubs/.libs/kvm.o libcacard/.libs/cac.o libcacard/.libs/event.o libcacard/.libs/vcard.o libcacard/.libs/vreader.o libcacard/.libs/vcard_emul_nss.o libcacard/.libs/vcard_emul_type.o libcacard/.libs/card_7816.o libcacard/.libs/vcardt.o util/.libs/osdep.o util/.libs/cutils.o util/.libs/qemu-timer-common.o util/.libs/error.o util/.libs/qemu-error.o util/.libs/oslib-posix.o util/.libs/qemu-thread-posix.o trace/.libs/generated-events.o trace/.libs/default.o trace/.libs/control.o trace/.libs/generated-tracers.o -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lgthread-2.0 -lrt -lglib-2.0 -m64 -pthread -pthread -Wl,--warn-common -Wl,-z -Wl,relro -Wl,-z -Wl,now -m64 -fstack-protector-all -pthread -pthread -Wl,-soname -Wl,libcacard.so.0 -o .libs/libcacard.so.0.0.0
libtool: link: (cd ".libs" && rm -f "libcacard.so.0" && ln -s "libcacard.so.0.0.0" "libcacard.so.0")
libtool: link: (cd ".libs" && rm -f "libcacard.so" && ln -s "libcacard.so.0.0.0" "libcacard.so")
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-tracers.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
make[2]: *** Waiting for unfinished jobs....
ooooooooooooo:trace/generated-tracers.o
ooooooooooooo:trace/generated-events.o
as you can see trace/generated-tracers.o target is being built after trace/generated-tracers.la target.
Trace/generated-tracers.la is finished and after it trace/generated-tracers.o is being built.
Libcacard.la has a dependency only to .la files and not .o files.
-----Original Message-----
From: Tal Zilcer
Sent: Tuesday, June 10, 2014 12:42 PM
To: 'Bug 1324112'
Subject: RE: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
I didn’t mention it but im building qemu out of the source tree(running the configure in a different directory).
I tried to find the missing dependency but no luck.
The build error keeps happening Here is the end of the log(please note that I don’t see here "CC trace/generated-events.o"):.
lt CC trace/generated-events.lo
GEN qemu-doc.html
GEN qemu.1
GEN qemu-img.1
CC qapi-types.o
CC qapi-visit.o
CC qga/commands.o
CPP optionrom/multiboot.asm
CPP optionrom/linuxboot.asm
CC qga/guest-agent-command-state.o
CC qga/main.o
CC qga/commands-posix.o
CPP optionrom/kvmvapic.asm
AS optionrom/multiboot.o
AS optionrom/linuxboot.o
CC qga/channel-posix.o
CC qga/qapi-generated/qga-qapi-types.o
AS optionrom/kvmvapic.o
Building optionrom/multiboot.img
Building optionrom/linuxboot.img
Building optionrom/multiboot.raw
Building optionrom/linuxboot.raw
Building optionrom/kvmvapic.img
CC qga/qapi-generated/qga-qapi-visit.o
Signing optionrom/multiboot.bin
Signing optionrom/linuxboot.bin
CC qga/qapi-generated/qga-qmp-marshal.o
CC qemu-img.o
CC qmp-marshal.o
LINK qemu-bridge-helper
install -c -m 0644 /home/talz/workspace/tools/qemu/qemu/sysconfigs/target/target-x86_64.conf "/home/talz/workspace/ /tools/qemu/install/linux_x86_64/etc/qemu"
Building optionrom/kvmvapic.raw
Signing optionrom/kvmvapic.bin
lt CC trace/generated-tracers.lo
lt LINK libcacard.la
AR libqemustub.a
CC trace/generated-tracers.o
ar: .libs/libcacard.a: Error reading trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
-----Original Message-----
From: bounces@canonical.com [mailto:bounces@canonical.com] On Behalf Of Stefan Hajnoczi
Sent: Monday, June 09, 2014 4:38 PM
To: Tal Zilcer
Subject: Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
On Wed, Jun 04, 2014 at 03:33:34AM -0000, tal zilcer wrote:
> Version 2.0.0
>
> Isn’t the libcacard Makefile run as a recursive make?
> how do you keep the dependencies between two different makes(libcacard and trace)?
In qemu.git/master:Makefile I see:
ifeq ($(CONFIG_SMARTCARD_NSS),y)
include $(SRC_PATH)/libcacard/Makefile
endif
That doesn't look like recursive make to me, but maybe I'm missing
something.
Stefan
--
You received this bug notification because you are subscribed to the bug
report.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
2014-06-09 13:38 ` Stefan Hajnoczi
2014-06-10 9:41 ` tal zilcer
2014-06-10 12:45 ` tal zilcer
@ 2014-06-10 15:08 ` tal zilcer
2014-07-10 7:43 ` Paolo Bonzini
2014-06-10 16:35 ` tal zilcer
3 siblings, 1 reply; 15+ messages in thread
From: tal zilcer @ 2014-06-10 15:08 UTC (permalink / raw)
To: qemu-devel
To summarize what I think is the problem:
Libcacard.la depends on trace/generated*.la files(ibcacard.la: $(libcacard-lobj-y))
Trace/generated*.o files depends on trace/generated*.la files($(libcacard-obj-y): | $(libcacard-lobj-y))
Also util depends on generated-*.o files (util-obj-y += generated-events.o)
This means when libcacard.la is being build generated-*.o files can be build by the util target.
I think you should change libcacard.la dependencies to include the o files and not only the la files.
Thanks,
tal
-----Original Message-----
From: Tal Zilcer
Sent: Tuesday, June 10, 2014 3:46 PM
To: 'Bug 1324112'
Subject: RE: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
I did some more experiments and maybe I found the issue.
I added a two prints to rules.mak:
%.o: %.c
$(call quiet-command,$(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) $($@-cflags) -c -o $@ $<," CC $(TARGET_DIR)$@")
@echo ooooooooooooo:$@
%.lo: %.c
$(call quiet-command,$(LIBTOOL) --mode=compile --tag=CC $(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," lt CC $@")
@echo lolololololo:$@
This two prints symbolize the end of the file build.
Here is the end of the log that I got for a failed build(using V=1):
libtool: compile: /home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -MMD -MP -MT trace/generated-tracers.lo -MF trace/generated-tracers.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c trace/generated-tracers.c -fPIE -o trace/generated-tracers.o >/dev/null 2>&1
lolololololo:trace/generated-tracers.lo
libtool --mode=link --tag=CC c++ -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g -rpath /home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/install/linux_x86_64/lib -no-undefined -export-syms /home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard/libcacard.syms -o libcacard.la stubs/arch-query-cpu-def.lo stubs/clock-warp.lo stubs/cpu-get-clock.lo stubs/cpu-get-icount.lo stubs/dump.lo stubs/fdset-add-fd.lo stubs/fdset-find-fd.lo stubs/fdset-get-fd.lo stubs/fdset-remove-fd.lo stubs/gdbstub.lo stubs/get-fd.lo stubs/get-vm-name.lo stubs/iothread-lock.lo stubs/migr-blocker.lo stubs/mon-is-qmp.lo stubs/mon-printf.lo stubs/mon-print-filename.lo stubs/mon-protocol-event.lo stubs/mon-set-error.lo stubs/pci-drive-hot-add.lo stubs/qtest.lo stubs/reset.lo stubs/runstate-check.lo stubs/set-fd-handler.lo stubs/slirp.lo stubs/sysbus.lo stubs/uuid.lo stubs/vm-stop.lo stubs/vmstate.lo stubs/cpus.lo stubs/kvm.lo libcacard/cac.lo libcacard/event.lo libcacard/vcard.lo libcacard/vreader.lo libcacard/vcard_emul_nss.lo libcacard/vcard_emul_type.lo libcacard/card_7816.lo libcacard/vcardt.lo util/osdep.lo util/cutils.lo util/qemu-timer-common.lo util/error.lo util/qemu-error.lo util/oslib-posix.lo util/qemu-thread-posix.lo trace/generated-events.lo trace/default.lo trace/control.lo trace/generated-tracers.lo -Wc,-fstack-protector-all -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -pthread -lgthread-2.0 -lrt -lglib-2.0
/home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
/home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-tracers.o -MF trace/generated-tracers.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-tracers.o trace/generated-tracers.c
rm -f libqemustub.a && ar rcs libqemustub.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o
libtool: link: gcc -shared stubs/.libs/arch-query-cpu-def.o stubs/.libs/clock-warp.o stubs/.libs/cpu-get-clock.o stubs/.libs/cpu-get-icount.o stubs/.libs/dump.o stubs/.libs/fdset-add-fd.o stubs/.libs/fdset-find-fd.o stubs/.libs/fdset-get-fd.o stubs/.libs/fdset-remove-fd.o stubs/.libs/gdbstub.o stubs/.libs/get-fd.o stubs/.libs/get-vm-name.o stubs/.libs/iothread-lock.o stubs/.libs/migr-blocker.o stubs/.libs/mon-is-qmp.o stubs/.libs/mon-printf.o stubs/.libs/mon-print-filename.o stubs/.libs/mon-protocol-event.o stubs/.libs/mon-set-error.o stubs/.libs/pci-drive-hot-add.o stubs/.libs/qtest.o stubs/.libs/reset.o stubs/.libs/runstate-check.o stubs/.libs/set-fd-handler.o stubs/.libs/slirp.o stubs/.libs/sysbus.o stubs/.libs/uuid.o stubs/.libs/vm-stop.o stubs/.libs/vmstate.o stubs/.libs/cpus.o stubs/.libs/kvm.o libcacard/.libs/cac.o libcacard/.libs/event.o libcacard/.libs/vcard.o libcacard/.libs/vreader.o libcacard/.libs/vcard_emul_nss.o libcacard/.libs/vcard_emul_type.o libcacard/.libs/card_7816.o libcacard/.libs/vcardt.o util/.libs/osdep.o util/.libs/cutils.o util/.libs/qemu-timer-common.o util/.libs/error.o util/.libs/qemu-error.o util/.libs/oslib-posix.o util/.libs/qemu-thread-posix.o trace/.libs/generated-events.o trace/.libs/default.o trace/.libs/control.o trace/.libs/generated-tracers.o -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lgthread-2.0 -lrt -lglib-2.0 -m64 -pthread -pthread -Wl,--warn-common -Wl,-z -Wl,relro -Wl,-z -Wl,now -m64 -fstack-protector-all -pthread -pthread -Wl,-soname -Wl,libcacard.so.0 -o .libs/libcacard.so.0.0.0
libtool: link: (cd ".libs" && rm -f "libcacard.so.0" && ln -s "libcacard.so.0.0.0" "libcacard.so.0")
libtool: link: (cd ".libs" && rm -f "libcacard.so" && ln -s "libcacard.so.0.0.0" "libcacard.so")
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-tracers.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
make[2]: *** Waiting for unfinished jobs....
ooooooooooooo:trace/generated-tracers.o
ooooooooooooo:trace/generated-events.o
as you can see trace/generated-tracers.o target is being built after trace/generated-tracers.la target.
Trace/generated-tracers.la is finished and after it trace/generated-tracers.o is being built.
Libcacard.la has a dependency only to .la files and not .o files.
-----Original Message-----
From: Tal Zilcer
Sent: Tuesday, June 10, 2014 12:42 PM
To: 'Bug 1324112'
Subject: RE: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
I didn’t mention it but im building qemu out of the source tree(running the configure in a different directory).
I tried to find the missing dependency but no luck.
The build error keeps happening Here is the end of the log(please note that I don’t see here "CC trace/generated-events.o"):.
lt CC trace/generated-events.lo
GEN qemu-doc.html
GEN qemu.1
GEN qemu-img.1
CC qapi-types.o
CC qapi-visit.o
CC qga/commands.o
CPP optionrom/multiboot.asm
CPP optionrom/linuxboot.asm
CC qga/guest-agent-command-state.o
CC qga/main.o
CC qga/commands-posix.o
CPP optionrom/kvmvapic.asm
AS optionrom/multiboot.o
AS optionrom/linuxboot.o
CC qga/channel-posix.o
CC qga/qapi-generated/qga-qapi-types.o
AS optionrom/kvmvapic.o
Building optionrom/multiboot.img
Building optionrom/linuxboot.img
Building optionrom/multiboot.raw
Building optionrom/linuxboot.raw
Building optionrom/kvmvapic.img
CC qga/qapi-generated/qga-qapi-visit.o
Signing optionrom/multiboot.bin
Signing optionrom/linuxboot.bin
CC qga/qapi-generated/qga-qmp-marshal.o
CC qemu-img.o
CC qmp-marshal.o
LINK qemu-bridge-helper
install -c -m 0644 /home/talz/workspace/tools/qemu/qemu/sysconfigs/target/target-x86_64.conf "/home/talz/workspace/ /tools/qemu/install/linux_x86_64/etc/qemu"
Building optionrom/kvmvapic.raw
Signing optionrom/kvmvapic.bin
lt CC trace/generated-tracers.lo
lt LINK libcacard.la
AR libqemustub.a
CC trace/generated-tracers.o
ar: .libs/libcacard.a: Error reading trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
-----Original Message-----
From: bounces@canonical.com [mailto:bounces@canonical.com] On Behalf Of Stefan Hajnoczi
Sent: Monday, June 09, 2014 4:38 PM
To: Tal Zilcer
Subject: Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
On Wed, Jun 04, 2014 at 03:33:34AM -0000, tal zilcer wrote:
> Version 2.0.0
>
> Isn’t the libcacard Makefile run as a recursive make?
> how do you keep the dependencies between two different makes(libcacard and trace)?
In qemu.git/master:Makefile I see:
ifeq ($(CONFIG_SMARTCARD_NSS),y)
include $(SRC_PATH)/libcacard/Makefile
endif
That doesn't look like recursive make to me, but maybe I'm missing
something.
Stefan
--
You received this bug notification because you are subscribed to the bug
report.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
2014-06-09 13:38 ` Stefan Hajnoczi
` (2 preceding siblings ...)
2014-06-10 15:08 ` tal zilcer
@ 2014-06-10 16:35 ` tal zilcer
2014-07-09 7:49 ` Stefan Hajnoczi
3 siblings, 1 reply; 15+ messages in thread
From: tal zilcer @ 2014-06-10 16:35 UTC (permalink / raw)
To: qemu-devel
The following patch solved the issue for me:
--- a/qemu/libcacard/Makefile
+++ b/qemu/libcacard/Makefile
@@ -26,8 +26,8 @@ vscclient$(EXESUF): libcacard/vscclient.o libcacard.la
libcacard.la: LDFLAGS += -rpath $(libdir) -no-undefined \
-export-syms $(SRC_PATH)/libcacard/libcacard.syms
libcacard.la: LIBS = $(libcacard_libs)
-libcacard.la: $(libcacard-lobj-y)
- $(call LINK,$^)
+libcacard.la: $(libcacard-obj-y)
+ $(call LINK,$(libcacard-lobj-y))
libcacard.pc: $(SRC_PATH)/libcacard/libcacard.pc.in
$(call quiet-command,sed -e 's|@LIBDIR@|$(libdir)|' \
-----Original Message-----
From: Tal Zilcer
Sent: Tuesday, June 10, 2014 6:09 PM
To: 'Bug 1324112'
Subject: RE: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
To summarize what I think is the problem:
Libcacard.la depends on trace/generated*.la files(ibcacard.la: $(libcacard-lobj-y))
Trace/generated*.o files depends on trace/generated*.la files($(libcacard-obj-y): | $(libcacard-lobj-y))
Also util depends on generated-*.o files (util-obj-y += generated-events.o)
This means when libcacard.la is being build generated-*.o files can be build by the util target.
I think you should change libcacard.la dependencies to include the o files and not only the la files.
Thanks,
tal
-----Original Message-----
From: Tal Zilcer
Sent: Tuesday, June 10, 2014 3:46 PM
To: 'Bug 1324112'
Subject: RE: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
I did some more experiments and maybe I found the issue.
I added a two prints to rules.mak:
%.o: %.c
$(call quiet-command,$(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) $($@-cflags) -c -o $@ $<," CC $(TARGET_DIR)$@")
@echo ooooooooooooo:$@
%.lo: %.c
$(call quiet-command,$(LIBTOOL) --mode=compile --tag=CC $(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," lt CC $@")
@echo lolololololo:$@
This two prints symbolize the end of the file build.
Here is the end of the log that I got for a failed build(using V=1):
libtool: compile: /home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -MMD -MP -MT trace/generated-tracers.lo -MF trace/generated-tracers.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c trace/generated-tracers.c -fPIE -o trace/generated-tracers.o >/dev/null 2>&1
lolololololo:trace/generated-tracers.lo
libtool --mode=link --tag=CC c++ -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g -rpath /home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/install/linux_x86_64/lib -no-undefined -export-syms /home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard/libcacard.syms -o libcacard.la stubs/arch-query-cpu-def.lo stubs/clock-warp.lo stubs/cpu-get-clock.lo stubs/cpu-get-icount.lo stubs/dump.lo stubs/fdset-add-fd.lo stubs/fdset-find-fd.lo stubs/fdset-get-fd.lo stubs/fdset-remove-fd.lo stubs/gdbstub.lo stubs/get-fd.lo stubs/get-vm-name.lo stubs/iothread-lock.lo stubs/migr-blocker.lo stubs/mon-is-qmp.lo stubs/mon-printf.lo stubs/mon-print-filename.lo stubs/mon-protocol-event.lo stubs/mon-set-error.lo stubs/pci-drive-hot-add.lo stubs/qtest.lo stubs/reset.lo stubs/runstate-check.lo stubs/set-fd-handler.lo stubs/slirp.lo stubs/sysbus.lo stubs/uuid.lo stubs/vm-stop.lo stubs/vmstate.lo stubs/cpus.lo stubs/kvm.lo libcacard/cac.lo libcacard/event.lo libcacard/vcard.lo libcacard/vreader.lo libcacard/vcard_emul_nss.lo libcacard/vcard_emul_type.lo libcacard/card_7816.lo libcacard/vcardt.lo util/osdep.lo util/cutils.lo util/qemu-timer-common.lo util/error.lo util/qemu-error.lo util/oslib-posix.lo util/qemu-thread-posix.lo trace/generated-events.lo trace/default.lo trace/control.lo trace/generated-tracers.lo -Wc,-fstack-protector-all -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -pthread -lgthread-2.0 -lrt -lglib-2.0
/home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
/home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-tracers.o -MF trace/generated-tracers.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-tracers.o trace/generated-tracers.c
rm -f libqemustub.a && ar rcs libqemustub.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o
libtool: link: gcc -shared stubs/.libs/arch-query-cpu-def.o stubs/.libs/clock-warp.o stubs/.libs/cpu-get-clock.o stubs/.libs/cpu-get-icount.o stubs/.libs/dump.o stubs/.libs/fdset-add-fd.o stubs/.libs/fdset-find-fd.o stubs/.libs/fdset-get-fd.o stubs/.libs/fdset-remove-fd.o stubs/.libs/gdbstub.o stubs/.libs/get-fd.o stubs/.libs/get-vm-name.o stubs/.libs/iothread-lock.o stubs/.libs/migr-blocker.o stubs/.libs/mon-is-qmp.o stubs/.libs/mon-printf.o stubs/.libs/mon-print-filename.o stubs/.libs/mon-protocol-event.o stubs/.libs/mon-set-error.o stubs/.libs/pci-drive-hot-add.o stubs/.libs/qtest.o stubs/.libs/reset.o stubs/.libs/runstate-check.o stubs/.libs/set-fd-handler.o stubs/.libs/slirp.o stubs/.libs/sysbus.o stubs/.libs/uuid.o stubs/.libs/vm-stop.o stubs/.libs/vmstate.o stubs/.libs/cpus.o stubs/.libs/kvm.o libcacard/.libs/cac.o libcacard/.libs/event.o libcacard/.libs/vcard.o libcacard/.libs/vreader.o libcacard/.libs/vcard_emul_nss.o libcacard/.libs/vcard_emul_type.o libcacard/.libs/card_7816.o libcacard/.libs/vcardt.o util/.libs/osdep.o util/.libs/cutils.o util/.libs/qemu-timer-common.o util/.libs/error.o util/.libs/qemu-error.o util/.libs/oslib-posix.o util/.libs/qemu-thread-posix.o trace/.libs/generated-events.o trace/.libs/default.o trace/.libs/control.o trace/.libs/generated-tracers.o -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lgthread-2.0 -lrt -lglib-2.0 -m64 -pthread -pthread -Wl,--warn-common -Wl,-z -Wl,relro -Wl,-z -Wl,now -m64 -fstack-protector-all -pthread -pthread -Wl,-soname -Wl,libcacard.so.0 -o .libs/libcacard.so.0.0.0
libtool: link: (cd ".libs" && rm -f "libcacard.so.0" && ln -s "libcacard.so.0.0.0" "libcacard.so.0")
libtool: link: (cd ".libs" && rm -f "libcacard.so" && ln -s "libcacard.so.0.0.0" "libcacard.so")
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-tracers.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
make[2]: *** Waiting for unfinished jobs....
ooooooooooooo:trace/generated-tracers.o
ooooooooooooo:trace/generated-events.o
as you can see trace/generated-tracers.o target is being built after trace/generated-tracers.la target.
Trace/generated-tracers.la is finished and after it trace/generated-tracers.o is being built.
Libcacard.la has a dependency only to .la files and not .o files.
-----Original Message-----
From: Tal Zilcer
Sent: Tuesday, June 10, 2014 12:42 PM
To: 'Bug 1324112'
Subject: RE: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
I didn’t mention it but im building qemu out of the source tree(running the configure in a different directory).
I tried to find the missing dependency but no luck.
The build error keeps happening Here is the end of the log(please note that I don’t see here "CC trace/generated-events.o"):.
lt CC trace/generated-events.lo
GEN qemu-doc.html
GEN qemu.1
GEN qemu-img.1
CC qapi-types.o
CC qapi-visit.o
CC qga/commands.o
CPP optionrom/multiboot.asm
CPP optionrom/linuxboot.asm
CC qga/guest-agent-command-state.o
CC qga/main.o
CC qga/commands-posix.o
CPP optionrom/kvmvapic.asm
AS optionrom/multiboot.o
AS optionrom/linuxboot.o
CC qga/channel-posix.o
CC qga/qapi-generated/qga-qapi-types.o
AS optionrom/kvmvapic.o
Building optionrom/multiboot.img
Building optionrom/linuxboot.img
Building optionrom/multiboot.raw
Building optionrom/linuxboot.raw
Building optionrom/kvmvapic.img
CC qga/qapi-generated/qga-qapi-visit.o
Signing optionrom/multiboot.bin
Signing optionrom/linuxboot.bin
CC qga/qapi-generated/qga-qmp-marshal.o
CC qemu-img.o
CC qmp-marshal.o
LINK qemu-bridge-helper
install -c -m 0644 /home/talz/workspace/tools/qemu/qemu/sysconfigs/target/target-x86_64.conf "/home/talz/workspace/ /tools/qemu/install/linux_x86_64/etc/qemu"
Building optionrom/kvmvapic.raw
Signing optionrom/kvmvapic.bin
lt CC trace/generated-tracers.lo
lt LINK libcacard.la
AR libqemustub.a
CC trace/generated-tracers.o
ar: .libs/libcacard.a: Error reading trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
-----Original Message-----
From: bounces@canonical.com [mailto:bounces@canonical.com] On Behalf Of Stefan Hajnoczi
Sent: Monday, June 09, 2014 4:38 PM
To: Tal Zilcer
Subject: Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
On Wed, Jun 04, 2014 at 03:33:34AM -0000, tal zilcer wrote:
> Version 2.0.0
>
> Isn’t the libcacard Makefile run as a recursive make?
> how do you keep the dependencies between two different makes(libcacard and trace)?
In qemu.git/master:Makefile I see:
ifeq ($(CONFIG_SMARTCARD_NSS),y)
include $(SRC_PATH)/libcacard/Makefile
endif
That doesn't look like recursive make to me, but maybe I'm missing
something.
Stefan
--
You received this bug notification because you are subscribed to the bug
report.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
2014-06-10 16:35 ` tal zilcer
@ 2014-07-09 7:49 ` Stefan Hajnoczi
2014-07-09 10:06 ` Peter Maydell
0 siblings, 1 reply; 15+ messages in thread
From: Stefan Hajnoczi @ 2014-07-09 7:49 UTC (permalink / raw)
To: Bug 1324112; +Cc: Peter Maydell, qemu-devel
[-- Attachment #1: Type: text/plain, Size: 22057 bytes --]
On Tue, Jun 10, 2014 at 04:35:36PM -0000, tal zilcer wrote:
> The following patch solved the issue for me:
> --- a/qemu/libcacard/Makefile
> +++ b/qemu/libcacard/Makefile
> @@ -26,8 +26,8 @@ vscclient$(EXESUF): libcacard/vscclient.o libcacard.la
> libcacard.la: LDFLAGS += -rpath $(libdir) -no-undefined \
> -export-syms $(SRC_PATH)/libcacard/libcacard.syms
> libcacard.la: LIBS = $(libcacard_libs)
> -libcacard.la: $(libcacard-lobj-y)
> - $(call LINK,$^)
> +libcacard.la: $(libcacard-obj-y)
> + $(call LINK,$(libcacard-lobj-y))
>
> libcacard.pc: $(SRC_PATH)/libcacard/libcacard.pc.in
> $(call quiet-command,sed -e 's|@LIBDIR@|$(libdir)|' \
Peter, any thoughts on this Makefile issue?
Stefan
> -----Original Message-----
> From: Tal Zilcer
> Sent: Tuesday, June 10, 2014 6:09 PM
> To: 'Bug 1324112'
> Subject: RE: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
>
> To summarize what I think is the problem:
> Libcacard.la depends on trace/generated*.la files(ibcacard.la: $(libcacard-lobj-y))
> Trace/generated*.o files depends on trace/generated*.la files($(libcacard-obj-y): | $(libcacard-lobj-y))
> Also util depends on generated-*.o files (util-obj-y += generated-events.o)
> This means when libcacard.la is being build generated-*.o files can be build by the util target.
> I think you should change libcacard.la dependencies to include the o files and not only the la files.
>
> Thanks,
> tal
>
> -----Original Message-----
> From: Tal Zilcer
> Sent: Tuesday, June 10, 2014 3:46 PM
> To: 'Bug 1324112'
> Subject: RE: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
>
> I did some more experiments and maybe I found the issue.
> I added a two prints to rules.mak:
> %.o: %.c
> $(call quiet-command,$(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) $($@-cflags) -c -o $@ $<," CC $(TARGET_DIR)$@")
> @echo ooooooooooooo:$@
>
> %.lo: %.c
> $(call quiet-command,$(LIBTOOL) --mode=compile --tag=CC $(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<," lt CC $@")
> @echo lolololololo:$@
>
> This two prints symbolize the end of the file build.
> Here is the end of the log that I got for a failed build(using V=1):
>
> libtool: compile: /home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -MMD -MP -MT trace/generated-tracers.lo -MF trace/generated-tracers.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c trace/generated-tracers.c -fPIE -o trace/generated-tracers.o >/dev/null 2>&1
> lolololololo:trace/generated-tracers.lo
> libtool --mode=link --tag=CC c++ -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g -rpath /home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/install/linux_x86_64/lib -no-undefined -export-syms /home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard/libcacard.syms -o libcacard.la stubs/arch-query-cpu-def.lo stubs/clock-warp.lo stubs/cpu-get-clock.lo stubs/cpu-get-icount.lo stubs/dump.lo stubs/fdset-add-fd.lo stubs/fdset-find-fd.lo stubs/fdset-get-fd.lo stubs/fdset-remove-fd.lo stubs/gdbstub.lo stubs/get-fd.lo stubs/get-vm-name.lo stubs/iothread-lock.lo stubs/migr-blocker.lo stubs/mon-is-qmp.lo stubs/mon-printf.lo stubs/mon-print-filename.lo stubs/mon-protocol-event.lo stubs/mon-set-error.lo stubs/pci-drive-hot-add.lo stubs/qtest.lo stubs/reset.lo stubs/runstate-check.lo stubs/set-fd-handler.lo stubs/slirp.lo stubs/sysbus.lo stubs/uuid.lo stubs/vm-stop.lo stubs/vmstate.lo stubs/cpus.lo stubs/kvm.lo libcacard/cac.lo libcacard/event.lo libcacard/vcard.lo libcacard/vreader.lo libcacard/vcard_emul_nss.lo libcacard/vcard_emul_type.lo libcacard/card_7816.lo libcacard/vcardt.lo util/osdep.lo util/cutils.lo util/qemu-timer-common.lo util/error.lo util/qemu-error.lo util/oslib-posix.lo util/qemu-thread-posix.lo trace/generated-events.lo trace/default.lo trace/control.lo trace/generated-tracers.lo -Wc,-fstack-protector-all -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -pthread -lgthread-2.0 -lrt -lglib-2.0
> /home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
> /home/talz/workspace/mmmmm/EZdk-nps/tools/3rd-party-libs/ccache/ccache_output/bin/ccache /usr/bin/gcc -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tcg/i386 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/linux-headers -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/build/linux_x86_64/linux-headers -I. -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/include -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/talz/workspace/mmmmm/EZdk-nps/tools/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-tracers.o -MF trace/generated-tracers.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-tracers.o trace/generated-tracers.c
> rm -f libqemustub.a && ar rcs libqemustub.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o
> libtool: link: gcc -shared stubs/.libs/arch-query-cpu-def.o stubs/.libs/clock-warp.o stubs/.libs/cpu-get-clock.o stubs/.libs/cpu-get-icount.o stubs/.libs/dump.o stubs/.libs/fdset-add-fd.o stubs/.libs/fdset-find-fd.o stubs/.libs/fdset-get-fd.o stubs/.libs/fdset-remove-fd.o stubs/.libs/gdbstub.o stubs/.libs/get-fd.o stubs/.libs/get-vm-name.o stubs/.libs/iothread-lock.o stubs/.libs/migr-blocker.o stubs/.libs/mon-is-qmp.o stubs/.libs/mon-printf.o stubs/.libs/mon-print-filename.o stubs/.libs/mon-protocol-event.o stubs/.libs/mon-set-error.o stubs/.libs/pci-drive-hot-add.o stubs/.libs/qtest.o stubs/.libs/reset.o stubs/.libs/runstate-check.o stubs/.libs/set-fd-handler.o stubs/.libs/slirp.o stubs/.libs/sysbus.o stubs/.libs/uuid.o stubs/.libs/vm-stop.o stubs/.libs/vmstate.o stubs/.libs/cpus.o stubs/.libs/kvm.o libcacard/.libs/cac.o libcacard/.libs/event.o libcacard/.libs/vcard.o libcacard/.libs/vreader.o libcacard/.libs/vcard_emul_nss.o libcacard/.libs/vcard_emul_type.o libcacard/.libs/card_7816.o libcacard/.libs/vcardt.o util/.libs/osdep.o util/.libs/cutils.o util/.libs/qemu-timer-common.o util/.libs/error.o util/.libs/qemu-error.o util/.libs/oslib-posix.o util/.libs/qemu-thread-posix.o trace/.libs/generated-events.o trace/.libs/default.o trace/.libs/control.o trace/.libs/generated-tracers.o -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lgthread-2.0 -lrt -lglib-2.0 -m64 -pthread -pthread -Wl,--warn-common -Wl,-z -Wl,relro -Wl,-z -Wl,now -m64 -fstack-protector-all -pthread -pthread -Wl,-soname -Wl,libcacard.so.0 -o .libs/libcacard.so.0.0.0
> libtool: link: (cd ".libs" && rm -f "libcacard.so.0" && ln -s "libcacard.so.0.0.0" "libcacard.so.0")
> libtool: link: (cd ".libs" && rm -f "libcacard.so" && ln -s "libcacard.so.0.0.0" "libcacard.so")
> libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
> ar: trace/generated-tracers.o: No such file or directory
> make[2]: *** [libcacard.la] Error 1
> make[2]: *** Waiting for unfinished jobs....
> ooooooooooooo:trace/generated-tracers.o
> ooooooooooooo:trace/generated-events.o
>
>
> as you can see trace/generated-tracers.o target is being built after trace/generated-tracers.la target.
> Trace/generated-tracers.la is finished and after it trace/generated-tracers.o is being built.
> Libcacard.la has a dependency only to .la files and not .o files.
>
> -----Original Message-----
> From: Tal Zilcer
> Sent: Tuesday, June 10, 2014 12:42 PM
> To: 'Bug 1324112'
> Subject: RE: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
>
> I didn’t mention it but im building qemu out of the source tree(running the configure in a different directory).
> I tried to find the missing dependency but no luck.
> The build error keeps happening Here is the end of the log(please note that I don’t see here "CC trace/generated-events.o"):.
> lt CC trace/generated-events.lo
> GEN qemu-doc.html
> GEN qemu.1
> GEN qemu-img.1
> CC qapi-types.o
> CC qapi-visit.o
> CC qga/commands.o
> CPP optionrom/multiboot.asm
> CPP optionrom/linuxboot.asm
> CC qga/guest-agent-command-state.o
> CC qga/main.o
> CC qga/commands-posix.o
> CPP optionrom/kvmvapic.asm
> AS optionrom/multiboot.o
> AS optionrom/linuxboot.o
> CC qga/channel-posix.o
> CC qga/qapi-generated/qga-qapi-types.o
> AS optionrom/kvmvapic.o
> Building optionrom/multiboot.img
> Building optionrom/linuxboot.img
> Building optionrom/multiboot.raw
> Building optionrom/linuxboot.raw
> Building optionrom/kvmvapic.img
> CC qga/qapi-generated/qga-qapi-visit.o
> Signing optionrom/multiboot.bin
> Signing optionrom/linuxboot.bin
> CC qga/qapi-generated/qga-qmp-marshal.o
> CC qemu-img.o
> CC qmp-marshal.o
> LINK qemu-bridge-helper
> install -c -m 0644 /home/talz/workspace/tools/qemu/qemu/sysconfigs/target/target-x86_64.conf "/home/talz/workspace/ /tools/qemu/install/linux_x86_64/etc/qemu"
> Building optionrom/kvmvapic.raw
> Signing optionrom/kvmvapic.bin
> lt CC trace/generated-tracers.lo
> lt LINK libcacard.la
> AR libqemustub.a
> CC trace/generated-tracers.o
> ar: .libs/libcacard.a: Error reading trace/generated-events.o: No such file or directory
> make[2]: *** [libcacard.la] Error 1
>
> -----Original Message-----
> From: bounces@canonical.com [mailto:bounces@canonical.com] On Behalf Of Stefan Hajnoczi
> Sent: Monday, June 09, 2014 4:38 PM
> To: Tal Zilcer
> Subject: Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
>
> On Wed, Jun 04, 2014 at 03:33:34AM -0000, tal zilcer wrote:
> > Version 2.0.0
> >
> > Isn’t the libcacard Makefile run as a recursive make?
> > how do you keep the dependencies between two different makes(libcacard and trace)?
>
> In qemu.git/master:Makefile I see:
> ifeq ($(CONFIG_SMARTCARD_NSS),y)
> include $(SRC_PATH)/libcacard/Makefile
> endif
>
> That doesn't look like recursive make to me, but maybe I'm missing
> something.
>
> Stefan
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1324112
>
> Title:
> qemu parallel building error on libcacard.la
>
> Status in QEMU:
> New
>
> Bug description:
> hi,
>
> im building qemu with a large make -j value(9).
> sometimes the build fails because of an error:
> libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
> ar: trace/generated-events.o: No such file or directory
> make[2]: *** [libcacard.la] Error 1
>
>
> i see the build of generated-events.o in the log before the ar command.
> because of the -j it was probably not completed yet.
> the generated-events.o build command:
> /usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
>
>
> must be a race condition in the makefile because of a missing dependency.
> i tried to find it but it was a little bit complicated to me.
>
> thanks,
> tal
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
>
> --
> You received this bug notification because you are a member of qemu-
> devel-ml, which is subscribed to QEMU.
> https://bugs.launchpad.net/bugs/1324112
>
> Title:
> qemu parallel building error on libcacard.la
>
> Status in QEMU:
> New
>
> Bug description:
> hi,
>
> im building qemu with a large make -j value(9).
> sometimes the build fails because of an error:
> libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
> ar: trace/generated-events.o: No such file or directory
> make[2]: *** [libcacard.la] Error 1
>
>
> i see the build of generated-events.o in the log before the ar command.
> because of the -j it was probably not completed yet.
> the generated-events.o build command:
> /usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
>
>
> must be a race condition in the makefile because of a missing dependency.
> i tried to find it but it was a little bit complicated to me.
>
> thanks,
> tal
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
>
[-- Attachment #2: Type: application/pgp-signature, Size: 473 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
2014-07-09 7:49 ` Stefan Hajnoczi
@ 2014-07-09 10:06 ` Peter Maydell
0 siblings, 0 replies; 15+ messages in thread
From: Peter Maydell @ 2014-07-09 10:06 UTC (permalink / raw)
To: qemu-devel
On 9 July 2014 08:49, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> On Tue, Jun 10, 2014 at 04:35:36PM -0000, tal zilcer wrote:
>> The following patch solved the issue for me:
>> --- a/qemu/libcacard/Makefile
>> +++ b/qemu/libcacard/Makefile
>> @@ -26,8 +26,8 @@ vscclient$(EXESUF): libcacard/vscclient.o libcacard.la
>> libcacard.la: LDFLAGS += -rpath $(libdir) -no-undefined \
>> -export-syms $(SRC_PATH)/libcacard/libcacard.syms
>> libcacard.la: LIBS = $(libcacard_libs)
>> -libcacard.la: $(libcacard-lobj-y)
>> - $(call LINK,$^)
>> +libcacard.la: $(libcacard-obj-y)
>> + $(call LINK,$(libcacard-lobj-y))
>>
>> libcacard.pc: $(SRC_PATH)/libcacard/libcacard.pc.in
>> $(call quiet-command,sed -e 's|@LIBDIR@|$(libdir)|' \
>
> Peter, any thoughts on this Makefile issue?
Not particularly; I've never looked at the libtool stuff because
I have a strong dislike of libtool... It seems a bug worth
fixing for 2.1 if you think the fix is correct.
-- PMM
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Qemu-devel] [Bug 1324112] Re: qemu parallel building error on libcacard.la
[not found] <20140528125211.29732.51513.malonedeb@wampee.canonical.com>
2014-06-04 8:19 ` [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la Stefan Hajnoczi
@ 2014-07-10 5:28 ` Fam Zheng
2014-07-10 7:32 ` Stefan Hajnoczi
2016-06-15 12:42 ` T. Huth
2 siblings, 1 reply; 15+ messages in thread
From: Fam Zheng @ 2014-07-10 5:28 UTC (permalink / raw)
To: qemu-devel
Could be because of this rule:
> # libtool will build the .o files, too
> $(libcacard-obj-y): | $(libcacard-lobj-y)
Does removing the "|" (order deps) solve the issue?
Fam
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
New
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] Re: qemu parallel building error on libcacard.la
2014-07-10 5:28 ` [Qemu-devel] [Bug 1324112] " Fam Zheng
@ 2014-07-10 7:32 ` Stefan Hajnoczi
2014-07-10 7:42 ` Stefan Hajnoczi
0 siblings, 1 reply; 15+ messages in thread
From: Stefan Hajnoczi @ 2014-07-10 7:32 UTC (permalink / raw)
To: Bug 1324112; +Cc: qemu-devel
On Thu, Jul 10, 2014 at 7:28 AM, Fam Zheng <famz@redhat.com> wrote:
>
> Could be because of this rule:
>
> > # libtool will build the .o files, too
> > $(libcacard-obj-y): | $(libcacard-lobj-y)
>
> Does removing the "|" (order deps) solve the issue?
I don't think so:
libcacard.la: $(libcacard-lobj-y)
$(call LINK,$^)
The problem is the libcacard-obj-y target is not required by anything.
Try this on qemu.git/master:
$ make distclean
$ ./configure
$ make libcacard/vscclient
libcacard/vscclient.o: In function `do_command':
/home/stefanha/qemu/libcacard/vscclient.c:500: undefined reference to
`vreader_get_reader_by_id'
/home/stefanha/qemu/libcacard/vscclient.c:502: undefined reference to
`vcard_emul_force_card_insert'
/home/stefanha/qemu/libcacard/vscclient.c:503: undefined reference to
`vreader_get_name'
...
The Makefile is broken. I suspect that putting proper dependencies in
place with fix this issue.
Stefan
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] Re: qemu parallel building error on libcacard.la
2014-07-10 7:32 ` Stefan Hajnoczi
@ 2014-07-10 7:42 ` Stefan Hajnoczi
2014-07-10 7:49 ` Stefan Hajnoczi
0 siblings, 1 reply; 15+ messages in thread
From: Stefan Hajnoczi @ 2014-07-10 7:42 UTC (permalink / raw)
To: Bug 1324112; +Cc: qemu-devel
On Thu, Jul 10, 2014 at 9:32 AM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
> Try this on qemu.git/master:
>
> $ make distclean
> $ ./configure
> $ make libcacard/vscclient
> libcacard/vscclient.o: In function `do_command':
> /home/stefanha/qemu/libcacard/vscclient.c:500: undefined reference to
> `vreader_get_reader_by_id'
> /home/stefanha/qemu/libcacard/vscclient.c:502: undefined reference to
> `vcard_emul_force_card_insert'
> /home/stefanha/qemu/libcacard/vscclient.c:503: undefined reference to
> `vreader_get_name'
> ...
>
> The Makefile is broken. I suspect that putting proper dependencies in
> place with fix this issue.
Please ignore, the libcacard Makefile is actually supposed to be
invoked as "make vscclient" from the QEMU root directory. These
errors were just caused by a %.o: %.c default make target.
Stefan
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la
2014-06-10 15:08 ` tal zilcer
@ 2014-07-10 7:43 ` Paolo Bonzini
0 siblings, 0 replies; 15+ messages in thread
From: Paolo Bonzini @ 2014-07-10 7:43 UTC (permalink / raw)
To: Bug 1324112, qemu-devel
Il 10/06/2014 17:08, tal zilcer ha scritto:
> Trace/generated*.o files depends on trace/generated*.la files($(libcacard-obj-y): | $(libcacard-lobj-y))
> Also util depends on generated-*.o files (util-obj-y += generated-events.o)
> This means when libcacard.la is being build generated-*.o files can be build by the util target.
> I think you should change libcacard.la dependencies to include the o files and not only the la files.
This should now be fixed because libcacard doesn't use trace/* anymore.
In any case, this was the logic:
- trace/generated-events.o should not be started until after
trace/generated-events.lo has been built.
- trace/generated-events.lo will also build trace/generated-events.o, so
the trace/generated-events.o rule will never be invoked.
Paolo
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [Qemu-devel] [Bug 1324112] Re: qemu parallel building error on libcacard.la
2014-07-10 7:42 ` Stefan Hajnoczi
@ 2014-07-10 7:49 ` Stefan Hajnoczi
0 siblings, 0 replies; 15+ messages in thread
From: Stefan Hajnoczi @ 2014-07-10 7:49 UTC (permalink / raw)
To: Bug 1324112; +Cc: qemu-devel
Since the following commit, libcacard and vscclient no longer link
against QEMU common code:
commit fd25c0e6dd1ed2aa932fa7ef814b32457bf270fd
Author: Michael Tokarev <mjt@tls.msk.ru>
Date: Thu May 8 12:30:48 2014 +0400
libcacard: replace qemu thread primitives with glib ones
Therefore this bug no longer exists in qemu.git/master and can be closed.
Stefan
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Qemu-devel] [Bug 1324112] Re: qemu parallel building error on libcacard.la
[not found] <20140528125211.29732.51513.malonedeb@wampee.canonical.com>
2014-06-04 8:19 ` [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la Stefan Hajnoczi
2014-07-10 5:28 ` [Qemu-devel] [Bug 1324112] " Fam Zheng
@ 2016-06-15 12:42 ` T. Huth
2 siblings, 0 replies; 15+ messages in thread
From: T. Huth @ 2016-06-15 12:42 UTC (permalink / raw)
To: qemu-devel
** Changed in: qemu
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1324112
Title:
qemu parallel building error on libcacard.la
Status in QEMU:
Fix Released
Bug description:
hi,
im building qemu with a large make -j value(9).
sometimes the build fails because of an error:
libtool: link: ar cru .libs/libcacard.a stubs/arch-query-cpu-def.o stubs/clock-warp.o stubs/cpu-get-clock.o stubs/cpu-get-icount.o stubs/dump.o stubs/fdset-add-fd.o stubs/fdset-find-fd.o stubs/fdset-get-fd.o stubs/fdset-remove-fd.o stubs/gdbstub.o stubs/get-fd.o stubs/get-vm-name.o stubs/iothread-lock.o stubs/migr-blocker.o stubs/mon-is-qmp.o stubs/mon-printf.o stubs/mon-print-filename.o stubs/mon-protocol-event.o stubs/mon-set-error.o stubs/pci-drive-hot-add.o stubs/qtest.o stubs/reset.o stubs/runstate-check.o stubs/set-fd-handler.o stubs/slirp.o stubs/sysbus.o stubs/uuid.o stubs/vm-stop.o stubs/vmstate.o stubs/cpus.o stubs/kvm.o libcacard/cac.o libcacard/event.o libcacard/vcard.o libcacard/vreader.o libcacard/vcard_emul_nss.o libcacard/vcard_emul_type.o libcacard/card_7816.o libcacard/vcardt.o util/osdep.o util/cutils.o util/qemu-timer-common.o util/error.o util/qemu-error.o util/oslib-posix.o util/qemu-thread-posix.o trace/generated-events.o trace/default.o trace/control.o trace/generated-tracers.o
ar: trace/generated-events.o: No such file or directory
make[2]: *** [libcacard.la] Error 1
i see the build of generated-events.o in the log before the ar command.
because of the -j it was probably not completed yet.
the generated-events.o build command:
/usr/bin/gcc -I/home/npsdb/qemu/qemu/tcg -I/home/npsdb/qemu/qemu/tcg/i386 -I/home/npsdb/qemu/qemu/linux-headers -I/home/npsdb/qemu/build/linux_x86_64/linux-headers -I. -I/home/npsdb/qemu/qemu -I/home/npsdb/jenkins/qemu/qemu/include -I/home/npsdb/qemu/qemu/libcacard -Itrace -Itrace -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/nss3 -I/usr/include/nspr4 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/home/npsdb/qemu/qemu/tests -I qga/qapi-generated -MMD -MP -MT trace/generated-events.o -MF trace/generated-events.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -c -o trace/generated-events.o trace/generated-events.c
must be a race condition in the makefile because of a missing dependency.
i tried to find it but it was a little bit complicated to me.
thanks,
tal
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1324112/+subscriptions
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2016-06-15 17:08 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20140528125211.29732.51513.malonedeb@wampee.canonical.com>
2014-06-04 8:19 ` [Qemu-devel] [Bug 1324112] [NEW] qemu parallel building error on libcacard.la Stefan Hajnoczi
2014-06-04 3:33 ` tal zilcer
2014-06-09 13:38 ` Stefan Hajnoczi
2014-06-10 9:41 ` tal zilcer
2014-06-10 12:45 ` tal zilcer
2014-06-10 15:08 ` tal zilcer
2014-07-10 7:43 ` Paolo Bonzini
2014-06-10 16:35 ` tal zilcer
2014-07-09 7:49 ` Stefan Hajnoczi
2014-07-09 10:06 ` Peter Maydell
2014-07-10 5:28 ` [Qemu-devel] [Bug 1324112] " Fam Zheng
2014-07-10 7:32 ` Stefan Hajnoczi
2014-07-10 7:42 ` Stefan Hajnoczi
2014-07-10 7:49 ` Stefan Hajnoczi
2016-06-15 12:42 ` T. Huth
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.