After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 50707 - shared library dependencies
shared library dependencies
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: .General
1.3.x
Other All
: Normal minor
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2001-02-09 11:10 UTC by James Henstridge
Modified: 2011-02-04 16:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
add library dependencies to glib build (18.74 KB, patch)
2001-04-14 04:07 UTC, James Henstridge
none Details | Review
add library dependencies to pango build (9.33 KB, patch)
2001-04-14 05:42 UTC, James Henstridge
none Details | Review
add library dependencies to gtk+ build (22.77 KB, patch)
2001-04-14 10:31 UTC, James Henstridge
none Details | Review
updated patch for building pango with shlib dependencies (10.70 KB, patch)
2001-04-28 01:05 UTC, James Henstridge
none Details | Review
updated patch to build gtk+ with shlib dependencies (23.51 KB, patch)
2001-04-28 05:13 UTC, James Henstridge
none Details | Review
Patch to fix Pango building properly with included modules and shlib deps (20.27 KB, patch)
2001-05-01 20:28 UTC, Owen Taylor
none Details | Review

Description James Henstridge 2001-02-09 11:10:45 UTC
In programs where libgtk.so is dynamically loaded but none of its symbols
are put in the global symbol table (ie. dlopening it without RTLD_GLOBAL),
we get unfound symbol errors.

These are caused by various shared libraries that gtk dlopens that expect
gtk's symbols to be in the global symbol table because they don't contain a
complete list of dependencies.

Currently, this includes pango modules, gtk input method modules and
gdk-pixbuf loader modules.

With the current 1.3.x releases of libtool, we can't really fix this
because it doesn't support linking one libtool library to another libtool
library that hasn't been installed yet.  This is supported by CVS libtool
and the libtool 1.3b release that was made a while back.

Theme engines for gtk 1.2 suffered from a similar problem until they were
linked correctly.

This problem can affect language bindings which do not end up loading
libgtk with RTLD_GLOBAL such as python (this problem doesn't show up on the
Red Hat builds of python because it is patched to use RTLD_GLOBAL) and others.
Comment 1 James Henstridge 2001-04-14 04:07:13 UTC
Created attachment 468 [details] [review]
add library dependencies to glib build
Comment 2 James Henstridge 2001-04-14 05:42:55 UTC
Created attachment 469 [details] [review]
add library dependencies to pango build
Comment 3 James Henstridge 2001-04-14 10:31:13 UTC
Created attachment 470 [details] [review]
add library dependencies to gtk+ build
Comment 4 James Henstridge 2001-04-14 10:45:38 UTC
Above I have attached patches that add shared library dependencies to
glib, pango and gtk+ builds.  They all require a libtool version from
the 1.4 branch (1.3d will work, and 1.4 should when it is released).

The Pango patch is a little broken when you try to compile some
modules into libpango (I needed to build libpango before the modules
in order to link them against libpango).

I have tested these patches for building from a cleaned source tree
with no installed versions of the libraries present, and it worked fine.

With this patch, the python bindings don't get any unresolved symbol
errors.  The patches could do with some testing on other architectures
though (with libtool 1.3d).
Comment 5 James Henstridge 2001-04-28 01:05:27 UTC
Created attachment 502 [details] [review]
updated patch for building pango with shlib dependencies
Comment 6 James Henstridge 2001-04-28 05:13:07 UTC
Created attachment 503 [details] [review]
updated patch to build gtk+ with shlib dependencies
Comment 7 James Henstridge 2001-04-28 05:15:07 UTC
I have just attached updated versions of the patches to add shlib
dependencies to pango and gtk+.  The pango one still has the issues
with compiling modules into libpango, which need to be resolved some how.

All the patches work well with the newly released libtool-1.4, which
is available at:
  ftp://ftp.gnu.org/gnu/libtool/libtool-1.4.tar.gz
Comment 8 Owen Taylor 2001-05-01 20:28:30 UTC
Created attachment 512 [details] [review]
Patch to fix Pango building properly with included modules and shlib deps
Comment 9 Owen Taylor 2001-05-01 20:29:17 UTC
I got the buildig for Pango working correctly, but because libtool-1.4
interacts badly with released automake, I think we may need to
hold off on this fix until that is resolved.