Bug#831179: pjproject: FTBFS with GCC 6: dh_makeshlibs: failing due to earlier errors

2016-10-11 Thread Bernhard Schmidt
On Tue, Oct 11, 2016 at 11:36:58AM +0300, Andriy Ivashchenko wrote:

Hi Andriy,

> Thanks for your warry about old and important bug!
> 
> The same errors i got when try to backport pjproject to jessie.
> I think it is very important to make pjproject backport, because
> no posibility to build Asterisk 13 packages in jessie now.

I don't think this will help you, since the current symbols are made for
GCC-5. The bug is about adjusting the symbol list for GCC-6 in Stretch.

Jessie has GCC-4.9. The GCC-4.9 -> GCC-5 transition had an ABI
transition that was a lot more work (including renaming the binary
packages), so you would have to revert that for a jessie backport. See
https://wiki.debian.org/GCC5#Backporting_packages_affected_by_the_libstdc.2B-.2B-_ABI_transition
for example.

Bernhard


signature.asc
Description: Digital signature


Bug#831179: pjproject: FTBFS with GCC 6: dh_makeshlibs: failing due to earlier errors

2016-10-11 Thread Bernhard Schmidt
On Thu, Jul 14, 2016 at 11:31:46AM +0300, Tzafrir Cohen wrote:
> On Thu, Jul 14, 2016 at 10:06:57AM +0200, Lucas Nussbaum wrote:
> > Source: pjproject
> > Version: 2.5.1~dfsg-2
> > Severity: serious
> > Tags: stretch sid
> > User: debian...@lists.debian.org
> > Usertags: qa-ftbfs-20160713 qa-ftbfs
> > Justification: FTBFS with GCC 6 on amd64
> 
> Thanks for the report.
> 
> So at first glance: it builds fine but the C++ ABI has changed (most of
> the pjproject libraries are C, with a single C++ library).

I plan to upload a NMU with the attached update for the symbols file end
of the week.

I don't really have much clue about C++ symbols. I thought you are never
supposed to drop symbols without bumping the binary name, yet most of
the packages with similar bugs for the GCC6 transition did this. The
only rbuilddep is asterisk, and that doesn't use the C++ library.

Bernhard
From ef670f312cb1e4d3b943bbe370340a482d83c365 Mon Sep 17 00:00:00 2001
From: Bernhard Schmidt 
Date: Tue, 11 Oct 2016 09:59:48 +0200
Subject: [PATCH] Update debian/libpjsua2-2v5.symbols for GCC-6

Closes: #831179
---
 debian/libpjsua2-2v5.symbols | 48 ++--
 1 file changed, 24 insertions(+), 24 deletions(-)

diff --git a/debian/libpjsua2-2v5.symbols b/debian/libpjsua2-2v5.symbols
index 974d2bf..f2f5978 100644
--- a/debian/libpjsua2-2v5.symbols
+++ b/debian/libpjsua2-2v5.symbols
@@ -300,10 +300,10 @@ libpjsua2.so.2v5 libpjsua2-2v5 #MINVER#
  _ZN2pj5BuddyD0Ev@Base 2.4.5~dfsg
  _ZN2pj5BuddyD1Ev@Base 2.4.5~dfsg
  _ZN2pj5BuddyD2Ev@Base 2.4.5~dfsg
- _ZN2pj5ErrorC1ERKS0_@Base 2.4.5~dfsg
+ _ZN2pj5ErrorC1EOS0_@Base 2.5.1~dfsg
  _ZN2pj5ErrorC1EiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_i@Base 2.4.5~dfsg
  _ZN2pj5ErrorC1Ev@Base 2.4.5~dfsg
- _ZN2pj5ErrorC2ERKS0_@Base 2.4.5~dfsg
+ _ZN2pj5ErrorC2EOS0_@Base 2.5.1~dfsg
  _ZN2pj5ErrorC2EiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_i@Base 2.4.5~dfsg
  _ZN2pj5ErrorC2Ev@Base 2.4.5~dfsg
  _ZN2pj5ErrorD1Ev@Base 2.4.5~dfsg
