[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 for 1.6] w32: Add missing version.o to all ex
From: |
Michael Roth |
Subject: |
Re: [Qemu-devel] [PATCH v2 for 1.6] w32: Add missing version.o to all executables (fix regression) |
Date: |
Fri, 16 Aug 2013 13:42:27 -0500 |
User-agent: |
alot/0.3.4 |
Quoting Michael Roth (2013-08-16 13:27:32)
> Quoting Stefan Weil (2013-08-16 00:55:07)
> > Am 16.08.2013 00:19, schrieb Michael Roth:
> >
> > Quoting Stefan Weil (2013-08-08 13:18:07)
> >
> > > QEMU executables for w32, w64 had included meta information built from
> > > version.rc. These rules were changed several times some months ago.
> > >
> > > The latest version added version.o to the tools, but not to the system
> > > emulations.
> > >
> > > This patch adds the meta information to all system emulations again.
> > >
> > > Signed-off-by: Stefan Weil <address@hidden>
> >
> > I seem to be getting build errors with this patch when doing a Fedora 18
> > mingw
> > crossbuild. I thought it was specific to qemu-ga so I disabled it to
> > confirm
> > and it looks like version.o is never being built, so all targets fail when
> > linking.
> >
> > Reverting this patch seems to fix things
> >
> >
> > That's strange. Exactly the same command line works on Debian wheezy.
> > version.o is built right at the beginning:
> >
> > ...
> > QOM debugging yes
> > GEN x86_64-softmmu/config-devices.mak
> > GEN qemu-options.def
> > GEN config-host.h
> > GEN qmp-commands.h
> > GEN qapi-types.h
> > GEN qapi-visit.h
> > GEN trace/generated-events.h
> > GEN trace/generated-tracers.h
> > GEN tests/test-qapi-types.h
> > GEN tests/test-qapi-visit.h
> > GEN tests/test-qmp-commands.h
> > GEN config-all-devices.mak
> > RC /home/stefan/src/qemu/qemu.org/spelling/version.o
> > rm /home/stefan/src/qemu/qemu.org/spelling/config-host.h-timestamp
> > GEN config-host.h
> > GEN qemu-monitor.texi
> > GEN qemu-img-cmds.texi
> > ...
> >
> > Here are the dependency rules which should trigger building of version.o:
> >
> > $ grep version-.*obj Makefile* *mak
> > Makefile:Makefile: $(version-obj-y) $(version-lobj-y)
> > Makefile.objs:version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o
> > Makefile.objs:version-lobj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.lo
>
> address@hidden:~/w/qemu2.git$ grep version-.*obj Makefile* *mak
> Makefile:Makefile: $(version-obj-y) $(version-lobj-y)
> Makefile.objs:version-obj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.o
> Makefile.objs:version-lobj-$(CONFIG_WIN32) += $(BUILD_DIR)/version.lo
> rules.mak: $(sort $(filter %.o, $1)) $(filter-out %.o, $1)
> $(version-obj-y) \
> rules.mak: $(if $(filter %.lo
> %.la,$^),$(version-lobj-y),$(version-obj-y)) \
>
> >
> > Could you please check the values of version-obj-y, version-lobj-y?
> > Do you use a special make program? Do you get the same problem when
> > running make without -j4 (no parallel build)?
>
> Same issue with non-parallel build, first link target is qemu-img
> which fails due to missing version.o
>
> At qemu-img link time, the actual values of version-{lobj,obj}-y are:
>
> version-obj-y: /home/mdroth/dev/kvm/qemu-build2/version.o
> version-lobj-y: /home/mdroth/dev/kvm/qemu-build2/version.lo
I should add that in my original log output i was in
/home/mdroth/qemu-build2, accidentially did the build in
/home/mdroth/w/qemu-build2 this time around, which is a symlink to
/home/mdroth/dev/kvm/qemu-build2
I started suspecting maybe the symlinks were causing issues
with the recipe matching, and just now redid the build in
/home/mdroth/qemu-build2, but problem still remained.