-
Notifications
You must be signed in to change notification settings - Fork 66
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
The metadata is not deterministic error #166
Comments
@igiona Could you please share the recipe you're using for your build? Feel free to censor any sensitive/proprietary information. While this probably isn't an issue in meta-rust-bin itself, it's always possible that it's interacting with your recipe in an unexpected way. |
Thank you for you answer @nastevens, appreciated! my-tool_0.1.0.bb
my-tool_git.bb
my-tool.inc
The various env variables are provide ( |
Thanks @igiona! The error you're getting happens when a variable changes from one parse of the recipe to the next - this most commonly happens when a timestamp is included somewhere in a variable or bitbake step. How is the GitHub Action providing the values of You can actually find out the variable that's changing between runs by using the
That should show you what's changing on each execution and hopefully point to something dynamic. Like I said above, look particularly for changing dates/times/unix timestamps. Next steps will be figuring out where to fix it or to ignore it - let's figure out what's changing and then we can address that. |
@nastevens thank you for the suggestion. I tried that but didn't return much of useful information to me... $ MACHINE=${BUILD_MACHINE} DISTRO=${BUILD_DISTRO}
$ MACHINE=${BUILD_MACHINE} DISTRO=${BUILD_DISTRO}
|
@igiona In this case the error message suggestion is on the right track - you'll need to stop the hash generation at the
If that doesn't work you can use the |
@nastevens thanks! We nailed it! This command: pointed to the problem nicely:
We indeed added this command before every recipe build, in order to allow cargo to access our crates hosted on our repos and accessed via SSH:
Now we start the agent only one time before running the recipes, this solves our issue! Are you aware of a way of tell bitbake that the SSH variable is not likely to change the build reproducibility and hence not to consider it? Thanks again! |
@igiona Yup, you can work around this by adding While looking into this I realized that the root cause of this problem is kind of in meta-rust-bin - we currently don't split the fetch step from the build step for Thanks for opening the issue! |
@nastevens interesting point, and I'm glad that our struggle at least will make this recipe better 😄 Would it be possible to enable start the ssh agent on the recipe itself? Do you have a ETA for #150 ? |
Interesting idea - would you mind opening a new issue with this as a feature request? I don't think enabling by default would be a good idea but I could definitely see including it as an optional thing, maybe as a separate class/recipe.
I currently work on this project in my free time so giving ETAs for anything is tough. Knowing that someone wants to use the feature though is an excellent way to move things up the list! |
Sure, here you are: #168
No worries, I totally understand 👍 |
We make use of this recipe to build our rust tools in yocto.
So far everything worked fine.
Our toolchain builds 2 flavors of the application, one in with some developer tools and one not.
We are now experiencing the following error on the second build in the toolchain (the first image builds correctly):
We're not sure if this recipe is somehow responsible for this error. We tried to revert back to a known working version of the recipe but it also didn't work. So likely it's not the root cause of the problem.
Nonetheless, did someone experience such error when working with this recipe?
Google did not help the error appears a completely different scenarios and problems...
Cheers
The text was updated successfully, but these errors were encountered: