qemu-2.1.1 i386-softmmu compile error: q35_dsdt_applesmc_sta undeclared I try to compile qemu-2.1.1 (Gentoo/x86), but the i386-softmmu fails to compile: CPP i386-softmmu/q35-acpi-dsdt.dsl.i.orig ACPI_PREPROCESS i386-softmmu/q35-acpi-dsdt.dsl.i IASL i386-softmmu/q35-acpi-dsdt.dsl.i ACPI_EXTRACT i386-softmmu/q35-acpi-dsdt.off CAT i386-softmmu/hw/i386/q35-acpi-dsdt.hex CC i386-softmmu/hw/i386/acpi-build.o /tmp/portage/app-emulation/qemu-2.1.1/work/qemu-2.1.1/hw/i386/acpi-build.c: In function 'acpi_get_dsdt': /tmp/portage/app-emulation/qemu-2.1.1/work/qemu-2.1.1/hw/i386/acpi-build.c:119:24: error: 'q35_dsdt_applesmc_sta' undeclared (first use in this function) applesmc_sta = q35_dsdt_applesmc_sta; ^ /tmp/portage/app-emulation/qemu-2.1.1/work/qemu-2.1.1/hw/i386/acpi-build.c:119:24: note: each undeclared identifier is reported only once for each function it appears in make[1]: *** [hw/i386/acpi-build.o] Error 1 make: *** [subdir-i386-softmmu] Error 2 Something seems to go wrong when generating the file i386-softmmu/hw/i386/q35-acpi-dsdt.hex: # grep -r q35_dsdt_applesmc_sta ../ ../softmmu-build/x86_64-softmmu/q35-acpi-dsdt.dsl.i:/* ACPI_EXTRACT_NAME_BYTE_CONST q35_dsdt_applesmc_sta */ ../softmmu-build/x86_64-softmmu/q35-acpi-dsdt.dsl.i.orig: ACPI_EXTRACT_NAME_BYTE_CONST q35_dsdt_applesmc_sta ../softmmu-build/i386-softmmu/q35-acpi-dsdt.dsl.i:/* ACPI_EXTRACT_NAME_BYTE_CONST q35_dsdt_applesmc_sta */ ../softmmu-build/i386-softmmu/q35-acpi-dsdt.dsl.i.orig: ACPI_EXTRACT_NAME_BYTE_CONST q35_dsdt_applesmc_sta ../hw/i386/acpi-build.c: applesmc_sta = q35_dsdt_applesmc_sta; ../hw/i386/q35-acpi-dsdt.dsl:#define DSDT_APPLESMC_STA q35_dsdt_applesmc_sta The .orig file in there makes me think that Gentoo is applying some patches before building. You should open a bug with them and they can open a bug if there really is a problem upstream (which I believe is general practice with Gentoo anyways). sorry, but this has nothing to do with gentoo patches. Just to prove it, I did the following: cd /var/tmp git clone git://git.qemu.org/qemu.git mkdir qemu-build cd qemu-build ../qemu/configure --target-list=i386-softmmu make 2>&1 | tee ../qemu-build.log xz ../qemu-build.log rm -Rf * ../qemu/configure --target-list=i386-softmmu make -d 2>&1 | tee ../qemu-build-debug.log xz ../qemu-build-debug.log Works fine here. Even made sure the resulting binary runs okay (which it does). Maybe try in a clean chroot or something? I retried it on another machine, running Kubuntu 14.10 (x86_64) -> fails at exactly the same point ! update: I found out that the latest version on the stable-1.7 branch builds fine, but all stable-2.0 and later fail. I did some binary search on all versions on the stable-2.0 branch and found out that the problem occurs after this commit: http://git.qemu.org/?p=qemu.git;a=commitdiff;h=15bce1b7c55c69f47e13c9eb2a4b80f41da26581 Unfortunately this is not so much surprising, as this is the first commit that introduced a reference to that symbol. So the question is: where is that symbol defined in *your* version? Just to track this down: could you please do a "grep" in your source to see where it is defined on your side? (grep -r q35_dsdt_applesmc_sta ../) I expect there is some slight difference to the hits that I get here (see my initial post) My guess is that it is defined in some "generated" file and that there is a problem with the generator/converter that produces it. On 27 September 2014 10:28, Thomas Eschenbacher