PYNQ: PYTHON PRODUCTIVITY FOR ZYNQ

Make fails - wrong version of qemu

I am trying to run make on a physical linux machine instead of my VM because it takes so long to build - my vm host is resource limited. I’ve run into a problem with this and have been stuck on it since yesterday. I believe I’ve narrowed it down to a version problem with qemu.

When running the setup.host file I see that it downloads and attempts to install qemu version 2.8 as the make file expects. The problem is that there seems to be two different versions - 2.5 and version 2.8 and the make file is checking the location of the 2.5 one not the 2.8 one.

The error from the make file is shown below:

Here is a screenshot of the two different qemu locations that each contain a different version of the qemu-arm-static. The /usr/bin/qemu-arm-static is 2.5 and the make file keeps looking here. The 2.8 version the make file needs is located in /opt/qemu/bin.

My virtual machine didn’t have an issue with this, but this one does so my questions are:

  1. Did I mess up the make file somehow?
  2. Do I need to direct the makefile manually to the correct location or does the default location it uses need to hold the 2.8 version?

Here is a log of my setup_hosts.sh output in case this is helpful. This was run as sudo ./setup_hosts.sh

setup_hosts_logfile.txt (54.4 KB)

So I think the problem was that I didn’t “source” the setup_hosts.sh. I have now gotten past this problem, but I think this is a symptom of the real problem which is that I have to run “source setup_hosts.sh” every time I want to make the pynq project. So my question now the following.

Running setup_hosts.sh every time I open a new terminal - is that the expected behavior or should I, in theory, only have to run setup_hosts.sh once on a new machine?

This is a little time consuming because I have to run setup_hosts.sh for each new terminal/shell instance and it compiles and downloads all of the packages/code/qemu every time. This is especially strange because it successfully installs qemu each time, but doesn’t remember it seems like.

You don’t have to source the setup_host.sh everytime. All you need to do is:

export PATH="/opt/crosstool-ng/bin:/opt/qemu/bin:$PATH"
source <vivado_settings>
source <petalinux_settings>
petalinux-util --webtalk off

Then you are ready to go.

1 Like