@@ -389,7 +389,6 @@ libpjsua2.so.2v5 libpjsua2-2v5 #MINVER#
  _ZN2pj8Endpoint18performPendingJobsEv@Base 2.4.5~dfsg
  _ZN2pj8Endpoint18setVideoCodecParamERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_13VidCodecParamE@Base 2.5.1~dfsg
  _ZN2pj8Endpoint18transportSetEnableEib@Base 2.4.5~dfsg
-#MISSING: 2.5.1~dfsg# _ZN2pj8Endpoint18videoCodecSetParamERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPv@Base 2.4.5~dfsg
  _ZN2pj8Endpoint19natCheckStunServersERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EEbPv@Base 2.4.5~dfsg
  _ZN2pj8Endpoint19on_call_media_eventEijP13pjmedia_event@Base 2.4.5~dfsg
  _ZN2pj8Endpoint19on_call_media_stateEi@Base 2.4.5~dfsg
@@ -595,7 +594,6 @@ libpjsua2.so.2v5 libpjsua2-2v5 #MINVER#
  _ZNK2pj8Endpoint14mediaEnumPortsEv@Base 2.4.5~dfsg
  _ZNK2pj8Endpoint16mediaActivePortsEv@Base 2.4.5~dfsg
  _ZNK2pj8Endpoint18getVideoCodecParamERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 2.5.1~dfsg
-#MISSING: 2.5.1~dfsg# _ZNK2pj8Endpoint18videoCodecGetParamERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 2.4.5~dfsg
  _ZNK2pj8EpConfig11writeObjectERNS_13ContainerNodeE@Base 2.4.5~dfsg
  _ZNK2pj8UaConfig11writeObjectERNS_13ContainerNodeE@Base 2.4.5~dfsg
  _ZNK2pj8UaConfig4toPjEv@Base 2.4.5~dfsg
@@ -604,35 +602,37 @@ libpjsua2.so.2v5 libpjsua2-2v5 #MINVER#
  _ZNK2pj9SipHeader4toPjEv@Base 2.4.5~dfsg
  _ZNK2pj9TlsConfig11writeObjectERNS_13ContainerNodeE@Base 2.4.5~dfsg
  _ZNK2pj9TlsConfig4toPjEv@Base 2.4.5~dfsg
- (optional=templinst)_ZNSt6vectorIN2pj12AuthCredInfoESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_@Base 2.4.5~dfsg
- (subst|optional=templinst)_ZNSt6vectorIN2pj12AuthCredInfoESaIS1_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EE{size_t}RKS1_@Base 2.4.5~dfsg
- (optional=templinst)_ZNSt6vectorIN2pj13CallMediaInfoESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_@Base 2.4.5~dfsg
- (optional=templinst)_ZNSt6vectorIN2pj16SipMultipartPartESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_@Base 2.4.5~dfsg
- (optional=templinst)_ZNSt6vectorIN2pj17ToneDigitMapDigitESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_@Base 2.4.5~dfsg
- (optional=templinst)_ZNSt6vectorIN2pj9CodecFmtpESaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_@Base 2.5.1~dfsg
+ _ZNSt6vectorIN2pj12AuthCredInfoESaIS1_EE17_M_default_appendEm@Base 2.5.1~dfsg
+ _ZNSt6vectorIN2pj12AuthCredInfoESaIS1_EE19_M_emplace_back_auxIJRKS1_EEEvDpOT_@Base 2.5.1~dfsg
+ _ZNSt6vectorIN2pj13CallMediaInfoESaIS1_EE19_M_emplace_back_auxIJRKS1_EEEvDpOT_@Base 2.5.1~dfsg
+ _ZNSt6vectorIN2pj16SipMultipartPartESaIS1_EE19_M_emplace_back_auxIJRKS1_EEEvDpOT_@Base 2.5.1~dfsg
+ _ZNSt6vectorIN2pj17ToneDigitMapDigitESaIS1_EE19_M_emplace_back_auxIJRKS1_EEEvDpOT_@Base 2.5.1~dfsg
+ _ZNSt6vectorIN2pj9CodecFmtpESaIS1_EE19_M_emplace_back_auxIJRKS1_EEEvDpOT_@Base 2.5.1~dfsg
  (optional=templinst)_ZNSt6vectorIN2pj9Co

