Bug#864188: libbpp-core2v5: symbols removed without soname bump

2017-06-06 Thread Andreas Tille
Hi Julien,

On Tue, Jun 06, 2017 at 09:43:22PM +0200, Julien Yann Dutheil wrote:
> Thanks a lot for your answers. I understand. We will increase the interface
> number.

Thanks.

> Is it ok to move the release tag on the git repository or is it
> better to make a new (distinct) one?

Please use a new release tag.  There might be other people who have
downloaded the current one and will not realise the fix you are
intending to do.
 
Kind regards

 Andreas.

-- 
http://fam-tille.de



Bug#864188: [Debian-med-packaging] Bug#864188: libbpp-core2v5: symbols removed without soname bump

2017-06-06 Thread Julien Yann Dutheil
Thanks a lot for your answers. I understand. We will increase the interface
number. Is it ok to move the release tag on the git repository or is it
better to make a new (distinct) one?

I apologize for the "dummy" questions.

Julien.

On Tue, Jun 6, 2017 at 9:14 PM, Vincent Danjean <vdanjean...@free.fr> wrote:

> Le 06/06/2017 à 12:47, Julien Yann Dutheil a écrit :
> > Dear Adrian,
> >
> > These functions are now inline in the corresponding .h files, but their
> > interfaces have not changed as far as I know. Does making a function
> > inline break the interface??
>
>   It is the difference between the API and the ABI. The API
> (interface for the programmer) did not change. But the ABI
> (binary interface) changed.
>   Both (API and ABI) are related but not tightly coupled.
>
>   The API has a backward incompatibility when sources that
> compiled with the previous API do not compile any more with
> the new API (this is not the case here).
>   The ABI has a backward incompatibility when a program/lib
> compiled against an old library will not work with the new
> library. This is the case here: a (previously compiled) program
> can try to use symbols that are not present anymore in the
> new library. Recompiling the program would workaround the
> problem (as the API did not change and the new compiled program
> will not try to use the symbols anymore) but the correct fix is
> to bump the soname so that the user knows without looking for
> bugs if the program and the library are compatible.
>
>   Regards,
> Vincent
>
> > J.
> >
> > -- Forwarded message ------
> > From: *Adrian Bunk* <b...@debian.org <mailto:b...@debian.org>>
> > Date: Tue, Jun 6, 2017 at 11:48 AM
> > Subject: Re: Bug#864188: libbpp-core2v5: symbols removed without soname
> bump
> > To: Julien Yann Dutheil <duth...@evolbio.mpg.de  duth...@evolbio.mpg.de>>
> > Cc: Andreas Tille <ti...@debian.org <mailto:ti...@debian.org>>,
> 864...@bugs.debian.org <mailto:864...@bugs.debian.org>, GINDRAUD FRANCOIS
> <francois.gindr...@univ-lyon1.fr <mailto:francois.gindr...@univ-lyon1.fr>>
> >
> >
> > On Tue, Jun 06, 2017 at 11:35:57AM +0200, Julien Yann Dutheil wrote:
> >> Dear Andreas, Adrian,
> >>...
> >> - This error actually revealed an interface breakdown (essentially due
> to
> >> our upgrade to c++11), and your suggestion is to reflect this change by
> >> increasing the interface number (which would result in a change in
> package
> >> name, such as libbpp-core2 -> libbpp-core3), am I correct?
> >
> > This ABI breakage is unrelated to the C++ version used.
> >
> > RandomTools::lnGamma() was removed from src/Bpp/Numeric/Random/
> RandomTools.cpp
> > TextTools::startsWith() was removed from src/Bpp/Text/TextTools.cpp
> > ApplicationTools::parameterExists() was removed from
> src/Bpp/App/ApplicationTools.cpp
> > ...
> >
> > Removing any such function breaks the ABI in an incompatible way,
> > and therefore requires a soname bump.
> >
> >> Best,
> >>
> >> Julien.
> >
> > cu
> > Adrian
> >
> >> On Mon, Jun 5, 2017 at 9:50 AM, Andreas Tille <ti...@debian.org
> <mailto:ti...@debian.org>> wrote:
> >>
> >> > Hi Julien,
> >> >
> >> > while I made a mistake to upload libbpp-core to unstable rather than
> >> > experimental as it was planed this has probably lead to spot a bug
> >> > earlier.  The problem is that the soversion needs to be bumped due to
> >> > the ABI change.
> >> >
> >> >$ objdump -p ./libbpp-core.so.2.0.4   | sed -n 's/^.*SONAME *//p'
> >> >libbpp-core.so.2
> >> >
> >> > I think you should bump the SOVERSION to reflect that change.
> >> >
> >> > Kind regards
> >> >
> >> >  Andreas.
> >> >
> >> > On Mon, Jun 05, 2017 at 02:42:58AM +0300, Adrian Bunk wrote:
> >> > > Package: libbpp-core2v5
> >> > > Version: 2.3.0-1~exp1
> >> > > Severity: serious
> >> > > Control: affects -1 libbpp-seq9v5 src:libbpp-phyl
> >> > >
> >> > > 2.3.0-1~exp1 in unstable (sic) removes symbols without changing
> soname,
> >> > > causing the following FTBFS in libbpp-phyl:
> >> > >
> >> > > https://tests.reproducible-builds.org/debian/rb-pkg/ <
> https://tests.reproducible-builds.org/debian/rb-pkg/>
> >> > unstable/amd64/libbpp-phyl.htm

