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 144598 - Versioned symbols
Versioned symbols
Status: RESOLVED WONTFIX
Product: libcroco
Classification: Core
Component: General
0.6
Other All
: Normal enhancement
: ---
Assigned To: libcroco maintainers
libcroco maintainers
gnome[unmaintained]
Depends on:
Blocks:
 
 
Reported: 2004-06-18 13:35 UTC by Josselin Mouette
Modified: 2020-08-11 15:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
the patch (1.12 KB, patch)
2004-06-18 13:35 UTC, Josselin Mouette
none Details | Review

Description Josselin Mouette 2004-06-18 13:35:04 UTC
Please enable versioned symbols to avoid incompatibilities with future versions
of libcroco. A patch follows.
Comment 1 Josselin Mouette 2004-06-18 13:35:47 UTC
Created attachment 28829 [details] [review]
the patch
Comment 2 Dominic Lachowicz 2006-05-01 17:40:23 UTC
Hi Joss: why did you use a configure option rather than always build a .so using libtool's versioning primitives? Thanks.
Comment 3 Josselin Mouette 2006-05-01 18:34:22 UTC
This is because not all dynamic linkers support -version-script.

This patch is far from being optimal anyway, because the ability to use -version-script should be detected at configure time.

Something like this would be more suitable (stolen from libgnutls):

AC_MSG_CHECKING([if libraries can be versioned])
GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script`
if test "$GLD"; then
    have_ld_version_script=yes
    AC_MSG_RESULT(yes)
else
    have_ld_version_script=no
    AC_MSG_RESULT(no)
    AC_MSG_WARN(***
*** You may want to rerun configure using --with-gnu-ld to enable versioned symbols.
)
fi
AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")

and in Makefile.am:

if HAVE_LD_VERSION_SCRIPT
libcroco_0_6_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libgnutls.vers
endif

If you're planning to restrict the list of exported symbols like you did for librsvg, it has to be done in the same version script, as it is unfortunately impossible to mix -Wl,--version-script with -export-symbols (the latter uses the former internally).
Comment 4 André Klapper 2020-08-11 15:46:26 UTC
libcroco is not under development anymore. Its codebase has been archived.

Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect
reality. Please feel free to reopen this ticket (or rather transfer the project
to GNOME Gitlab, as GNOME Bugzilla is being shut down) if anyone takes the
responsibility for active development again.