Bug#761164: libpoppler-qt4-4: leaks private symbols into the public ABI

2014-09-11 Thread Paul Wise
Source: libpoppler-qt4-4
Version: 0.26.4-1
Severity: wishlist
Usertags: symbols

I am rebuilding poppler for wheezy-backports. My normal build process
includes DPKG_GENSYMBOLS_CHECK_LEVEL=4 and as a result I got a build
failure (see below) due to new symbols being introduced. Based on the
name these are clearly private symbols that should not be exported in
the public ABI, please set the default symbol visibility to hidden.

   debian/rules override_dh_makeshlibs
make[1]: Entering directory `/tmp/buildd/poppler-0.26.4'
cat debian/libpoppler-glib8.symbols.in | sed -e 's/#CURVER#/0.26.4/g'  
debian/libpoppler-glib8.symbols
cat debian/libpoppler-qt4-4.symbols.in | sed -e 's/#CURVER#/0.26.4/g'  
debian/libpoppler-qt4-4.symbols
cat debian/libpoppler-qt5-1.symbols.in | sed -e 's/#CURVER#/0.26.4/g'  
debian/libpoppler-qt5-1.symbols
dh_makeshlibs -plibpoppler46 -V
dh_makeshlibs -plibpoppler-cpp0 -Vlibpoppler-cpp0 (= 0.16)
dh_makeshlibs --remaining-packages
dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see 
diff output below
dpkg-gensymbols: warning: debian/libpoppler-qt4-4/DEBIAN/symbols doesn't match 
completely debian/libpoppler-qt4-4.symbols
--- debian/libpoppler-qt4-4.symbols (libpoppler-qt4-4_0.26.4-1~bpo70+1_amd64)
+++ dpkg-gensymbolsGOHqyF   2014-09-08 02:11:57.304205915 +
@@ -7,6 +7,10 @@
  _ZN7Poppler10Annotation19setModificationDateERK9QDateTime@Base 0.20.1
  _ZN7Poppler10Annotation5Popup10setSummaryERK7QString@Base 0.20.1
  _ZN7Poppler10Annotation5Popup11setGeometryERK6QRectF@Base 0.20.1
+ _ZN7Poppler10Annotation5Popup7PrivateC1ERKS2_@Base 0.26.4-1~bpo70+1
+ _ZN7Poppler10Annotation5Popup7PrivateC2ERKS2_@Base 0.26.4-1~bpo70+1
+ _ZN7Poppler10Annotation5Popup7PrivateD1Ev@Base 0.26.4-1~bpo70+1
+ _ZN7Poppler10Annotation5Popup7PrivateD2Ev@Base 0.26.4-1~bpo70+1
  _ZN7Poppler10Annotation5Popup7setTextERK7QString@Base 0.20.1
  _ZN7Poppler10Annotation5Popup8setFlagsEi@Base 0.20.1
  _ZN7Poppler10Annotation5Popup8setTitleERK7QString@Base 0.20.1
dh_makeshlibs: dpkg-gensymbols -plibpoppler-qt4-4 
-Idebian/libpoppler-qt4-4.symbols -Pdebian/libpoppler-qt4-4 
-edebian/libpoppler-qt4-4/usr/lib/x86_64-linux-gnu/libpoppler-qt4.so.4.4.0
 returned exit code 2

$ c++filt
+ _ZN7Poppler10Annotation5Popup7PrivateC1ERKS2_@Base 0.26.4-1~bpo70+1
+ _ZN7Poppler10Annotation5Popup7PrivateC2ERKS2_@Base 0.26.4-1~bpo70+1
+ _ZN7Poppler10Annotation5Popup7PrivateD1Ev@Base 0.26.4-1~bpo70+1
+ _ZN7Poppler10Annotation5Popup7PrivateD2Ev@Base 0.26.4-1~bpo70+1
+ 
Poppler::Annotation::Popup::Private::Private(Poppler::Annotation::Popup::Private
 const)@Base 0.26.4-1~bpo70+1
+ 
Poppler::Annotation::Popup::Private::Private(Poppler::Annotation::Popup::Private
 const)@Base 0.26.4-1~bpo70+1
+ Poppler::Annotation::Popup::Private::~Private()@Base 0.26.4-1~bpo70+1
+ Poppler::Annotation::Popup::Private::~Private()@Base 0.26.4-1~bpo70+1

-- 
bye,
pabs

http://wiki.debian.org/PaulWise


signature.asc
Description: This is a digitally signed message part


Bug#761164: libpoppler-qt4-4: leaks private symbols into the public ABI

2014-09-11 Thread Pino Toscano

Hi,

On 2014-09-11 12:22, Paul Wise wrote:

I am rebuilding poppler for wheezy-backports. My normal build process
includes DPKG_GENSYMBOLS_CHECK_LEVEL=4


That isn't a wise thing to do, with a different toolchain.


and as a result I got a build
failure (see below) due to new symbols being introduced. Based on the
name these are clearly private symbols that should not be exported in
the public ABI, please set the default symbol visibility to hidden.


libpoppler-qt4-N (and now libpoppler-qt5-N) already *do* have symbols
visibility by default, and this is a Debian-specific change (just
because I haven't found the time to do the proper buildsystem bits
upstream).

What you see are internal symbols which older GCCs somehow still
export. I cannot do anything about them, and if you see the symbols
file for libpoppler-qt4-3 (in stable), these symbols are there, just
marked as optional (as gccinternal stuff).

In the end:
a) there is nothing I can do about them
b) don't use DPKG_GENSYMBOLS_CHECK_LEVEL=4 with a different toolchain

--
Pino Toscano


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org