[gstreamer-bugs] [Bug 577275] [check] Exports all symbols by check

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Mar 30 04:50:39 PDT 2009


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=577275

  GStreamer | gstreamer (core) | Ver: git




------- Comment #5 from Sebastian Dröge  2009-03-30 11:50 UTC -------
Ok, the problem is the following:

We pass -export-dynamic to the linker for libgstcheck. This makes sure that all
symbols from check are exported.

Now if we remove this all our unit tests will fail to work. This is because
libgstcheck has a copy of check internally and the unit test has a second copy
of check integrated. libgstcheck will call into it's copy, the unit tests into
it's own copy. As check has a global state that needs to be initialized, this
also exists twice but is only initialized once.

This problem does not happen if we use -export-dynamic as then the linker will
choose the correct symbols when linking the unit tests.


No idea how we could fix this. One way would be to export the symbols of check
from libgstcheck and not link against check anymore. This would mean that our
library interface depends on the ABI of check. The other way would be, to not
link libgstcheck with check. This would have the disadvantage that we can't
link libgstcheck with -no-undefined or -Wl,-z,defs but other than that it seems
to be a good solution.

What do you think?


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=577275.




More information about the Gstreamer-bugs mailing list