-
Notifications
You must be signed in to change notification settings - Fork 486
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make cmsis-pack-manager optional #699
Conversation
/morph test |
Hey @flit the latest CPM release allows now compilation on all Open-Source platforms even with pip.. some dependencies needs to be installed though (Rust) :-) |
Ohh?? I totally missed that. But I thought that Rust still ran out of memory when building CPM on RasPi (for example), as described in pyocd/cmsis-pack-manager#108. |
If the source is on PyPI and the wheel can be built using |
@carlosperate Thanks, I hadn't heard of PiWheels, that's really useful. |
CPM needs to be released as a source distribution before piwheels would work. Assuming they support building with Rust, which I haven't checked yet. And assuming the build would pass. |
Its already here @flit, I have tested that on a FreeBSD in May, which did not work before, @theotherjimmy updated the CPM that fast :-) pyocd/cmsis-pack-manager#97 https://github.com/ARMmbed/cmsis-pack-manager/releases |
I don't see a source release for CPM for the 0.2.8 release: https://pypi.org/project/cmsis-pack-manager/0.2.8/#files In addition, PiWheels shows "binary only" for all of the releases. |
Uhm.. true.. no sources on the Probably @theotherjimmy did not upload the source package yet? Any chance to upload the Anyways this optional |
I was under the impression that a source-only release was not required for that issue. I can make one if it's needed. |
Not exactly "source-only".. adding source code package to the Still local We have already tested that build on |
Yeah, I'll put the tarball from 0.2.8 on PyPi today. |
@theotherjimmy Thanks! |
Alright, I uploaded 0.2.7 and 0.2.8 as an sdist. I also opened pyocd/cmsis-pack-manager#116 to enable sdist in the future (it turns out it's not that hard) |
Thanks for uploading. Unfortunately, but as expected, piwheels failed to build it. But had to have the source first! |
@flit How can I make that work as expected? Could it use the uploaded binary instead of trying to build itself? |
Unfortunately, I don't think there's anything you can do… I created piwheels/packages#36 to report the build failure. They may not even support Rust yet, dunno. You can't upload your own binaries to piwheels. And, the piwheels FAQ points out that you really shouldn't upload RasPi wheels to PyPI due to Arm architecture weirdness they use to achieve compatibility across RasPi versions. The best we might be able to do for the time being is build a CPM RasPi wheel and host it on GitHub or somewhere. Then users would have to manually install CPM via pip from this wheel prior to the usual pyOCD install. |
Hey @flit @theotherjimmy for me building We just need to update package version in What exact problem do you encounter? I will try to build it on a BananaPI in a moment just to make sure and report back :-) |
Oookay.. long time no see Linux.. all seems different here ;-) I also encounter problems to build I had to update my |
I have managed to build On Linux some additional development dependencies are required in order to build |
I ran into this today on FreeBSD (no rust installed yet) and I was wondering is there any issue in making CPM an optional dependency and make it required only when installing, say |
Hi @saper, I'm afraid that would be problematic. CPM is required for the managed CMSIS-Pack functionality ( I'd prefer to somehow make CPM an optional but always attempted dependency, i.e. where a failed install is allowed. So far I haven't seen a way to do this with setuptools, but honestly I haven't looked very deeply either. I'd also quite like to ship wheels for FreeBSD, but there doesn't seem to be a standard. Anyway, rust support is becoming required very quickly on all platforms. |
Hey @saper I am working on a FreeBSD too and I can build pyOCD with some dependencies provided by the system - all are already there in Ports tree [1] :-) There is a separate dedicated thread for this on CPM project page [2]. The solution would be to provide binary compiled CPM on a pip repo for FreeBSD so we could just pip install pyocd even without compiling it..? If so the question is to @flit can we create/attach additional build machines for FreeBSD CI? [1] https://asciinema.org/a/nrZwa86mxJBmcp5EyPyHKop5p |
This patch allows pyOCD to handle cmsis-pack-manager not being installed. This is currently necessary to use pyOCD on Raspberry Pi, since CPM fails to build on that system. CPM is still listed as a requirement, so docs were added for how to install and use pyOCD in this way.