Closed NeolithEra closed 3 years ago
I don't think this is an issue that we will have to tackle. Mbed-flasher is restricted to between 0.10.1 - 0.11.0 and mbed-ls in turn to version 1.5.1 - 2.0. I would at least hope that if mbed-ls does a 2.0 release and mbed-flasher moves to use it, it would upgrade it's version number to 0.11.0. Icetea would still continue to use the older version of mbed-flasher and mbed-ls, until we want to upgrade.
This is still an issue we should keep an eye on, though.
@jonikula Thank you for your reply. We just wanted to remind you to keep an eye on the evolution of mbed-flasher, to avoid such build failures caused by dependency conflicts. : )
This repository is no longer maintained and it is deprecated. As result, we are closing all issues/pull request.
Hi, as shown in the following full dependency graph of icetea, icetea requires mbed-ls >=1.5.1,<2.0, icetea requires mbed-flasher >=0.10.1,<0.11 (mbed-flasher 0.10.1 will be installed, i.e., the newest version satisfying the version constraint), and directed dependency mbed-flasher 0.10.1 transitively introduces mbed-ls <2.0,>=1.5.1.
Obviously, there are multiple version constraints set for mbed-ls in this project. However, according to pip's “first found wins” installation strategy, mbed-ls 1.7.10 (i.e., the newest version satisfying constraint >=1.5.1,<2.0) is the actually installed version.
Although the first found package version mbed-ls 1.7.10 just satisfies the later dependency constraint (mbed-ls >=1.5.1,<2.0), such installed version is very close to the upper bound of the version constraint of mbed-ls specified by mbed-flasher 0.10.1.
Once mbed-flasher upgrades,its newest version will be installed. Therefore, it will easily cause a dependency conflict (build failure), if the upgraded mbed-flasher version introduces a higher version of mbed-ls, violating its another version constraint >=1.5.1,<2.0.
According to the release history of mbed-flasher, it habitually upgrates Mbed-ls in its recent releases. For instance, mbed-flasher mbedls_v1711 upgrated Mbed-ls’s constraint from **==1.5.1 to >=1.5.1,==1._,mbed-flasher pyocd_mbedls_v178_1 upgrated Mbed-ls’s constraint from >=1.5.1,==1. to ==1.7.7 and mbed-flasher pyocd_mbedls_v178_1 upgrated Mbed-ls’s constraint from ==1.7.7 to ==1.7.8**.
As such, it is a warm warning of a potential dependency conflict issue for icetea.
Dependency tree
Thanks for your help. Best, Neolith