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

[bug] conan build --missing does not respect inner dependency options #11396

Closed
theartful opened this issue Jun 4, 2022 · 3 comments
Closed

Comments

@theartful
Copy link
Contributor

theartful commented Jun 4, 2022

I have this conanfile.txt

[requires]
gtk/3.24.24
freetype/2.12.1

[options]
gtk:shared=True
cairo:shared=True
pango:shared=True
glib:shared=True
gdk-pixbuf:shared=True
atk:shared=True

[generators]
pkg_config

running conan install .. --build=missing I was surprised to find it fetch dependencies from conencenter. I checked the configuration for pango for example, and I find out that glib:shared=False, even though I set it to be shared.

Now we have a situation where gtk links against a shared glib, while pango/cairo link against static glib.

Environment Details (include every applicable attribute)

  • Operating System+version: Ubuntu 20.04
  • Compiler+version: gcc 9.4
  • Conan version: 1.49
  • Python version: 3.8.10

Logs (Executed commands with output) (Include/Attach if Applicable)

conan_install.log

@theartful theartful changed the title [bug] conan build missing does not respect inner dependency options [bug] conan build --missing does not respect inner dependency options Jun 4, 2022
@theartful
Copy link
Contributor Author

theartful commented Jun 4, 2022

I read about package id modes, which seem to do what I want.
But I think there should be something specific for shared vs static, so that if a library changes its type, all libraries that depend on it are rebuilt.
For example in the class RequirementInfo, why not add shared as part of the information to compute the ID alongside the version? The only other alternative is to use full_package_mode which is a bit extreme.

@SSE4
Copy link
Contributor

SSE4 commented Jun 5, 2022

seems to be somehow related to #9712. it seems like dependency option is erased from the package ID by default, which is wrong.

@theartful
Copy link
Contributor Author

Yeah it's exactly the case as #9712. Closing as duplicate then.

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