On 5/11/21 5:53 PM, Philippe Mathieu-Daudé wrote: > Attempt to fix the issue reported by John when building > with an outdated libfdt.
Unencoded version of this cover: For now it changes: hw/ppc/spapr_hcall.c: In function ‘h_update_dt’: hw/ppc/spapr_hcall.c:1966:9: warning: implicit declaration of function ‘fdt_check_full’; did you mean ‘fdt_check_header’? [-Wimplicit-function-declaration] 1966 | if (fdt_check_full(fdt, cb)) { | ^~~~~~~~~~~~~~ | fdt_check_header hw/ppc/spapr_hcall.c:1966:9: warning: nested extern declaration of ‘fdt_check_full’ [-Wnested-externs] [...] /usr/bin/ld: libqemu-ppc64-softmmu.fa.p/hw_ppc_spapr_hcall.c.o: in function `h_update_dt': hw/ppc/spapr_hcall.c:1966: undefined reference to `fdt_check_full' collect2: error: ld returned 1 exit status by: qemu/meson.build:1352:4: ERROR: Running configure command failed. The following clauses were found for PSERIES CONFIG_PSERIES=y config PSERIES depends on FDT which is not better, but one step at a time... John said: https://gitlab.com/qemu-project/qemu/-/issues/255#note_572421108 Distributions usually don't used embedded copies of libraries, so the configure script should require the correct minimum version. Personally I'd rather allow users to build the most of QEMU with what is available, that is all possible machines except pSeries, making pSeries machine selected by default and deselected if not possible, with this change: -- >8 -- diff --git a/default-configs/devices/ppc64-softmmu.mak b/default-configs/devices/ppc64-softmmu.mak index cca52665d90..62339661fca 100644 --- a/default-configs/devices/ppc64-softmmu.mak +++ b/default-configs/devices/ppc64-softmmu.mak @@ -5,6 +5,3 @@ include ppc-softmmu.mak # For PowerNV CONFIG_POWERNV=y - -# For pSeries -CONFIG_PSERIES=y diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig index 3935b73456f..706debd4fee 100644 --- a/hw/ppc/Kconfig +++ b/hw/ppc/Kconfig @@ -1,5 +1,6 @@ config PSERIES bool + default y depends on FDT imply PCI_DEVICES imply TEST_DEVICES --- But I suppose it breaks user expectations. Thoughts? ;)