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

Julien Yann Dutheil dutheil at evolbio.mpg.de
Tue Jun 6 19:43:22 UTC 2017


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.ml at 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* <bunk at debian.org <mailto:bunk at 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 <dutheil at evolbio.mpg.de <mailto:
> dutheil at evolbio.mpg.de>>
> > Cc: Andreas Tille <tille at debian.org <mailto:tille at debian.org>>,
> 864188 at bugs.debian.org <mailto:864188 at bugs.debian.org>, GINDRAUD FRANCOIS
> <francois.gindraud at univ-lyon1.fr <mailto:francois.gindraud at 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 <tille at debian.org
> <mailto:tille at 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-linux-gnu/
> libbpp-seq.so:
> >> > undefined reference to `bpp::TextTools::startsWith(
> >> > std::__cxx11::basic_string<char, std::char_traits<char>,
> >> > std::allocator<char> > const&, std::__cxx11::basic_string<char,
> >> > std::char_traits<char>, std::allocator<char> > 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<char>,
> >> > std::allocator<char> > const&, std::map<std::__cxx11::basic_
> string<char,
> >> > std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char,
> >> > std::char_traits<char>, std::allocator<char> >,
> >> > std::less<std::__cxx11::basic_string<char, std::char_traits<char>,
> >> > std::allocator<char> > >, std::allocator<std::pair<std::
> __cxx11::basic_string<char,
> >> > std::char_traits<char>, std::allocator<char> > const,
> >> > std::__cxx11::basic_string<char, std::char_traits<char>,
> >> > std::allocator<char> > > > >&)'
> >> > > /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<char>, std::allocator<char> > const&,
> >> > std::map<std::__cxx11::basic_string<char, std::char_traits<char>,
> >> > std::allocator<char> >, std::__cxx11::basic_string<char,
> >> > std::char_traits<char>, std::allocator<char> >,
> >> > std::less<std::__cxx11::basic_string<char, std::char_traits<char>,
> >> > std::allocator<char> > >, std::allocator<std::pair<std::
> __cxx11::basic_string<char,
> >> > std::char_traits<char>, std::allocator<char> > const,
> >> > std::__cxx11::basic_string<char, std::char_traits<char>,
> >> > std::allocator<char> > > > >&, std::__cxx11::basic_string<char,
> >> > std::char_traits<char>, std::allocator<char> > const&,
> >> > std::__cxx11::basic_string<char, std::char_traits<char>,
> >> > std::allocator<char> > 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 <tel:%28%2B49%29%204522%20763%20298>
> >>
> >> § 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
> >
> >
> >
> >
> > --
> > 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
> >
> >
> > _______________________________________________
> > Debian-med-packaging mailing list
> > Debian-med-packaging at lists.alioth.debian.org
> > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/
> debian-med-packaging
> >
>
>


-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/debian-med-packaging/attachments/20170606/7597845e/attachment-0002.html>


More information about the Debian-med-packaging mailing list