hangover icon indicating copy to clipboard operation
hangover copied to clipboard

Compile fail / retry: "make: *** No rule to make target '../cpus-common.o', needed by 'qemu-x86_64'. "

Open pseudofunizer opened this issue 3 years ago • 1 comments

As a bit of a continuation to my previous issues ( i.e. #85 ): Been re-compiling this thing throughout today after updating GCC, Clang, G++ and starting from sratch. The build log (that I can send to you if you request so, I thought I'd keep it simple for now) seems like it's at least building way much more stuff than during previous attempts to build Hangover, and with less errors.

Versions used (Raspberry Pi4B, 4GB RAM, 64-bit Ubuntu 20.04.1 LTS):

g++ (Ubuntu 10.2.0-5ubuntu1~20.04) 10.2.0 gcc (Ubuntu 10.2.0-5ubuntu1~20.04) 10.2.0 Ubuntu clang version 11.0.0-2~oibaf~f-

The hangover/build/qemu/x86_64-windows-user directory is still being left unbuilt by the build script, hence I can't find hangover/build/qemu/x86_64-windows-user/qemu-x86_64.exe.so and hence Hangover won't start.

But now when I cd to build/qemu/x86_64-windows-user and hit make, I can at least make it to a point where I get this error:

  GEN     config-target.h
  CC      exec.o
  CC      exec-vary.o
  CC      tcg/tcg.o
  CC      tcg/tcg-op.o
  CC      tcg/tcg-op-vec.o
  CC      tcg/tcg-op-gvec.o
  CC      tcg/tcg-common.o
  CC      tcg/optimize.o
  CC      fpu/softfloat.o
  CC      disas.o
  GEN     gdbstub-xml.c
  CC      gdbstub-xml.o
  CC      gdbstub.o
  CC      thunk.o
  CC      accel/stubs/hax-stub.o
  CC      accel/stubs/hvf-stub.o
  CC      accel/stubs/whpx-stub.o
  CC      accel/stubs/kvm-stub.o
  CC      accel/stubs/xen-stub.o
  CC      accel/tcg/tcg-runtime.o
  CC      accel/tcg/tcg-runtime-gvec.o
  CC      accel/tcg/cpu-exec.o
  CC      accel/tcg/cpu-exec-common.o
  CC      accel/tcg/translate-all.o
  CC      accel/tcg/translator.o
  CC      accel/tcg/user-exec.o
/home/ubuntu/builds/hangover/qemu/accel/tcg/user-exec.c:594:26: warning: unused variable 'hdr' [-Wunused-variable]
    struct _aarch64_ctx *hdr;
                         ^
/home/ubuntu/builds/hangover/qemu/accel/tcg/user-exec.c:578:36: warning: unused function 'first_ctx' [-Wunused-function]
static inline struct _aarch64_ctx *first_ctx(ucontext_t *uc)
                                   ^
/home/ubuntu/builds/hangover/qemu/accel/tcg/user-exec.c:583:36: warning: unused function 'next_ctx' [-Wunused-function]
static inline struct _aarch64_ctx *next_ctx(struct _aarch64_ctx *hdr)
                                   ^
3 warnings generated.
  CC      accel/tcg/user-exec-stub.o~/builds/hangover/build/qemu/x86_64-windows-user$ make
  GEN     config-target.h
  CC      exec.o
  CC      exec-vary.o
  CC      tcg/tcg.o
  CC      tcg/tcg-op.o
  CC      tcg/tcg-op-vec.o
  CC      tcg/tcg-op-gvec.o
  CC      tcg/tcg-common.o
  CC      tcg/optimize.o
  CC      fpu/softfloat.o
  CC      disas.o
  GEN     gdbstub-xml.c
  CC      gdbstub-xml.o
  CC      gdbstub.o
  CC      thunk.o
  CC      accel/stubs/hax-stub.o
  CC      accel/stubs/hvf-stub.o
  CC      accel/stubs/whpx-stub.o
  CC      accel/stubs/kvm-stub.o
  CC      accel/stubs/xen-stub.o
  CC      accel/tcg/tcg-runtime.o
  CC      accel/tcg/tcg-runtime-gvec.o
  CC      accel/tcg/cpu-exec.o
  CC      accel/tcg/cpu-exec-common.o
  CC      accel/tcg/translate-all.o
  CC      accel/tcg/translator.o
  CC      accel/tcg/user-exec.o
/home/ubuntu/builds/hangover/qemu/accel/tcg/user-exec.c:594:26: warning: unused variable 'hdr' [-Wunused-variable]
    struct _aarch64_ctx *hdr;
                         ^
/home/ubuntu/builds/hangover/qemu/accel/tcg/user-exec.c:578:36: warning: unused function 'first_ctx' [-Wunused-function]
static inline struct _aarch64_ctx *first_ctx(ucontext_t *uc)
                                   ^
/home/ubuntu/builds/hangover/qemu/accel/tcg/user-exec.c:583:36: warning: unused function 'next_ctx' [-Wunused-function]
static inline struct _aarch64_ctx *next_ctx(struct _aarch64_ctx *hdr)
                                   ^
3 warnings generated.
  CC      accel/tcg/user-exec-stub.o
  CC      target/i386/helper.o
  CC      target/i386/cpu.o
  CC      target/i386/gdbstub.o
  CC      target/i386/xsave_helper.o
  CC      target/i386/translate.o
  CC      target/i386/bpt_helper.o
  CC      target/i386/cc_helper.o
  CC      target/i386/excp_helper.o
  CC      target/i386/fpu_helper.o
  CC      target/i386/int_helper.o
  CC      target/i386/mem_helper.o
  CC      target/i386/misc_helper.o
  CC      target/i386/mpx_helper.o
  CC      target/i386/seg_helper.o
  CC      target/i386/smm_helper.o
  CC      target/i386/svm_helper.o
  CC      target/i386/kvm-stub.o
  CC      target/i386/sev-stub.o
  GEN     trace/generated-helpers.c
  CC      trace/generated-helpers.o
  CC      trace/control-target.o
  CC      windows-user/main.o
  CC      windows-user/mmap.o
  CC      windows-user/pe.o
  CC      windows-user/win_syscall.o
  CC      windows-user/signal.o
make: *** No rule to make target '../cpus-common.o', needed by 'qemu-x86_64'.  Stop.
  CC      target/i386/helper.o
  CC      target/i386/cpu.o
  CC      target/i386/gdbstub.o
  CC      target/i386/xsave_helper.o
  CC      target/i386/translate.o
  CC      target/i386/bpt_helper.o
  CC      target/i386/cc_helper.o
  CC      target/i386/excp_helper.o
  CC      target/i386/fpu_helper.o
  CC      target/i386/int_helper.o
  CC      target/i386/mem_helper.o
  CC      target/i386/misc_helper.o
  CC      target/i386/mpx_helper.o
  CC      target/i386/seg_helper.o
  CC      target/i386/smm_helper.o
  CC      target/i386/svm_helper.o
  CC      target/i386/kvm-stub.o
  CC      target/i386/sev-stub.o
  GEN     trace/generated-helpers.c
  CC      trace/generated-helpers.o
  CC      trace/control-target.o
  CC      windows-user/main.o
  CC      windows-user/mmap.o
  CC      windows-user/pe.o
  CC      windows-user/win_syscall.o
  CC      windows-user/signal.o
make: *** No rule to make target '../cpus-common.o', needed by 'qemu-x86_64'.  Stop.

So... Any ideas on what's the score with that one? I can't wrap my head around on what to do about it -- possibly an error/mismatch in the build script itself?

EDIT/on a side note: trying to cd up to qemu directory from the x86_64-windows-user directory and running make (with or without -j4) brings out the same issue as in https://github.com/AndreRH/hangover/issues/85

pseudofunizer avatar Oct 21 '20 17:10 pseudofunizer

Running make in qemu ist definitely more correct

AndreRH avatar Oct 23 '20 21:10 AndreRH

irrelevant with new Hangover approach

AndreRH avatar Feb 15 '23 20:02 AndreRH