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 <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-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-packag...@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