libstdc++ allocator change

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

libstdc++ allocator change

Matthias Klose-6
We did start today the libstdc++ allocator change. That means, that some
parts of the archive won't be installable over the next days (main), or
weeks (universe).


libstdc++6 is currently configured to use the mt allocator based on
discussions in April 2004 with upstream libstdc++ developers. This
configuration turned out to be a mistake (memory leaks, and the
allocator is still buggy), other distributions did change back to the
new allocator (the default one) in mid-2005 (FC in July 2005). The
change does not have an effect on symbols exported from libstdc++, but
it does have an effect on symbols exported by libraries which use
containers (using an allocator) from the template headers.

The proposal by upstream is to configure libstdc++ to use the new
allocator again (the default one).

The change will remove the *mt_alloc* symbols defined in some
libraries, just by recompiling with a new compiler package. Therefore
the package names of these libraries have to be changed again. The list
of libraries is attached below.

What has to be done:

  * Identify all library packages depending on libstdc++ and
    exporting *mt_alloc* symbols. See below.

  * Provide gcc-3.4 and gcc-4.0 packages configured using the default
    (new) allocator. These packages are in the dapper archives:
       gcc-4.0 (4.0.2-4ubuntu3)
       gcc-3.4 (3.4.4-10ubuntu1)
    Our build infrastructure is updated to the new packages.

  * Rename and rebuild the libraries listed below. The new suffix for
    these packages should be in any case "c2a" (instead of "c2"). No
    new suffix is needed when the soname changes in a new upstream
    upload. The libfoo1c2a packages need to conflict/replace the old
    libfoo1c2 package (and keep existing conflict/replaces). You can
    find more details in

  * Once dependencies are fulfilled for all architectures, we will
    rebuild packages depending on the old library names. In case we
    miss a package, please file a bug report (bugzilla for packages in
    main, malone for packages in universe).

The list of library packages to be touched follows (DEBIAN means that
the change was done in the Debian archives and requires a sync or merge).


main apt apt mvo
main apt apt-utils mvo

main libglademm2.4 libglademm-2.4-1c2 dholbach
main glibmm2.4 libglibmm-2.4-1c2 dholbach
main gnome-vfsmm2.6 libgnome-vfsmm-2.6-1c2 dholbach
main libgnomecanvasmm2.6 libgnomecanvasmm-2.6-1c2 dholbach
main gnome-cups-manager libgnomecupsui1.0-1 dholbach
main libgnomeuimm2.6 libgnomeuimm-2.6-1c2 dholbach
main gtkmm2.4 libgtkmm-2.4-1c2 dholbach

main kdelibs kdelibs4c2 Riddell
main arts libarts1c2 Riddell

main aiksaurus libaiksaurus0 doko
main aiksaurus libaiksaurusgtk0 doko
main boost libboost-python1.33.0 DONE
main cppunit libcppunit-1.10-2c2 doko
main enchant libenchant1c2 doko
main gmetadom libgdome2-cpp-smart0c2 DONE
main gtkmathview libgtkmathview0c2 DONE
main id3lib3.8.3 libid3-3.8.3c2 DONE
main imagemagick libmagick++9 doko
main libmusicbrainz-2.0 libmusicbrainz2c2 doko
main libmusicbrainz-2.1 libmusicbrainz4c2 doko
main openexr libopenexr2c2 doko
main openh323 libopenh323-1.15.3c2 doko
main pcre3 libpcre3 doko
main pwlib libpt-1.8.3c2 doko
main libsigc++-2.0 libsigc++-2.0-0c2 doko
main taglib libtag1c2 doko
main libtunepimp libtunepimp2c2 doko
main libwpd libwpd8c2 DONE