Bug#831179: pjproject: FTBFS with GCC 6: dh_makeshlibs: failing due to earlier errors

2016-07-14 Thread Tzafrir Cohen
On Thu, Jul 14, 2016 at 10:06:57AM +0200, Lucas Nussbaum wrote:
> Source: pjproject
> Version: 2.5.1~dfsg-2
> Severity: serious
> Tags: stretch sid
> User: debian...@lists.debian.org
> Usertags: qa-ftbfs-20160713 qa-ftbfs
> Justification: FTBFS with GCC 6 on amd64

Thanks for the report.

So at first glance: it builds fine but the C++ ABI has changed (most of
the pjproject libraries are C, with a single C++ library).

-- 
   Tzafrir Cohen
icq#16849755  jabber:tzafrir.co...@xorcom.com
+972-50-7952406   mailto:tzafrir.co...@xorcom.com
http://www.xorcom.com



Bug#831179: pjproject: FTBFS with GCC 6: dh_makeshlibs: failing due to earlier errors

2016-07-14 Thread Lucas Nussbaum
Source: pjproject
Version: 2.5.1~dfsg-2
Severity: serious
Tags: stretch sid
User: debian...@lists.debian.org
Usertags: qa-ftbfs-20160713 qa-ftbfs
Justification: FTBFS with GCC 6 on amd64

Hi,

During a rebuild of all packages in sid using the gcc-defaults package
available in experimental to make GCC default to version 6, your package failed
to build on amd64. For more information about GCC 6 and Stretch, see:
- https://wiki.debian.org/GCC6
- https://lists.debian.org/debian-devel-announce/2016/06/msg7.html

