On 19 April 2014 00:28, New B <new...@yahoo.com> wrote: > I just realized that the original subject of my question was not accurate. > > I am trying to compile qemu to run on an arm host. I don't have an arm host > yet. Until I get one, I am just trying to build and link it on an x86_64 > ubuntu machine. (If I am already out of bounds at this point as I would need > a different toolchain, I would appreciate pointers)
> Qemu configuration > ./configure --cpu=arm --target-list=arm-softmmu --disable-vnc --disable-sdl > --disable-virtfs --disable-brlapi --disable-rdma --disable-libusb > --disable-usb-redir --enable-pie This configure line is garbage: you're forcing it to try to build as if for an ARM host but you're not telling it to use an ARM cross compiler so it's building with the x86 compiler and this will never work. Don't try to specify --cpu manually. You seem to be confusing several things here. There are three different systems you need to care about in the cross compilation setup you're trying to do: (1) the build system, where you do your compilation (2) the host system, where the QEMU binaries you build are going to run (3) the guest system, what you want to actually emulate For you the build system is x86-64, and the host system is ARM. I'm not sure what you want the guest system to be. --target-list is where you configure which guest system; it seems unlikely you wanted to run ARM guests on an ARM host, but maybe you do. For cross compile you need to pass configure the --cross-prefix argument to tell it what your compiler is, for instance: --cross-prefix=arm-linux-gnueabihf- The correct argument depends on what your cross toolchain's command names are. If you don't already have a working cross compilation environment (including cross versions of the zlib, glib and other libraries QEMU needs) you're going to have to go and set that up first. That's a complicated process; maybe your Linux distribution will have a setup to do it, maybe not. In any case it's not something that I can really advise on. It also needs to be a cross setup that targets the library versions that you're going to be running on your host system. It's almost always much simpler just to build on the host system. Since there's nothing you can do with the cross compiled binaries unless you already have a host system, I think what you need to do first is get and set up the ARM hardware you're going to use. Then just build natively on that. thanks -- PMM