-
-
Notifications
You must be signed in to change notification settings - Fork 20
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
add onnxruntime-cpp run export #78
base: main
Are you sure you want to change the base?
Conversation
Hi! This is the friendly automated conda-forge-linting service. I wanted to let you know that I linted all conda-recipes in your PR ( Here's what I've got... For recipe:
|
@conda-forge-admin, please rerender |
The linter has issues with the I'm not sure what to do about this. |
35717bf
to
3c57c49
Compare
Do you have any information on whether they will keep the ABI stable? |
To be honest - I don't know. The C API looks stable. They sometimes add new functions with new minor versions. |
It still depends on whether they make ABI braking changes in the C++ wrapper. Can you link to the header so I can have a closer look? |
3c57c49
to
0d2167d
Compare
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
If upstream does not clearly documents an ABI stability policy, perhaps we can just ask upstream? Unless we receive a clear answer, probably it is better to be conservative and just claim patch version compatibility, and avoid to patch the SOVERSION? Note that at the moment there is no conda-forge recipe that depends on onnxruntime-cpp, so at the moment we would not have any migration problem. |
The current SOVERSION patch is mainly for consistency with the Windows build, which has no versioning in the DLL name at all.` They have a constant called It looks like this increases with every minor version, so maybe the best solution would be to set the SOVERSION to |
Normally, there is no SOVERSION in any package on Windows. Thus, I wouldn't count this as an argument. |
would a |
Please open an upstream issue and ask for guidance. |
SOVERSION indicates the ABI stability. If they have a better stability, they should indicate that upstream. |
https://github.com/microsoft/onnxruntime/blob/main/docs/Versioning.md
That is for the API. How this affects the ABI is told sort of implicitly in the rules about API changes here:
The whole paragraph can be summarized as:
Due to the strict requirements, they effectively require a new "API version" for any sort of ABI changes as well. This is in line with their goal I quoted above. Their "API version" equals the minor version of the library. They don't explicitly say that, but they always keep the "minor version" and the "API version" synchronized as seen here: microsoft/onnxruntime@e6301ee It should be also mentioned, that their "C++ API" just consists of header files that act as a wrapper for the existing C API. The library does not export actual C++ functions for their API. |
That is interestingly, probably it make sense to raise an issue upstream to ask why the SOVERSION setting is not aligned with this guidelines. It is possible that that documentation is not actually followed or enforced. However, I would not change the SOVERSION setting until upstream does so. |
…nda-forge-pinning 2023.12.14.20.48.22
f139407
to
f6393be
Compare
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)fixes #76
I also made the SO use only the major version for linking (
.so.1
instead of.so.1.16.0
) for consistency with the Windows build.