universe anjuta anjuta
universe aqsis aqsis-libs
universe beast beast
universe digikam digikam
universe ivtools ivtools-unidraw
universe plptools klipsi
universe labplot labplot
universe ace libace-qtreactor5.4.7
universe adplug libadplug0c2 DONE
universe alps-light1 libalps-light1
universe alps-light1 libalps-mpi1
universe alps-light1 libalps-pvm1
universe alps-light1 libalps-sgl1
universe libaqbanking libaqbanking0c2
universe libaqbanking libaqhbci8
universe arkrpg libarkrpgc2
universe libassa libassa0
universe atlas-cpp libatlas-cpp-0.6-0
universe bakery2.3 libbakery-2.3-15
universe libbonobouimm1.3 libbonobouimm1.3-7c2
universe cal3d libcal3d10c2
universe libcapsinetwork libcapsinetwork0c2
universe libccrtp libccrtp1-1.3c2 DEBIAN
universe cegui-mk2 libcegui-mk2-0
universe chasen libchasen0c2
universe clanlib libclan2c2-gl
universe clanlib libclan2c2-gui
universe clanlib libclan2c2-jpeg
universe clanlib libclan2c2-lua
universe clanlib libclan2c2-mikmod
universe clanlib libclan2c2-network
universe clanlib libclan2c2-png
universe clanlib libclan2c2-sound
universe clanlib libclan2c2-ttf
universe clanlib libclanlib2c2
universe libcommoncpp2 libcommoncpp2-1.3c2 DEBIAN
universe libcorelinux libcorelinuxc2
universe libcoyotl libcoyotl2c2 DEBIAN
universe cppopt libcppopt0c2
universe libcrypto++ libcrypto++5.2c2 DONE
universe opencv libcvaux0.9-0c2
universe dar libdar2c2
universe dirac libdirac0
universe eris liberis-1.2c2
universe exiv2 libexiv2
universe libextractor libextractor1c2 DONE
universe libfwbuilder libfwbuilder6c2
universe gnome-chemistry-utils libgchemutils0c2
universe gdal libgdal1c2
universe gdome2-xslt libgdome2-xslt0c2
universe gengameng libgengameng4c2
universe geos libgeos2c2 DEBIAN
universe gfccore libgfccore-2.0-0c2
universe libghemical libghemical0
universe libgig libgig3 DONE
universe gnuift libgnuift0c2
universe gnuradio-core libgnuradio-core0
universe gsmlib libgsmme1 DEBIAN
universe gtkmm libgtkmm1.2-0c2
universe gtkmm2.0 libgtkmm2.0-1c2
universe ipe libipe1c2
universe jabberoo libjabberoo0c2
universe libktoblzcheck libktoblzcheck1c2 DONE
universe log4cpp liblog4cpp1
universe log4cxx liblog4cxx9
universe macrosystem libmacrosystem0
universe libmath++ libmath++0c2
universe mecab libmecab0c2
universe mercator libmercator-0.2-4
universe gnuift libmrml1c2
universe net6 libnet6-1.1-0
universe libnzb libnzb0 DONE
universe openc++ libocc0c2 DEBIAN
universe ogre libogre5
universe omnievents libomnieventsc2
universe openalpp-cvs libopenalpp-cvsc2
universe openbabel libopenbabel0c2 DEBIAN
universe openvrml libopenvrml4c2
universe orbit2cpp liborbit2cpp9c2
universe osgal-cvs libosgal-cvs
universe osgcal libosgcalc2
universe libparagui1.0 libparagui1.0c2
universe libpqxx libpqxx-2.5.5c2 DEBIAN
universe libprinterconf libprinterconf0c2
universe pstoedit libpstoedit0c2
universe libqalculate libqalculate0
universe libaqbanking libqbanking1
universe cppunit libqttestrunner1c2
universe quantlib libquantlib-0.3.9c2
universe regexx libregexx1
universe sidplay-libs libresid-builder0c2
universe rlog librlog1c2
universe mpqc libsc6c2
universe scim libscim8
universe sigcperl libsigcperl1c2
universe libsigcx libsigcx-0.6-2c2
universe libsigcx libsigcx-gtk-0.6-1c2
universe snmpkit libsnmpkit2
universe sp-gxmlcpp libsp-gxmlcpp1c2
universe mysql++ libsqlplus1c2
universe sqlxx libsqlxx2.3
universe stk libstk0c2
universe strutilsxx libstrutilsxx0.7
universe rapidsvn libsvncpp0c2
universe sword libsword5
universe taglib libtagc0
universe ace libtao-qtresource1.4.7
universe ace libtao1.4.7
universe libterralib libterralib1
universe libtorrent libtorrent5
universe tse3 libtse3-0.3.1
universe tulip libtulip-2.0c2
universe tulip libtulip-ogl-2.0c2
universe tulip libtulip-qt-2.0c2
universe ubit libubit1c2
universe varconf libvarconf-1.0-4
universe verbiste libverbiste0
universe vips libvips10c2 DEBIAN
universe vtk libvtk4c2
universe wfmath libwfmath-0.3c2
universe wfnetobjs libwfnetobjs0c2
universe wftk libwftk-0.7c2
universe xalan libxalan18c2
universe xclass libxclass0c2
universe libxml++ libxml++1.0c2
universe libxml++2.6 libxml++2.6c2
universe zipios++ libzipios++0
universe lineakd lineakd DONE
universe noteedit noteedit
universe paintlib paintlib2c2 DEBIAN
universe plptools plptools
universe vtk python-vtk
universe qgis qgis
universe rosegarden4 rosegarden4
universe sim sim
universe tqsllib tqsllib1
multiverse libcwd libcwd0c2
multiverse mjpegtools libmjpegtools0
multiverse mythtv libmyth-0.18.1

ubuntu-devel-announce mailing list
[hidden email]