I’m trying to build PYNQ for Ultra96. Here is my setup:
Ubuntu 18.04.4
Vitis and PetaLinux 2020.1
PYNQ and Ultra96-PYNQ repos v2.6.0
After launching the build with make BOARDDIR=(ultra96-pynq repo) it eventually fails with this error message:
ERROR: Cannot install -r requirements.txt (line 28), -r requirements.txt (line 4) and plotly==4.5.2 because these package versions have conflicting dependencies.
The conflict is caused by:
The user requested plotly==4.5.2
dash 0.21.1 depends on plotly
plotly-express 0.3.1 depends on plotly<4.0.0a0 and >=3.10.0
To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
For the packages the build directly complains about the versions are the same for v2.6 and v2.5. There must have been a change to something indirect, either from the PYNQ pypi requested version or one of the packages it pulls in changed. I suspect something changed in a pypi dependency because v2.6 builds worked not that long ago.
I am in the middle of rebuilding with instead trying to pull in plotly v3.10.2. I don’t directly care about plotly for what I’m doing but I also don’t know what other packages rely on plotly. There may be other side effects and this all might be a dead end.
Still can’t declare success. After downgrading plotly to 3.10.0, another problem occurred. This is not directly PYNQ’s fault either. Have you seen this one:
make PREBUILT=/path/image-name BOARDDIR=/path-to-your-custom-boardfiles
That’s all and this will save hours of building as well. Where it doesn’t work out so nice is if your board requires custom drivers or other files that are not on the generic rootfs images. You can however always copy files over after it boots or mount the rootfs image file on Linux and add files that way too. For example the Ultra96 v2 wifi module requires firmware files to be on the rootfs, these wouldn’t be in the generic prebuilt image.
The latest pip changed the way it resolves dependency. This is a new thing just changed in Oct 2020. The quick fix will be to fix the pip version to an older one. I will need to look into this and propose a fix.
At this time you can use the prebuilt image for build just as a temporary workaround.
Any news about how to solve plotly problem?
I have been trying to build an image for a ZCU208 board, image version 2.6 and vitis 2020.2. But I’m blocked by this error.