Inconsistent Make

Hi all

I came across a make issue when building PYNQ for the rfsoc qpsk demo GitHub - strath-sdr/rfsoc_qpsk: PYNQ example of using the RFSoC as a QPSK transceiver..

If for example, you checkout version 2.4 of PYNQ as shown below, the image can be built with different python packages installed. This causes an issue when running Jupyter because the associated widgets and components used are not compatible with the versions of python packages which happened to be included in the image at the time of the make.

git clone -v --recurse-submodules --progress β€œGitHub - Xilinx/PYNQ: Python Productivity for ZYNQ”

git checkout tags/v2.4 -b mybranch_2.4

git submodule update --init --recursive

I would also suggest that a clone and checkout of a particular version of PYNQ should produce the same image at all times with the same versions of python packages installed. Otherwise debugging is complicated because there is no direct means to revert to a common known configuration and associated set of python packages.

For further information please refer to



1 Like

I definitely agree!

It would be great if the installed package versions were totally deterministic. That way, we can give overlay developers much better guarantees about the system when they depend on a certain version of PYNQ.

For what it’s worth, some of this non-determinism is from the python packages listed without an explicit version in this file. Perhaps someone with more knowledge of the SD build flow could confirm if this is the only place this happens?