Bug#864188: [Debian-med-packaging] Bug#864188: libbpp-core2v5: symbols removed without soname bump

2017-06-06 Thread Vincent Danjean
Le 06/06/2017 à 12:47, Julien Yann Dutheil a écrit :
> Dear Adrian,
> 
> These functions are now inline in the corresponding .h files, but their
> interfaces have not changed as far as I know. Does making a function
> inline break the interface??

  It is the difference between the API and the ABI. The API
(interface for the programmer) did not change. But the ABI
(binary interface) changed.
  Both (API and ABI) are related but not tightly coupled.

  The API has a backward incompatibility when sources that
compiled with the previous API do not compile any more with
the new API (this is not the case here).
  The ABI has a backward incompatibility when a program/lib
compiled against an old library will not work with the new
library. This is the case here: a (previously compiled) program
can try to use symbols that are not present anymore in the
new library. Recompiling the program would workaround the
problem (as the API did not change and the new compiled program
will not try to use the symbols anymore) but the correct fix is
to bump the soname so that the user knows without looking for
bugs if the program and the library are compatible.

  Regards,
Vincent

> J.
> 
> -- Forwarded message --
> From: *Adrian Bunk* <b...@debian.org <mailto:b...@debian.org>>
> Date: Tue, Jun 6, 2017 at 11:48 AM
> Subject: Re: Bug#864188: libbpp-core2v5: symbols removed without soname bump
> To: Julien Yann Dutheil <duth...@evolbio.mpg.de 
> <mailto:duth...@evolbio.mpg.de>>
> Cc: Andreas Tille <ti...@debian.org <mailto:ti...@debian.org>>, 
> 864...@bugs.debian.org <mailto:864...@bugs.debian.org>, GINDRAUD FRANCOIS 
> <francois.gindr...@univ-lyon1.fr <mailto:francois.gindr...@univ-lyon1.fr>>
> 
> 
> On Tue, Jun 06, 2017 at 11:35:57AM +0200, Julien Yann Dutheil wrote:
>> Dear Andreas, Adrian,
>>...
>> - This error actually revealed an interface breakdown (essentially due to
>> our upgrade to c++11), and your suggestion is to reflect this change by
>> increasing the interface number (which would result in a change in package
>> name, such as libbpp-core2 -> libbpp-core3), am I correct?
> 
> This ABI breakage is unrelated to the C++ version used.
> 
> RandomTools::lnGamma() was removed from src/Bpp/Numeric/Random/RandomTools.cpp
> TextTools::startsWith() was removed from src/Bpp/Text/TextTools.cpp
> ApplicationTools::parameterExists() was removed from 
> src/Bpp/App/ApplicationTools.cpp
> ...
> 
> Removing any such function breaks the ABI in an incompatible way,
> and therefore requires a soname bump.
> 
>> Best,
>>
>> Julien.
> 
> cu
> Adrian
> 
>> On Mon, Jun 5, 2017 at 9:50 AM, Andreas Tille <ti...@debian.org 
>> <mailto:ti...@debian.org>> wrote:
>>
>> > Hi Julien,
>> >
>> > while I made a mistake to upload libbpp-core to unstable rather than
>> > experimental as it was planed this has probably lead to spot a bug
>> > earlier.  The problem is that the soversion needs to be bumped due to
>> > the ABI change.
>> >
>> >$ objdump -p ./libbpp-core.so.2.0.4   | sed -n 's/^.*SONAME *//p'
>> >libbpp-core.so.2
>> >
>> > I think you should bump the SOVERSION to reflect that change.
>> >
>> > Kind regards
>> >
>> >  Andreas.
>> >
>> > On Mon, Jun 05, 2017 at 02:42:58AM +0300, Adrian Bunk wrote:
>> > > Package: libbpp-core2v5
>> > > Version: 2.3.0-1~exp1
>> > > Severity: serious
>> > > Control: affects -1 libbpp-seq9v5 src:libbpp-phyl
>> > >
>> > > 2.3.0-1~exp1 in unstable (sic) removes symbols without changing soname,
>> > > causing the following FTBFS in libbpp-phyl:
>> > >
>> > > https://tests.reproducible-builds.org/debian/rb-pkg/ 
>> > > <https://tests.reproducible-builds.org/debian/rb-pkg/>
>> > unstable/amd64/libbpp-phyl.html
>> > >
>> > > ...
>> > > [ 93%] Linking CXX executable test_bowker
>> > > cd /build/1st/libbpp-phyl-2.2.0/obj-x86_64-linux-gnu/test &&
>> > /usr/bin/cmake -E cmake_link_script CMakeFiles/test_bowker.dir/link.txt
>> > --verbose=1
>> > > /usr/bin/c++   -Wall -Wshadow -Weffc++ -Wconversion  -Wl,-z,relro
>> > CMakeFiles/test_bowker.dir/test_bowker.cpp.o  -o test_bowker -rdynamic
>> > -lbpp-seq -lbpp-core -L../src -lbpp-phyl
>> > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so:
>> > undefined reference to `bpp::RandomTools::lnGamma(double)'
>> > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linu

Bug#864188: libbpp-core2v5: symbols removed without soname bump

2017-06-06 Thread Adrian Bunk
Dear Julien,

making a function inline does not break the API - compiling software 
against the library still works as before.

But making a function inline does break the ABI requiring a soname bump,
since it breaks software that was compiled against an older version of
the library.

Adrian


On Tue, Jun 06, 2017 at 12:47:38PM +0200, Julien Yann Dutheil wrote:
> Dear Adrian,
> 
> These functions are now inline in the corresponding .h files, but their
> interfaces have not changed as far as I know. Does making a function inline
> break the interface??
> 
> J.
> 
> -- Forwarded message --
> From: Adrian Bunk <b...@debian.org>
> Date: Tue, Jun 6, 2017 at 11:48 AM
> Subject: Re: Bug#864188: libbpp-core2v5: symbols removed without soname bump
> To: Julien Yann Dutheil <duth...@evolbio.mpg.de>
> Cc: Andreas Tille <ti...@debian.org>, 864...@bugs.debian.org, GINDRAUD
> FRANCOIS <francois.gindr...@univ-lyon1.fr>
> 
> 
> On Tue, Jun 06, 2017 at 11:35:57AM +0200, Julien Yann Dutheil wrote:
> > Dear Andreas, Adrian,
> >...
> > - This error actually revealed an interface breakdown (essentially due to
> > our upgrade to c++11), and your suggestion is to reflect this change by
> > increasing the interface number (which would result in a change in package
> > name, such as libbpp-core2 -> libbpp-core3), am I correct?
> 
> This ABI breakage is unrelated to the C++ version used.
> 
> RandomTools::lnGamma() was removed from src/Bpp/Numeric/Random/
> RandomTools.cpp
> TextTools::startsWith() was removed from src/Bpp/Text/TextTools.cpp
> ApplicationTools::parameterExists() was removed from
> src/Bpp/App/ApplicationTools.cpp
> ...
> 
> Removing any such function breaks the ABI in an incompatible way,
> and therefore requires a soname bump.
> 
> > Best,
> >
> > Julien.
> 
> cu
> Adrian
> 
> > On Mon, Jun 5, 2017 at 9:50 AM, Andreas Tille <ti...@debian.org> wrote:
> >
> > > Hi Julien,
> > >
> > > while I made a mistake to upload libbpp-core to unstable rather than
> > > experimental as it was planed this has probably lead to spot a bug
> > > earlier.  The problem is that the soversion needs to be bumped due to
> > > the ABI change.
> > >
> > >$ objdump -p ./libbpp-core.so.2.0.4   | sed -n 's/^.*SONAME *//p'
> > >libbpp-core.so.2
> > >
> > > I think you should bump the SOVERSION to reflect that change.
> > >
> > > Kind regards
> > >
> > >  Andreas.
> > >
> > > On Mon, Jun 05, 2017 at 02:42:58AM +0300, Adrian Bunk wrote:
> > > > Package: libbpp-core2v5
> > > > Version: 2.3.0-1~exp1
> > > > Severity: serious
> > > > Control: affects -1 libbpp-seq9v5 src:libbpp-phyl
> > > >
> > > > 2.3.0-1~exp1 in unstable (sic) removes symbols without changing
> soname,
> > > > causing the following FTBFS in libbpp-phyl:
> > > >
> > > > https://tests.reproducible-builds.org/debian/rb-pkg/
> > > unstable/amd64/libbpp-phyl.html
> > > >
> > > > ...
> > > > [ 93%] Linking CXX executable test_bowker
> > > > cd /build/1st/libbpp-phyl-2.2.0/obj-x86_64-linux-gnu/test &&
> > > /usr/bin/cmake -E cmake_link_script CMakeFiles/test_bowker.dir/link.txt
> > > --verbose=1
> > > > /usr/bin/c++   -Wall -Wshadow -Weffc++ -Wconversion  -Wl,-z,relro
> > > CMakeFiles/test_bowker.dir/test_bowker.cpp.o  -o test_bowker -rdynamic
> > > -lbpp-seq -lbpp-core -L../src -lbpp-phyl
> > > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/
> libbpp-seq.so:
> > > undefined reference to `bpp::RandomTools::lnGamma(double)'
> > > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/
> libbpp-seq.so:
> > > undefined reference to `bpp::TextTools::startsWith(
> > > std::__cxx11::basic_string<char, std::char_traits,
> > > std::allocator > const&, std::__cxx11::basic_string<char,
> > > std::char_traits, std::allocator > const&)'
> > > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/
> libbpp-seq.so:
> > > undefined reference to `bpp::ApplicationTools::
> > > parameterExists(std::__cxx11::basic_string<char, std::char_traits,
> > > std::allocator > const&, std::map<std::__cxx11::basic_string<char,
> > > std::char_traits, std::allocator >,
> std::__cxx11::basic_string<char,
> > > std::char_traits, std::allocator >,
> > > std::less<std::__cxx11::basic_string<char, std::

Bug#864188: libbpp-core2v5: symbols removed without soname bump

2017-06-06 Thread Julien Yann Dutheil
Dear Adrian,

These functions are now inline in the corresponding .h files, but their
interfaces have not changed as far as I know. Does making a function inline
break the interface??

J.

-- Forwarded message --
From: Adrian Bunk <b...@debian.org>
Date: Tue, Jun 6, 2017 at 11:48 AM
Subject: Re: Bug#864188: libbpp-core2v5: symbols removed without soname bump
To: Julien Yann Dutheil <duth...@evolbio.mpg.de>
Cc: Andreas Tille <ti...@debian.org>, 864...@bugs.debian.org, GINDRAUD
FRANCOIS <francois.gindr...@univ-lyon1.fr>


On Tue, Jun 06, 2017 at 11:35:57AM +0200, Julien Yann Dutheil wrote:
> Dear Andreas, Adrian,
>...
> - This error actually revealed an interface breakdown (essentially due to
> our upgrade to c++11), and your suggestion is to reflect this change by
> increasing the interface number (which would result in a change in package
> name, such as libbpp-core2 -> libbpp-core3), am I correct?

This ABI breakage is unrelated to the C++ version used.

RandomTools::lnGamma() was removed from src/Bpp/Numeric/Random/
RandomTools.cpp
TextTools::startsWith() was removed from src/Bpp/Text/TextTools.cpp
ApplicationTools::parameterExists() was removed from
src/Bpp/App/ApplicationTools.cpp
...

Removing any such function breaks the ABI in an incompatible way,
and therefore requires a soname bump.

> Best,
>
> Julien.

cu
Adrian

> On Mon, Jun 5, 2017 at 9:50 AM, Andreas Tille <ti...@debian.org> wrote:
>
> > Hi Julien,
> >
> > while I made a mistake to upload libbpp-core to unstable rather than
> > experimental as it was planed this has probably lead to spot a bug
> > earlier.  The problem is that the soversion needs to be bumped due to
> > the ABI change.
> >
> >$ objdump -p ./libbpp-core.so.2.0.4   | sed -n 's/^.*SONAME *//p'
> >libbpp-core.so.2
> >
> > I think you should bump the SOVERSION to reflect that change.
> >
> > Kind regards
> >
> >  Andreas.
> >
> > On Mon, Jun 05, 2017 at 02:42:58AM +0300, Adrian Bunk wrote:
> > > Package: libbpp-core2v5
> > > Version: 2.3.0-1~exp1
> > > Severity: serious
> > > Control: affects -1 libbpp-seq9v5 src:libbpp-phyl
> > >
> > > 2.3.0-1~exp1 in unstable (sic) removes symbols without changing
soname,
> > > causing the following FTBFS in libbpp-phyl:
> > >
> > > https://tests.reproducible-builds.org/debian/rb-pkg/
> > unstable/amd64/libbpp-phyl.html
> > >
> > > ...
> > > [ 93%] Linking CXX executable test_bowker
> > > cd /build/1st/libbpp-phyl-2.2.0/obj-x86_64-linux-gnu/test &&
> > /usr/bin/cmake -E cmake_link_script CMakeFiles/test_bowker.dir/link.txt
> > --verbose=1
> > > /usr/bin/c++   -Wall -Wshadow -Weffc++ -Wconversion  -Wl,-z,relro
> > CMakeFiles/test_bowker.dir/test_bowker.cpp.o  -o test_bowker -rdynamic
> > -lbpp-seq -lbpp-core -L../src -lbpp-phyl
> > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/
libbpp-seq.so:
> > undefined reference to `bpp::RandomTools::lnGamma(double)'
> > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/
libbpp-seq.so:
> > undefined reference to `bpp::TextTools::startsWith(
> > std::__cxx11::basic_string<char, std::char_traits,
> > std::allocator > const&, std::__cxx11::basic_string<char,
> > std::char_traits, std::allocator > const&)'
> > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/
libbpp-seq.so:
> > undefined reference to `bpp::ApplicationTools::
> > parameterExists(std::__cxx11::basic_string<char, std::char_traits,
> > std::allocator > const&, std::map<std::__cxx11::basic_string<char,
> > std::char_traits, std::allocator >,
std::__cxx11::basic_string<char,
> > std::char_traits, std::allocator >,
> > std::less<std::__cxx11::basic_string<char, std::char_traits,
> > std::allocator > >, std::allocator<std::pair > std::char_traits, std::allocator > const,
> > std::__cxx11::basic_string<char, std::char_traits,
> > std::allocator > > > >&)'
> > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/
libbpp-seq.so:
> > undefined reference to `bpp::ApplicationTools::
getStringParameter(std::__cxx11::basic_string<char,
> > std::char_traits, std::allocator > const&,
> > std::map<std::__cxx11::basic_string<char, std::char_traits,
> > std::allocator >, std::__cxx11::basic_string<char,
> > std::char_traits, std::allocator >,
> > std::less<std::__cxx11::basic_string<char, std::char_traits,
> > std::allocator > >, std::allocator<std::pair > std::char_traits, std::all

Bug#864188: libbpp-core2v5: symbols removed without soname bump

2017-06-06 Thread Adrian Bunk
On Tue, Jun 06, 2017 at 11:35:57AM +0200, Julien Yann Dutheil wrote:
> Dear Andreas, Adrian,
>...
> - This error actually revealed an interface breakdown (essentially due to
> our upgrade to c++11), and your suggestion is to reflect this change by
> increasing the interface number (which would result in a change in package
> name, such as libbpp-core2 -> libbpp-core3), am I correct?

This ABI breakage is unrelated to the C++ version used.

RandomTools::lnGamma() was removed from src/Bpp/Numeric/Random/RandomTools.cpp
TextTools::startsWith() was removed from src/Bpp/Text/TextTools.cpp
ApplicationTools::parameterExists() was removed from 
src/Bpp/App/ApplicationTools.cpp
...

Removing any such function breaks the ABI in an incompatible way,
and therefore requires a soname bump.

> Best,
> 
> Julien.

cu
Adrian

> On Mon, Jun 5, 2017 at 9:50 AM, Andreas Tille  wrote:
> 
> > Hi Julien,
> >
> > while I made a mistake to upload libbpp-core to unstable rather than
> > experimental as it was planed this has probably lead to spot a bug
> > earlier.  The problem is that the soversion needs to be bumped due to
> > the ABI change.
> >
> >$ objdump -p ./libbpp-core.so.2.0.4   | sed -n 's/^.*SONAME *//p'
> >libbpp-core.so.2
> >
> > I think you should bump the SOVERSION to reflect that change.
> >
> > Kind regards
> >
> >  Andreas.
> >
> > On Mon, Jun 05, 2017 at 02:42:58AM +0300, Adrian Bunk wrote:
> > > Package: libbpp-core2v5
> > > Version: 2.3.0-1~exp1
> > > Severity: serious
> > > Control: affects -1 libbpp-seq9v5 src:libbpp-phyl
> > >
> > > 2.3.0-1~exp1 in unstable (sic) removes symbols without changing soname,
> > > causing the following FTBFS in libbpp-phyl:
> > >
> > > https://tests.reproducible-builds.org/debian/rb-pkg/
> > unstable/amd64/libbpp-phyl.html
> > >
> > > ...
> > > [ 93%] Linking CXX executable test_bowker
> > > cd /build/1st/libbpp-phyl-2.2.0/obj-x86_64-linux-gnu/test &&
> > /usr/bin/cmake -E cmake_link_script CMakeFiles/test_bowker.dir/link.txt
> > --verbose=1
> > > /usr/bin/c++   -Wall -Wshadow -Weffc++ -Wconversion  -Wl,-z,relro
> > CMakeFiles/test_bowker.dir/test_bowker.cpp.o  -o test_bowker -rdynamic
> > -lbpp-seq -lbpp-core -L../src -lbpp-phyl
> > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so:
> > undefined reference to `bpp::RandomTools::lnGamma(double)'
> > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so:
> > undefined reference to `bpp::TextTools::startsWith(
> > std::__cxx11::basic_string > std::allocator > const&, std::__cxx11::basic_string > std::char_traits, std::allocator > const&)'
> > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so:
> > undefined reference to `bpp::ApplicationTools::
> > parameterExists(std::__cxx11::basic_string > std::allocator > const&, std::map > std::char_traits, std::allocator >, 
> > std::__cxx11::basic_string > std::char_traits, std::allocator >,
> > std::less > std::allocator > >, 
> > std::allocator > std::char_traits, std::allocator > const,
> > std::__cxx11::basic_string > std::allocator > > > >&)'
> > > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so:
> > undefined reference to 
> > `bpp::ApplicationTools::getStringParameter(std::__cxx11::basic_string > std::char_traits, std::allocator > const&,
> > std::map > std::allocator >, std::__cxx11::basic_string > std::char_traits, std::allocator >,
> > std::less > std::allocator > >, 
> > std::allocator > std::char_traits, std::allocator > const,
> > std::__cxx11::basic_string > std::allocator > > > >&, std::__cxx11::basic_string > std::char_traits, std::allocator > const&,
> > std::__cxx11::basic_string > std::allocator > const&, bool, int)'
> > > collect2: error: ld returned 1 exit status
> > > test/CMakeFiles/test_bowker.dir/build.make:99: recipe for target
> > 'test/test_bowker' failed
> > > make[3]: *** [test/test_bowker] Error 1
> >
> > --
> > http://fam-tille.de
> >
> 
> 
> 
> -- 
> Julien Y. Dutheil, Ph-D
> 0 (+49) 4522 763 298
> 
> § Max Planck Institute for Evolutionary Biology
> Molecular Systems Evolution
> Department of Evolutionary Genetics
> Plön -- GERMANY
> 
> § Institute of Evolutionary Sciences - Montpellier
> University of Montpellier 2 -- FRANCE



Bug#864188: libbpp-core2v5: symbols removed without soname bump

2017-06-06 Thread Julien Yann Dutheil
Dear Andreas, Adrian,

Just to be sure I get everything right:
- The error you found before was due to building against a previous version
of bpp-core
- This error actually revealed an interface breakdown (essentially due to
our upgrade to c++11), and your suggestion is to reflect this change by
increasing the interface number (which would result in a change in package
name, such as libbpp-core2 -> libbpp-core3), am I correct?

Best,

Julien.

On Mon, Jun 5, 2017 at 9:50 AM, Andreas Tille  wrote:

> Hi Julien,
>
> while I made a mistake to upload libbpp-core to unstable rather than
> experimental as it was planed this has probably lead to spot a bug
> earlier.  The problem is that the soversion needs to be bumped due to
> the ABI change.
>
>$ objdump -p ./libbpp-core.so.2.0.4   | sed -n 's/^.*SONAME *//p'
>libbpp-core.so.2
>
> I think you should bump the SOVERSION to reflect that change.
>
> Kind regards
>
>  Andreas.
>
> On Mon, Jun 05, 2017 at 02:42:58AM +0300, Adrian Bunk wrote:
> > Package: libbpp-core2v5
> > Version: 2.3.0-1~exp1
> > Severity: serious
> > Control: affects -1 libbpp-seq9v5 src:libbpp-phyl
> >
> > 2.3.0-1~exp1 in unstable (sic) removes symbols without changing soname,
> > causing the following FTBFS in libbpp-phyl:
> >
> > https://tests.reproducible-builds.org/debian/rb-pkg/
> unstable/amd64/libbpp-phyl.html
> >
> > ...
> > [ 93%] Linking CXX executable test_bowker
> > cd /build/1st/libbpp-phyl-2.2.0/obj-x86_64-linux-gnu/test &&
> /usr/bin/cmake -E cmake_link_script CMakeFiles/test_bowker.dir/link.txt
> --verbose=1
> > /usr/bin/c++   -Wall -Wshadow -Weffc++ -Wconversion  -Wl,-z,relro
> CMakeFiles/test_bowker.dir/test_bowker.cpp.o  -o test_bowker -rdynamic
> -lbpp-seq -lbpp-core -L../src -lbpp-phyl
> > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so:
> undefined reference to `bpp::RandomTools::lnGamma(double)'
> > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so:
> undefined reference to `bpp::TextTools::startsWith(
> std::__cxx11::basic_string std::allocator > const&, std::__cxx11::basic_string std::char_traits, std::allocator > const&)'
> > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so:
> undefined reference to `bpp::ApplicationTools::
> parameterExists(std::__cxx11::basic_string std::allocator > const&, std::map std::char_traits, std::allocator >, 
> std::__cxx11::basic_string std::char_traits, std::allocator >,
> std::less std::allocator > >, 
> std::allocator std::char_traits, std::allocator > const,
> std::__cxx11::basic_string std::allocator > > > >&)'
> > /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so:
> undefined reference to 
> `bpp::ApplicationTools::getStringParameter(std::__cxx11::basic_string std::char_traits, std::allocator > const&,
> std::map std::allocator >, std::__cxx11::basic_string std::char_traits, std::allocator >,
> std::less std::allocator > >, 
> std::allocator std::char_traits, std::allocator > const,
> std::__cxx11::basic_string std::allocator > > > >&, std::__cxx11::basic_string std::char_traits, std::allocator > const&,
> std::__cxx11::basic_string std::allocator > const&, bool, int)'
> > collect2: error: ld returned 1 exit status
> > test/CMakeFiles/test_bowker.dir/build.make:99: recipe for target
> 'test/test_bowker' failed
> > make[3]: *** [test/test_bowker] Error 1
>
> --
> http://fam-tille.de
>



-- 
Julien Y. Dutheil, Ph-D
0 (+49) 4522 763 298

§ Max Planck Institute for Evolutionary Biology
Molecular Systems Evolution
Department of Evolutionary Genetics
Plön -- GERMANY

§ Institute of Evolutionary Sciences - Montpellier
University of Montpellier 2 -- FRANCE


Bug#864188: libbpp-core2v5: symbols removed without soname bump

2017-06-05 Thread Andreas Tille
Hi Julien,

while I made a mistake to upload libbpp-core to unstable rather than
experimental as it was planed this has probably lead to spot a bug
earlier.  The problem is that the soversion needs to be bumped due to
the ABI change.  

   $ objdump -p ./libbpp-core.so.2.0.4   | sed -n 's/^.*SONAME *//p'
   libbpp-core.so.2

I think you should bump the SOVERSION to reflect that change.

Kind regards

 Andreas.

On Mon, Jun 05, 2017 at 02:42:58AM +0300, Adrian Bunk wrote:
> Package: libbpp-core2v5
> Version: 2.3.0-1~exp1
> Severity: serious
> Control: affects -1 libbpp-seq9v5 src:libbpp-phyl
> 
> 2.3.0-1~exp1 in unstable (sic) removes symbols without changing soname,
> causing the following FTBFS in libbpp-phyl:
> 
> https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/libbpp-phyl.html
> 
> ...
> [ 93%] Linking CXX executable test_bowker
> cd /build/1st/libbpp-phyl-2.2.0/obj-x86_64-linux-gnu/test && /usr/bin/cmake 
> -E cmake_link_script CMakeFiles/test_bowker.dir/link.txt --verbose=1
> /usr/bin/c++   -Wall -Wshadow -Weffc++ -Wconversion  -Wl,-z,relro 
> CMakeFiles/test_bowker.dir/test_bowker.cpp.o  -o test_bowker -rdynamic 
> -lbpp-seq -lbpp-core -L../src -lbpp-phyl 
> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so: 
> undefined reference to `bpp::RandomTools::lnGamma(double)'
> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so: 
> undefined reference to 
> `bpp::TextTools::startsWith(std::__cxx11::basic_string std::char_traits, std::allocator > const&, 
> std::__cxx11::basic_string > const&)'
> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so: 
> undefined reference to 
> `bpp::ApplicationTools::parameterExists(std::__cxx11::basic_string std::char_traits, std::allocator > const&, 
> std::map std::allocator >, std::__cxx11::basic_string std::char_traits, std::allocator >, 
> std::less std::allocator > >, 
> std::allocator std::char_traits, std::allocator > const, 
> std::__cxx11::basic_string > > > >&)'
> /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so: 
> undefined reference to 
> `bpp::ApplicationTools::getStringParameter(std::__cxx11::basic_string std::char_traits, std::allocator > const&, 
> std::map std::allocator >, std::__cxx11::basic_string std::char_traits, std::allocator >, 
> std::less std::allocator > >, 
> std::allocator std::char_traits, std::allocator > const, 
> std::__cxx11::basic_string > > > >&, std::__cxx11::basic_string std::allocator > const&, std::__cxx11::basic_string std::char_traits, std::allocator > const&, bool, int)'
> collect2: error: ld returned 1 exit status
> test/CMakeFiles/test_bowker.dir/build.make:99: recipe for target 
> 'test/test_bowker' failed
> make[3]: *** [test/test_bowker] Error 1

-- 
http://fam-tille.de



Bug#864188: libbpp-core2v5: symbols removed without soname bump

2017-06-04 Thread Adrian Bunk
Package: libbpp-core2v5
Version: 2.3.0-1~exp1
Severity: serious
Control: affects -1 libbpp-seq9v5 src:libbpp-phyl

2.3.0-1~exp1 in unstable (sic) removes symbols without changing soname,
causing the following FTBFS in libbpp-phyl:

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/libbpp-phyl.html

...
[ 93%] Linking CXX executable test_bowker
cd /build/1st/libbpp-phyl-2.2.0/obj-x86_64-linux-gnu/test && /usr/bin/cmake -E 
cmake_link_script CMakeFiles/test_bowker.dir/link.txt --verbose=1
/usr/bin/c++   -Wall -Wshadow -Weffc++ -Wconversion  -Wl,-z,relro 
CMakeFiles/test_bowker.dir/test_bowker.cpp.o  -o test_bowker -rdynamic 
-lbpp-seq -lbpp-core -L../src -lbpp-phyl 
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so: 
undefined reference to `bpp::RandomTools::lnGamma(double)'
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so: 
undefined reference to 
`bpp::TextTools::startsWith(std::__cxx11::basic_string const&, 
std::__cxx11::basic_string 
const&)'
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so: 
undefined reference to 
`bpp::ApplicationTools::parameterExists(std::__cxx11::basic_string const&, 
std::map, std::__cxx11::basic_string, 
std::less >, 
std::allocator const, 
std::__cxx11::basic_string 
> > >&)'
/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/libbpp-seq.so: 
undefined reference to 
`bpp::ApplicationTools::getStringParameter(std::__cxx11::basic_string const&, 
std::map, std::__cxx11::basic_string, 
std::less >, 
std::allocator const, 
std::__cxx11::basic_string 
> > >&, std::__cxx11::basic_string const&, std::__cxx11::basic_string const&, bool, int)'
collect2: error: ld returned 1 exit status
test/CMakeFiles/test_bowker.dir/build.make:99: recipe for target 
'test/test_bowker' failed
make[3]: *** [test/test_bowker] Error 1