-
-
Notifications
You must be signed in to change notification settings - Fork 8
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
Support paths from macros extended to support binary relocation #36
Conversation
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 ( |
@conda-forge-admin, please rerender |
Hi! This is the friendly automated conda-forge-webservice. |
recipe/meta.yaml
Outdated
- git | ||
- patch |
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.
Btw, I had to add these two build dependencies otherwise building the package locally in my setup (without using docker) was failing, even though the active conda environment had it (I suspect the process runs isolated in a new env). To be precise, my setup is already in a docker container, and running the docker script would require me to setup DIND.
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.
Good to know, but please remove them. The recipe should only contain the dependency required to build the recipe on the conda-forge CI, anything else is quite difficult to maintain.
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.
Done
Also, locally I had to rebuild the ignition gazebo recipe in order to fix conda-forge/libignition-gazebo-feedstock#4, I'm not sure if bumping the build number is enough to trigger a rebuild. |
Strange, in theory it should be sufficient to just install the new version of ignition-commons, as this modification is part of the compiler library, it should not be necessary to re-build ignition-gazebo. |
I was expecting the same, but without rebuilding also gazebo, either using the |
Thanks for handling this! I suggest to apply the same patch also on Windows and macOS. On a well-formed string that has Furthermore, this library can be already used as it is on Windows and macOS, so I think it is worth to just apply the patch everywhere. |
Thanks @traversaro! I've just addressed your suggestions. |
Is it worth opening a PR upstream with this patch, or is it really only conda specific? |
If our understanding of the problem is correct (conda-forge/libignition-gazebo-feedstock#4 (comment)), this is very specific to how conda pads the |
Exactly. The proper solution would be indeed to fix how conda handles the |
Hey, sorry for chiming in so late. There is an issue with binary relocation + std::string because most std::string implementations do "small buffer optimization" and there are certain expectations by the C++ compiler for the string to keep it's size. |
Yes, that's it, even in this case this happens because there is a |
This is also related to conda/conda-build#2524 . In general, the best upstream solution would be to ensure that the package is actually properly relocatable, without relying on conda tricks for this. |
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)This PR should fix conda-forge/libignition-gazebo-feedstock#4 by applying the patch proposed in conda-forge/libignition-gazebo-feedstock#4 (comment). I only tested this patch in Ubuntu 20.04, therefore for the moment I restricted the application to this OS. In any case, other OSs are disabled in the gazebo recipe (conda-forge/libignition-gazebo-feedstock#2).
This is my first attempt to packaging in conda, please let me know if anything is missing.