Relevant part (hopefully):
> make[2]: Entering directory '/«PKGBUILDDIR»'
> mkdir -p /«PKGBUILDDIR»/debian/tmp/usr/lib/x86_64-linux-gnu/
> cp -af /«PKGBUILDDIR»/pjsip/lib/libpjsua2-x86_64-pc-linux-gnu.a 
> /«PKGBUILDDIR»/pjsip/lib/libpjsua-x86_64-pc-linux-gnu.a 
> /«PKGBUILDDIR»/pjsip/lib/libpjsip-ua-x86_64-pc-linux-gnu.a 
> /«PKGBUILDDIR»/pjsip/lib/libpjsip-simple-x86_64-pc-linux-gnu.a 
> /«PKGBUILDDIR»/pjsip/lib/libpjsip-x86_64-pc-linux-gnu.a 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia-codec-x86_64-pc-linux-gnu.a 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia-videodev-x86_64-pc-linux-gnu.a 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia-x86_64-pc-linux-gnu.a 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia-audiodev-x86_64-pc-linux-gnu.a 
> /«PKGBUILDDIR»/pjnath/lib/libpjnath-x86_64-pc-linux-gnu.a 
> /«PKGBUILDDIR»/pjlib-util/lib/libpjlib-util-x86_64-pc-linux-gnu.a  
> /«PKGBUILDDIR»/pjlib/lib/libpj-x86_64-pc-linux-gnu.a 
> /«PKGBUILDDIR»/pjsip/lib/libpjsua2.so.2v5 
> /«PKGBUILDDIR»/pjsip/lib/libpjsua2.so /«PKGBUILDDIR»/pjsip/lib/libpjsua.so.2 
> /«PKGBUILDDIR»/pjsip/lib/libpjsua.so 
> /«PKGBUILDDIR»/pjsip/lib/libpjsip-ua.so.2 
> /«PKGBUILDDIR»/pjsip/lib/libpjsip-ua.so 
> /«PKGBUILDDIR»/pjsip/lib/libpjsip-simple.so.2 
> /«PKGBUILDDIR»/pjsip/lib/libpjsip-simple.so 
> /«PKGBUILDDIR»/pjsip/lib/libpjsip.so.2 /«PKGBUILDDIR»/pjsip/lib/libpjsip.so 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia-codec.so.2 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia-codec.so 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia-videodev.so.2 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia-videodev.so 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia.so.2 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia.so 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia-audiodev.so.2 
> /«PKGBUILDDIR»/pjmedia/lib/libpjmedia-audiodev.so 
> /«PKGBUILDDIR»/pjnath/lib/libpjnath.so.2 
> /«PKGBUILDDIR»/pjnath/lib/libpjnath.so 
> /«PKGBUILDDIR»/pjlib-util/lib/libpjlib-util.so.2 
> /«PKGBUILDDIR»/pjlib-util/lib/libpjlib-util.so 
> /«PKGBUILDDIR»/pjlib/lib/libpj.so.2 /«PKGBUILDDIR»/pjlib/lib/libpj.so 
> /«PKGBUILDDIR»/debian/tmp/usr/lib/x86_64-linux-gnu/
> mkdir -p /«PKGBUILDDIR»/debian/tmp/usr/include/
> for d in pjlib pjlib-util pjnath pjmedia pjsip; do \
>   cp -RLf $d/include/* /«PKGBUILDDIR»/debian/tmp/usr/include/; \
> done
> mkdir -p /«PKGBUILDDIR»/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig
> sed -e "s!@PREFIX@!/usr!" libpjproject.pc.in | \
>   sed -e "s!@INCLUDEDIR@!/usr/include!" | \
>   sed -e "s!@LIBDIR@!/usr/lib/x86_64-linux-gnu!" | \
>   sed -e "s/@PJ_VERSION@/2.5.1/" | \
>   sed -e "s!@PJ_LDLIBS@!!" | \
>   sed -e "s!@PJ_LDXXLIBS@!-lpjsua2 -lstdc++ -lpjsua -lpjsip-ua 
> -lpjsip-simple -lpjsip -lpjmedia-codec -lpjmedia -lpjmedia-videodev 
> -lpjmedia-audiodev -lpjmedia -lpjnath -lpjlib-util   -lsrtp -lpj -lm -lrt 
> -lpthread  -lvo-amrwbenc -lopus!" | \
>   sed -e "s!@PJ_INSTALL_CFLAGS@!!" | \
>   sed -e "s!@PJ_INSTALL_CXXFLAGS@!-I/usr/include -DPJ_AUTOCONF=1  
> -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat 
> -Werror=format-security -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -fPIC!" 
> > 
> /«PKGBUILDDIR»/debian/tmp//usr/lib/x86_64-linux-gnu/pkgconfig/libpjproject.pc
> make[2]: Leaving directory '/«PKGBUILDDIR»'
> # Disable it for now. This will wait (and be done properly) in
> # later versions:
> pybuild -d pjsip-apps/src/python --pyver 2.7 --install
> I: pybuild base:184: /usr/bin/python setup.py install --root 
> '/«PKGBUILDDIR»/debian/tmp' 
> running install
> running build
> running build_py
> running build_ext
> running install_lib
> creating /«PKGBUILDDIR»/debian/tmp/usr/lib/python2.7
> creating /«PKGBUILDDIR»/debian/tmp/usr/lib/python2.7/dist-packages
> copying /«PKGBUILDDIR»/.pybuild/pythonX.Y_2.7/build/pjsua.py -> 
> /«PKGBUILDDIR»/debian/tmp/usr/lib/python2.7/dist-packages
> copying /«PKGBUILDDIR»/.pybuild/pythonX.Y_2.7/build/_pjsua.so -> 
> /«PKGBUILDDIR»/debian/tmp/usr/lib/python2.7/dist-packages
> byte-compiling 
> /«PKGBUILDDIR»/debian/tmp/usr/lib/python2.7/dist-packages/pjsua.py to 
> pjsua.pyc
> running install_egg_info
> Writing 
> /«PKGBUILDDIR»/debian/tmp/usr/lib/python2.7/dist-packages/pjsua-2.5.1.egg-info
> ma=`dpkg-architecture -qDEB_BUILD_MULTIARCH`; \
>   new_name=`echo 
> /«PKGBUILDDIR»/debian/tmp/usr/lib/python2.7/dist-packages/_pjsua.so | sed -e 
> "s|\.so$|.$ma&|"`; \
>   mv /«PKGBUILDDIR»/debian/tmp/usr/lib/python2.7/dist-packages/_pjsua.so 
> $new_name
> # FIXME: the proper fix is in the generation of libpjproject.pc.