Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 874120 - app-text/ghostscript-gpl-10.0.0 change in default symbol visibility breaks dependencies
Summary: app-text/ghostscript-gpl-10.0.0 change in default symbol visibility breaks de...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major
Assignee: Codec Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-10-02 18:08 UTC by Daniel Pouzzner
Modified: 2022-10-02 19:08 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Pouzzner 2022-10-02 18:08:13 UTC
gs 10 changed from default-export-all to default-hidden visibility, which breaks 
app-text/dvisvgmm, undoubtedly among many others.

I fixed it locally+temporarily with:


--- /usr/portage/app-text/ghostscript-gpl/ghostscript-gpl-10.0.0.ebuild 2022-10-01 23:10:22.000000000 -0500
+++ /etc/portage/overlay/app-text/ghostscript-gpl/ghostscript-gpl-10.0.0-r1.ebuild      2022-10-02 11:30:26.179260478 -0500
@@ -132,6 +132,7 @@ src_configure() {
                --enable-fontconfig \
                --enable-openjpeg \
                --disable-compile-inits \
+               --disable-hidden-visibility \
                --with-drivers=ALL \
                --with-fontpath="$FONTPATH" \
                --with-ijs \


This is the relevant change to gs:


--- /tmp/portage/app-text/ghostscript-gpl-9.56.1-r3/work/ghostscript-9.56.1/configure.ac        2022-04-04 08:4
8:49.000000000 -0500
+++ /tmp/portage/app-text/ghostscript-gpl-10.0.0/work/ghostscript-10.0.0/configure.ac   2022-09-21 03:39:46.000
000000 -0500

[...]
@@ -2883,17 +2895,17 @@ GPDL_SONAME="lib\$(GPDL${libname1}"
 GPDL_SONAME_MAJOR="lib\$(GPDL${libname2}"
 GPDL_SONAME_MAJOR_MINOR="lib\$(GPDL${libname3}"
 
-hide_symbols=no
+hide_symbols=yes
 attr_default=
 attr_hidden=
 _ldflags=
 
 AC_ARG_ENABLE([hidden-visibility],
-    AS_HELP_STRING([--enable-hidden-visibility],
-        [hide all shared library symbols which are not part of its public API]),
-    [hide_symbols=yes])
+    AS_HELP_STRING([--disable-hidden-visibility],
+        [expose all shared library symbols even those which are not part of its public API]),
+    [hide_symbols=no])
 
-if test x$hide_symbols = xyes -a x"$GCC" = x"yes"; then
+if test x"$hide_symbols" = x"yes" -a x"$GCC" = x"yes"; then
     attr_default="__attribute__((visibility(\\\"default\\\")))"
     attr_hidden="__attribute__((visibility(\\\"hidden\\\")))"
 fi
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-10-02 18:28:40 UTC
I don't really think this is a bug per se. They intentionally dropped the symbols and they break ABI all the time which is why the subslot changed (and changes on every release) and it's how people noticed dvisgm broke immediately (bug 873961).

I'd prefer it instead if we filed bugs for each of the issues and fixed them.

They were private symbols.