All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.