-
Notifications
You must be signed in to change notification settings - Fork 981
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] impossible to consume all shared #9712
Comments
The issue with shared libraries is known from some time ago. The I am sorry, but this behavior cannot be changed for Conan 1.X. It would be massively breaking, if we make the |
We should think about this issue in the context of ConanCenter. We should open an issue there at least. We can investigate and adopt one of those approaches, or maybe we can build packages with I would focus just on the recipes where this can become a problem, of course, we don't want to add something to every recipe out there... but modifying 4-10 recipes to address this issue is something we can afford. |
@memsharded for 1.x, is it possible do anything to improve the situation? |
No, there is no infrastructure or place to check or put this. This issue requires taking actions in the recipes to alleviate it, until it is improved with a new package_id computation. |
just in case, we have found a "workaround" for 1.x in private discussion with @jgsogo :
|
Solved in 2.0 |
found in conan-io/conan-center-index#7142
there is a Glib requirement - it has to exist only once in the address space.
https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/133
it means, if I have the following graph:
gst-plugins-base
->gstreamer
->glib
there are only two valid combinations:
gst-plugins-base:shared=False
,gstreamer:shared=False
,glib:shared=False
gst-plugins-base:shared=True
,gstreamer:shared=True
,glib:shared=True
anything besides that is undefined behavior and will not work.
now, I install
gst-plugins-base
with the following command line:I believe it should install all of them as shared, right? yes, but not exactly... it doesn't work and crashes:
researching it, I can see in the logs it uses
gstreamer
package from the conan-center:going to the cache, I am checking the
conaninfo.txt
and it has:surprisingly, it consumed static
glib
! (glib:shared=False
).from the command line perspective, unfortunately, I don't see any way to force shared
gstreamer
to link with sharedglib
.digging even more into the issue, it seems like it's due to the incorrect package id computation.
e.g. running the following two commands:
it seems like they both have the same package ID -
5a1e3781444d60ee53a8d7e762ece8f559cf15ca
.I don't think it's correct - they are definitely two different libraries.
the first one has
glib
code embedded into thegstreamer
shared library, and the second one just links to theglib
shared library. no doubt, they are different things and have different behavior.I think it's a bug and should be fixed (and not in conan 2.0, but in conan 1.x).
Environment Details (include every applicable attribute)
Steps to reproduce (Include if Applicable)
Logs (Executed commands with output) (Include/Attach if Applicable)
The text was updated successfully, but these errors were encountered: