Message ID | 20171101175356.11771-1-danielhb@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 1 November 2017 at 17:53, Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> wrote: > When executing 'configure' in a fresh QEMU clone, in a fresh > OS install running in a ppc64le host, this is the error > shown: > > ----- > > ../configure --enable-trace-backend=simple --enable-debug > --target-list=ppc64-softmmu > > ERROR: Unsupported CPU = ppc64le, try --enable-tcg-interpreter > > ----- > > This isn't true, ppc64le host CPU is supported. > > This patch adds 'ppc64le' to the list of supported host CPUs. After > this patch, the next error when executing configure in the > scenario mentioned is: > > ----- > > ../configure --enable-trace-backend=simple --enable-debug > --target-list=ppc64-softmmu > > ERROR: "cc" either does not exist or does not work > > ----- > > Indicating that now we need a valid compiler to proceed. > > Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> > --- I think this is either unnecessary or it should be a lot more changes than this. The problem here is that how we determine the host CPU type is by using the C compiler. So if you don't have a C compiler then we're going to fail to autodetect, and the (kind of bogus) fallback is via "uname -a". What we ought to do is (a) detect "no C compiler" before we try to use it and (b) not have that uname -a fallback. I suggest you install a C compiler and then try again with an unmodified configure to see how that does. (I think that the correct value of the "cpu" variable for ppc64le is "ppc64", same as for bigendian, which we'll autodetect if we have a compiler to do it with. If that's right, then you could argue for having our "normalise CPU host name" code map ppc64le to ppc64. Certainly a lot of places in configure assume "ppc64" is the only kind...) thanks -- PMM
On 11/01/2017 04:23 PM, Peter Maydell wrote: > On 1 November 2017 at 17:53, Daniel Henrique Barboza > <danielhb@linux.vnet.ibm.com> wrote: >> When executing 'configure' in a fresh QEMU clone, in a fresh >> OS install running in a ppc64le host, this is the error >> shown: >> >> ----- >> >> ../configure --enable-trace-backend=simple --enable-debug >> --target-list=ppc64-softmmu >> >> ERROR: Unsupported CPU = ppc64le, try --enable-tcg-interpreter >> >> ----- >> >> This isn't true, ppc64le host CPU is supported. >> >> This patch adds 'ppc64le' to the list of supported host CPUs. After >> this patch, the next error when executing configure in the >> scenario mentioned is: >> >> ----- >> >> ../configure --enable-trace-backend=simple --enable-debug >> --target-list=ppc64-softmmu >> >> ERROR: "cc" either does not exist or does not work >> >> ----- >> >> Indicating that now we need a valid compiler to proceed. >> >> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> >> --- > I think this is either unnecessary or it should be a lot more > changes than this. The problem here is that how we determine > the host CPU type is by using the C compiler. So if you don't > have a C compiler then we're going to fail to autodetect, > and the (kind of bogus) fallback is via "uname -a". What > we ought to do is (a) detect "no C compiler" before we > try to use it and (b) not have that uname -a fallback. Now that you've said, if I install GCC before running configure for the first time I don't see this error happening. Perhaps alternative (a) is a good approach and avoid a lot of changes just for the sake of getting rid of that error message. Daniel > I suggest you install a C compiler and then try again with > an unmodified configure to see how that does. > > (I think that the correct value of the "cpu" variable for > ppc64le is "ppc64", same as for bigendian, which we'll > autodetect if we have a compiler to do it with. If that's > right, then you could argue for having our "normalise > CPU host name" code map ppc64le to ppc64. Certainly a > lot of places in configure assume "ppc64" is the only > kind...) > > thanks > -- PMM >
diff --git a/configure b/configure index 285d123dbf..38c1003fb3 100755 --- a/configure +++ b/configure @@ -637,7 +637,7 @@ ARCH= # Normalise host CPU name and set ARCH. # Note that this case should only have supported host CPUs, not guests. case "$cpu" in - ppc|ppc64|s390|s390x|sparc64|x32) + ppc|ppc64|ppc64le|s390|s390x|sparc64|x32) cpu="$cpu" supported_cpu="yes" ;;
When executing 'configure' in a fresh QEMU clone, in a fresh OS install running in a ppc64le host, this is the error shown: ----- ../configure --enable-trace-backend=simple --enable-debug --target-list=ppc64-softmmu ERROR: Unsupported CPU = ppc64le, try --enable-tcg-interpreter ----- This isn't true, ppc64le host CPU is supported. This patch adds 'ppc64le' to the list of supported host CPUs. After this patch, the next error when executing configure in the scenario mentioned is: ----- ../configure --enable-trace-backend=simple --enable-debug --target-list=ppc64-softmmu ERROR: "cc" either does not exist or does not work ----- Indicating that now we need a valid compiler to proceed. Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com> --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)