-
Notifications
You must be signed in to change notification settings - Fork 37
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
build problem on FreeBSD #97
Comments
Fortunately Still, it would be nice to make pip package build from sources on different platforms :-) |
The cpm author is currently on vacation, but I'll do what I can to help… 😄 It doesn't look like your trouble building is related to BSD, but is rather a lack of the required build system. The core of cpm is written in Rust. 'cargo' is the Rust package manager and build tool. The |
Thank you @flit will try and report back :-) |
I am finishing the hardware design.. will move into firmware development in upcoming days.. then I will get into that issue deeper.. maybe we can find a generic solution for build from sources automation for |
Okay, @theotherjimmy @flit, I have quick looked at the
I don't know Rust/Wheels at all, sorry. Here are some questions:
Any hints appreciated :-) |
Okay, I have found a system package of Duh, got Trying with Here are questions:
TODO: Find a way to install Rust as part of VirtualEnv using |
@cederom I'll answer these questions in turn.
I'm using the unstable/nightly feature called
Yes, we could remove the use of
After removing |
For reference, |
I just noticed the prior comment.
It has maturity, but as you noticed I'm using the unstable version for a particular new feature (It's a highly discussed, awaited one, at that)
It's not small, as Rust is an LLVM frontend, and it's compilation model requires keeping information from libraries aside from the machine code generated. When I last measured, the rust tools were about 400MiB and the deps of CPM totaled less than that. The created executables are pretty small though. |
@cederom I'm using nightly-2018-11-07 (It's in the |
Thanks for feedback @theotherjimmy :-) Looks like this Do we know the schedule of Can we simply replace these pieces of Would performance decrease dramatically without Would replacing it now, to build on various platforms, then re-apply with stable Do you know any way to install/run Rust from Pip/VirtualEnv? :-) |
Hei Github, I'm not a time traveler... Oh boy. |
I think it's in 12 weeks.
Yes.
No. The limitation is that it would take time. |
I AM =) |
Can you please prepare a sample replacement code? I will do the „search-and-replace” and build with stable rust to see how that works. Huh? :-) |
@cederom It's not so simple as search and replace. The current code uses the unstable Generators feature to create an anonymous Struct that implements the Generator Trait. This transformation of "synchronous-style" program control flow into "async-style" would have to be done manually. Previously, I mentioned the files that will have to have their future implementations swapped out. |
Allright then, looks like we need to wait until the Can I build and provide a binary for FreeBSD in the meantime using that nightly build? Would that mean providing binary for all Python versions (2.7, 3.0, 3.1, 3.2, etc) or this is meta package (like for Python2 and Python3 family)? |
@cederom Yes, using nightly-2018-11-07 should make it possible to provide a binary wheel for python >= 2.7. cmsis-pack-manager is setup to use |
https://github.com/taiki-e/replace-await This may be helpful. |
Good finding! :-) Up to you @theotherjimmy if we want to convert.. don't really want to mess up your code and design :-) If you prefer to wait for stable API I understand that :-) If you want me to play with that tool out of curiosity I can try.. but I have no experience in Rust.. so I can apply and try to build.. only :-) I am on a deadline, will take a look in a few days and report back.. at the moment I am working on macOS.. full rebuild of mbedOS after minor change in my project sources is killing me :-) |
@cederom The worry with that tool is that it kicks the ball down the road, but not all the way to stable. Since we already have a pinned version of nightly, it seems a little premature to me. I'm using this issue to keep track of many of the build-related things that affect how easy it is to port CPM to new platforms. If you're on a deadline, then I recommend using the version of rust nightly we already pin. What's this deadline you're up against? |
Hey @theotherjimmy I have switched to macOS already so no rush, thank you for asking and concern :-) I use FreeBSD on most of my machines and it would be nice to have full MBED working over there too.. this is my area so you can ask me for any testing you want :-) CPM is not really critical as I can build the firmware which seems enough at this moment :-) We can wait for the stable rust+await as decided. In the meantime I will try to build the binary for FreeBSD based on the nightly build. Please don't put your time over here :-) You helped enough already and the issue is brilliantly clear now, THANK YOU! :-) :-) |
awsome! thank you!! will chceck in a free moment and report back =)
|
Hmm, @theotherjimmy, looks like the build have some problems at I would also put all build dependencies in single
|
Btw. @theotherjimmy on a fresh FreeBSD system where I had to install everything from scratch and use latest pckages I have noticed that CPM became a dependency in pyOCD |
Hey @theotherjimmy is there anything I could help anyhow to fix the missing I have some issues with pyOCD on FreeBSD.. the last one that work without CPM is 0.19.0.. while there were already 3 new releases since then.. but they depend on CMP.. so I cannot really verify if problem was fixed in the new release.. until we make CPM build operational.. Does provided code compile on your machine? What OS do you work on? |
Some updates:
|
Hey @theotherjimmy I have noticed recent a450f11 update to your branch, that seems to fix the
When the release is done and the tag is set I guess the version would also adjust itself :-) |
I'm glad it's working for you. I'll tag a new release ASAP. |
Released the fix. Closing. |
TANK U SIR!!! =) |
Add comment for the setup failure. The solution can be infered from pyocd/cmsis-pack-manager#97 Fixes #18269. Signed-off-by: Chen Guokai <[email protected]>
Add comment for the setup failure. The solution can be infered from pyocd/cmsis-pack-manager#97 Fixes zephyrproject-rtos#18269. Signed-off-by: Chen Guokai <[email protected]>
Hello world, I have problem building on FreeBSD.. any hints welcome :-)
Would be really nice if cmsis-pack-manager was also provided in PyPI as sources so it can be automtically compiled by pip on platforms that have no binaries provided :-)
The text was updated successfully, but these errors were encountered: