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

Support for "static" dependencies #9

Open
micahsnyder opened this issue Oct 15, 2019 · 2 comments
Open

Support for "static" dependencies #9

micahsnyder opened this issue Oct 15, 2019 · 2 comments
Labels
enhancement New feature or request

Comments

@micahsnyder
Copy link
Contributor

At present, it is assumed that a dependency may only be included once for an entire build, which does not allow for using different versions of a dependency in a chain.

A related issue, there is no way to indicate that two dependencies will conflict if both loaded into the same process.

  • Add capability for recipes to have "static" dependencies.
    • Static dependencies would be built in addition to normal (shared) dependencies, meaning that two recipes in a dependency chain could depend on different versions and from different cookbooks of the same library without conflicting.
    • For compiled and linked software, any recipe which uses a static dependency must use a recipe that builds a static library and it must statically link the the static library.
    • Recipes could be able to provide "incompatible_with" (or some similar verbiage) lists to indicate other libraries that will cause a conflict, unless the recipe is static. Example incompatibility: libjson-c must not be included with libjson-gnu or jansson, unless all but one (or all) are static. This feature would help people avoid symbol collisions that will cause crashes during runtime.
@micahsnyder
Copy link
Contributor Author

I've been working around this by using host-static for linux builds that are static. I'm not a huge fan of my workaround but it does the job for now.

@micahsnyder micahsnyder added the enhancement New feature or request label May 21, 2021
@micahsnyder
Copy link
Contributor Author

Closing this. I can't think of a better option, and having a static or host-static recipe variant works pretty well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant