Skip to content
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

[question] Revision mismatch between OSes #16225

Open
1 task
brosmar opened this issue May 8, 2024 · 1 comment
Open
1 task

[question] Revision mismatch between OSes #16225

brosmar opened this issue May 8, 2024 · 1 comment
Assignees

Comments

@brosmar
Copy link

brosmar commented May 8, 2024

What is your question?

I am using conan 1.60.1 with revisions enabled.
I am supporting multiple platforms.
I am storing artifacts in the JFrog artifactory.

Artifacts are stored here:
https://myartifactory.com/ui/repos/tree/General/xentric-conan-dev-local/master/SYCA_Casting/0.4.7/dev/250c0c08c53af2d9364c14c084f35280/package/485579f82c8813e2e25fbe180219a4ccf73be7b9/09b65d5aa6ae24acb652feefd8de99d5/conan_package.tgz

Is the following naming correct?

A Recipe-HASH: 250c0c08c53af2d9364c14c084f35280
B Package Revision-HASH: 485579f82c8813e2e25fbe180219a4ccf73be7b9
C Binary Revision-HASH: 09b65d5aa6ae24acb652feefd8de99d5

When I am building the module SYCA_Casting on different platforms the A hash is changing when I am compiling the same sources on different platforms. I am asking this because when I am building an package on paltform1 which is using SYCA_Casting/0.4.7@master/dev the revision is always downloaded from the newest A-HASH. When the compile for the module was done on a different platform2 and uploaded just before the compile of module fails because SYCA_Casting/0.4.7@master/dev for platfom1 not found in the repository because the version has an old A-Hash.

Have you read the CONTRIBUTING guide?

  • I've read the CONTRIBUTING guide
@memsharded memsharded self-assigned this May 8, 2024
@memsharded
Copy link
Member

Hi @brosmar

Thanks for your question.

A Recipe-HASH: 250c0c08c53af2d9364c14c084f35280
B Package Revision-HASH: 485579f82c8813e2e25fbe180219a4ccf73be7b9
C Binary Revision-HASH: 09b65d5aa6ae24acb652feefd8de99d5

The B is called package_id not revision, and it is more or less the hash of the configuration (profile + dependencies)
The recipe-revision (A) and package-revision (C) are the hashes of the contents, the actual files hashes of the package recipe and package binary respectively.

When I am building the module SYCA_Casting on different platforms the A hash is changing when I am compiling the same sources on different platforms. I am asking this because when I am building an package on paltform1 which is using SYCA_Casting/0.4.7@master/dev the revision is always downloaded from the newest A-HASH. When the compile for the module was done on a different platform2 and uploaded just before the compile of module fails because SYCA_Casting/0.4.7@master/dev for platfom1 not found in the repository because the version has an old A-Hash.

The most common cause for this would be a discrepancy in the sources. And one of the most common causes is the different line endings (LF vs CRLF in windows). This would be summarized in https://docs.conan.io/2/knowledge/faq.html#error-obtaining-different-revisions-in-linux-and-windows, the recommendation is to use the same line-endings everywhere (LF), it is easier, more consistent and all editors even in Windows including Notepad, support LF.

Please let me know if this helps.

@RubenRBS RubenRBS changed the title [question] SHORT DESCRIPTION [question] Revision mismatch between OSes May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants