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 <s...@weilnetz.de> > > > > 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 > > mdroth@loki:~/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.