-
Notifications
You must be signed in to change notification settings - Fork 59
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
Prepare for Release 1.5 LTS Scarthgap #166
base: main
Are you sure you want to change the base?
Conversation
@microsoft-github-policy-service agree |
/azp run test |
No pipelines are associated with this pull request. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
@@ -519,6 +517,10 @@ SUMMARY = "aziot-keys is the default implementation of cryptographic operations | |||
HOMEPAGE = "https://azure.github.io/iot-identity-service/" | |||
LICENSE = "MIT" | |||
|
|||
do_patch() { | |||
sed -i '/panic = "abort"/d' ${WORKDIR}/git/Cargo.toml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is having abort
strategy better than unwind
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's best to have it unspecified, so that RUST_PANIC_STRATEGY applies here. The libstd-rs runtime needs to have support built-in for the strategy or you will get compile time errors.
This deletes it from the Cargo.toml file.
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
@jolting Thank you so much for your contribution. We highly appreciate this effort. We are considering this PR to be a release candidate. Have you tried this recipe and it works? We need more volunteers to try this recipe and test the scenarios as well |
@Dvergatal @sindelar-fr can we get you both as volunteers for trying the recipes out? |
@maskimthedog Would you be interested in trying this recipe? |
Sure. I’ll kick a build off here in a bit. |
@ggjjj The aziot-keys lib file doesn't get installed in the lib directory, so it can't be found at runtime. Adding a symbolic link to point to the Rust lib directory where it's installed fixes the problem for me. I'm not sure if the symbolic link is the best way to go. Besides that everything seems to work for me. |
I added an rpath to aziotd. Works now. |
ERROR: aziotctl-1.5.0.AUTOINC+0f93f7a544-r0 do_patch: Applying patch '0001-Change-panic-strategy-to-unwind.patch' on target directory '/home/rkrakora/_Src/Prod/KraftHeinz.Remix.Yocto/poky/build/tmp/work/corei7-64-poky-linux/aziotctl/1.5.0.AUTOINC+0f93f7a544-r0/git' stderr: ') |
the patch files have been removed.. Why does it apply it? |
Interesting…I’ll poke around a bit |
@ggjjj I am working with the Kirkstone branch. None of our projects have moved beyond it yet. |
@ggjjj` did not see that this recipe was on a fork. I pulled it, modified layer.conf to add kirkstone but unfortunately had an issue...
|
Looks like it failed during install because of a path issue...seemed to build...
|
This recipe is for Scrathgap only. How did you manage it for kirkstone? |
@ggjjj @jolting I cloned the scarthgap-1.5.5 branch from https://github.com/jolting/meta-iotedge.git and replaced RUST_TARGET_SYS with TARGET_SYS in three .inc files and changing the layer.conf to add compatibility with Kirkstone. I cloned meta-rust and checked out hash f6a80656953678f17de7d41343107112d99492d9 setting RUSTVERSION to 1.73.0. I tried cloning meta-rust from the tip of main and it always yielded several compilation errors regardless to what version RUSTVERSION was set. The build succeeds for Kirkstone but I have yet to check how it runs on my target. I am not sure how different RUST_TARGET_SYS is from TARGET_SYS. I guess it is an oe rust variable? |
This variable has been in meta-rust for about a decade, so it's not new. I suspect that oe made some changes to avoid issues in canadian builds where target, host and build are all different. |
This may be the patch that changed it. |
rebased. |
I don't think iotedge uses librsvg. Where is that dependency coming from? |
@maskimthedog I think librsvg in kirkstone is too old for the new rust compiler. However this dependency is part of gnome, not iotedge. If you can turn off gnome or backport the librsvg recipe in your build then it will be fine. Either way I don't see this as a blocker given the known workaround is to use an older meta-rust. |
Ah, thanks for looking at this. |
I will look at updating librsvg for our Kirkstone build and see what happens. |
@maskimthedog The head of meta-rust gets further on 1.78. 1.73, 1.75 breaks during the rust compiler build. 1.78 breaks in iotedge. |
@jolting yep, that is what I noticed as well. I ended up checking out at the hash I previously mentioned and set Rust version to 1.73. |
@jolting upgrading librsvg on Kirkstone is a bit of a rabbit hole and not recommended IMHO. |
@jolting what next? Just add something to README about meta-rust at 1.73 and hash I mentioned previously for Kirkstone or do we investigate further and get running off of head of meta-rust with librsvg update plus whatever else is needed? |
@maskimthedog prior to rust-1.78 I get the build error. It's a similar to the issue reported here: Fortunately 1.78 works in meta-rust, but it exposes a problem with iotedge.
This should be fixable on the iotedge side. @ggjjj Thoughts? |
@jolting this is Kirkstone without upgrading librsvg? |
Forget it. It's part of Gnome. Upgrading it (somewhat challenging) or omitting Gnome fixes. |
Was just told we need Gnome…so librsvg issue is somewhat unique to us. |
@maskimthedog
Dead code warnings were broken in 1.78. The workaround is to avoid treating warnings as errors. Patch
Then everything builds with rust 1.78 on kirkstone. I'll see about adding that patch to the recipe later. |
@maskimthedog see here: |
Interesting |
@ggjjj This should work for kirkstone and scarthgap now. |
Builds fine for me for Kirkstone if librsvg from Gnome is dropped with meta-rust tip and RUSTVERSION set to 1.78%. We need Gnome, so we build from meta-rust f6a80656953678f17de7d41343107112d99492d9 with RUSTVERSION set to 1.73% and that too builds fine. Nice job @jolting. Really appreciate your hard work and diligence on bringing this all together. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
Here are some feedback to get this PR merged. @jolting
|
Hi @ggjjj, the build has passed on our CI with tests so from my point of view it can be merged. P.S. The only thing is that on kirkstone I needed to copy rust and cargo packages from meta-rust meta layer, because rust in openembedded-core is to old and causes failures like in #144 but on scarthgap everything is fine 👍 |
IoT Edge Recipes for 1.5 LTS for Scrathgap.