[1.45.0] Beta 1 available from SourceForge

Boost release1.45.0 beta 1 is now available from SourceForge. For those who downloaded release candidate 1, note that beta 1 was build from a slightly later release candidate. See http://sourceforge.net/projects/boost/files/ This release contains numerous enhancements and bug fixes for existing libraries. For details of what's in the release, see http://beta.boost.org/users/news/version_1_45_0. Note that the links to files on this web page are for the final release - use the SourceForge link above to get the beta files. Please download the beta, give it a try, and report any problems you encounter. There are still a few serious bugs outstanding, and we will be working on clearing those before the final release. Thanks, -- The Boost Release Team

On Nov 10, 2010, at 5:13 AM, Beman Dawes wrote:
Boost release1.45.0 beta 1 is now available from SourceForge. For those who downloaded release candidate 1, note that beta 1 was build from a slightly later release candidate.
See http://sourceforge.net/projects/boost/files/
This release contains numerous enhancements and bug fixes for existing libraries.
For details of what's in the release, see http://beta.boost.org/users/news/version_1_45_0. Note that the links to files on this web page are for the final release - use the SourceForge link above to get the beta files.
Please download the beta, give it a try, and report any problems you encounter.
Built without errors on Mac OS X 10.6.4 (gcc 4.2.1) -- Marshall

On Wed, Nov 10, 2010 at 5:43 PM, Matus Chochlik <chochlik@gmail.com> wrote:
[snip]
Please download the beta, give it a try, and report any problems you encounter.
Built without errors, with a few warnings on Ubuntu 10.04 LTS, with gcc 4.5.1
On Vista 32-bit: builds ok with msvc-9.0 (Visual Studio 2008) and builds with few errors in Boost.Thread with cygwin + gcc 4.5.1, although this may be due to some local misconfiguration. The output of './bjam' from all three runs can be found here: http://kifri.fri.uniza.sk/~chochlik/boost_1_45_0_beta_log/
[snip]

Dear all, here are a few experiences with the beta: Beman Dawes wrote: [...]
Please download the beta, give it a try, and report any problems you encounter.
Platform: ========= Kubuntu 10.10 64 bit, g++ 4.4.5 Compilation: ============ Runs mostly smoothely, albeit with many warnings of the type: [...] libs/program_options/src/parsers.cpp:233: instantiated from here ./boost/function/function_base.hpp:321: warning: dereferencing type-punned pointer will break strict-aliasing rules ./boost/function/function_base.hpp:325: warning: dereferencing type-punned pointer will break strict-aliasing rules [...] This is not a new situation and has been there with many prior versions. It happens in different components. Compiling a complex application =============================== (The Geneva library's trunk version, close to version 0.85, see http://launchpad.net/geneva ; depends on probably a dozen different boost libraries) In order to get it to compile I hat to make a single change: I had to add "#include <boost/serialization/nvp.hpp>" prior to the inclusion of the date_time libraries in a single file (out of some 65 headers, some of which also include date_time), or else I would get messages of the type /opt/boost145/include/boost/date_time/gregorian/greg_serialize.hpp: In function ‘void boost::serialization::save(Archive&, const boost::gregorian::date&, unsigned int)’: /opt/boost145/include/boost/date_time/gregorian/greg_serialize.hpp:58: error: there are no arguments to ‘make_nvp’ that depend on a template parameter, so a declaration of ‘make_nvp’ must be available I _do_ serialize date_time objects in my application. This is new with Boost 1.45 (compared with 1.43). Running the application ======================= When running the application in serial. multithreaded or networked mode (Geneva does distributed parametric optimization, but also allows multithreaded optimization and has a serial mode for debugging), I get the error: [...] 1000: 4.99999977648258e-05 End of optimization reached Done ... pure virtual method called terminate called without an active exception Aborted "Done" is printed at the end of main(), so there are only some singletons left to clean up, one of which stems from the Boost.Serialization library, AFAIK. Running the application in gdb yields: /********************************************************/ (gdb) up #1 0x00007ffff40726b0 in abort () at abort.c:92 92 abort.c: No such file or directory. in abort.c (gdb) up #2 0x00007ffff49126bd in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6 (gdb) up #3 0x00007ffff4910906 in ?? () from /usr/lib/libstdc++.so.6 (gdb) up #4 0x00007ffff4910933 in std::terminate() () from /usr/lib/libstdc++.so.6 (gdb) up #5 0x00007ffff491128f in __cxa_pure_virtual () from /usr/lib/libstdc++.so.6 (gdb) up #6 0x00007ffff4fc1f16 in boost::serialization::void_cast_detail::void_caster::operator<(boost::serialization::void_cast_detail::void_caster const&) const () from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #7 0x00007ffff4fc282d in boost::serialization::void_cast_detail::void_caster::recursive_unregister() const () from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #8 0x00007ffff4fc2f27 in boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut() () from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #9 0x00007ffff4fc289f in boost::serialization::void_cast_detail::void_caster::recursive_unregister() const () from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #10 0x00007ffff72ad64f in boost::serialization::void_cast_detail::void_caster_primitive<Gem::Geneva::GPersonalityTraits, Gem::Geneva::GObject>::~void_caster_primitive (this=0x7ffff7bb7e80, __in_chrg=<value optimized out>) at /opt/boost145/include/boost/serialization/void_cast.hpp:198 198 recursive_unregister(); (gdb) up #11 0x00007ffff72ad7be in boost::serialization::detail::singleton_wrapper<boost::serialization::void_cast_detail::void_caster_primitive<Gem::Geneva::GPersonalityTraits, Gem::Geneva::GObject> >::~singleton_wrapper ( this=0x7ffff7bb7e80, __in_chrg=<value optimized out>) at /opt/boost145/include/boost/serialization/singleton.hpp:111 111 m_is_destroyed = true; (gdb) up #12 0x00007ffff40748c0 in __cxa_finalize (d=0x7ffff7baa2d0) at cxa_finalize.c:56 56 cxa_finalize.c: No such file or directory. in cxa_finalize.c (gdb) up #13 0x00007ffff7016366 in __do_global_dtors_aux () from /home/rberlich/geneva-build/src/geneva/libgemfony-geneva.so.0.8.5rc0 (gdb) up #14 0x0000000000000000 in ?? () (gdb) up Initial frame selected; you cannot go up. /********************************************************/ Gem::Geneva::GPersonalityTraits is a purely virtual class, marked as such with the following code: "BOOST_SERIALIZATION_ASSUME_ABSTRACT(Gem::Geneva::GPersonalityTraits)" . GObject is the base class of all optimization-related classes. The exact same code compiles and runs fine with Boost 1.43, the last version I have been using excessively. I cannot really comment on Boost 1.44 , but would be happy to try if it helps. Note that the above problem does not seem to have any influence on the results of the program. The problems only appear at the very end of the execution, when various singletons get destroyed. Best Regards, Ruediger

Hi again, here is an update: I have now also tested the behaviour below ("pure virtual method called; terminate called without an active exception" -> related to Boost.Serialization) with Boost 1.44 and see the same problem. This does not happen with 1.43. Anyway, I thought it might be important to know that whatever causes this wasn't introduced with 1.45 but 1.44 (and of course I might be doing something wrong which only triggers now due to 1.44's changes in the serialization library). Thanks and Best Regards, Ruediger Ruediger Berlich wrote:
Dear all, here are a few experiences with the beta:
Beman Dawes wrote: [...]
Please download the beta, give it a try, and report any problems you encounter.
Platform: ========= Kubuntu 10.10 64 bit, g++ 4.4.5
Compilation: ============ Runs mostly smoothely, albeit with many warnings of the type:
[...] libs/program_options/src/parsers.cpp:233: instantiated from here ./boost/function/function_base.hpp:321: warning: dereferencing type-punned pointer will break strict-aliasing rules ./boost/function/function_base.hpp:325: warning: dereferencing type-punned pointer will break strict-aliasing rules [...]
This is not a new situation and has been there with many prior versions. It happens in different components.
Compiling a complex application =============================== (The Geneva library's trunk version, close to version 0.85, see http://launchpad.net/geneva ; depends on probably a dozen different boost libraries)
In order to get it to compile I hat to make a single change: I had to add "#include <boost/serialization/nvp.hpp>" prior to the inclusion of the date_time libraries in a single file (out of some 65 headers, some of which also include date_time), or else I would get messages of the type
/opt/boost145/include/boost/date_time/gregorian/greg_serialize.hpp: In function ‘void boost::serialization::save(Archive&, const boost::gregorian::date&, unsigned int)’: /opt/boost145/include/boost/date_time/gregorian/greg_serialize.hpp:58: error: there are no arguments to ‘make_nvp’ that depend on a template parameter, so a declaration of ‘make_nvp’ must be available
I _do_ serialize date_time objects in my application. This is new with Boost 1.45 (compared with 1.43).
Running the application =======================
When running the application in serial. multithreaded or networked mode (Geneva does distributed parametric optimization, but also allows multithreaded optimization and has a serial mode for debugging), I get the error:
[...] 1000: 4.99999977648258e-05 End of optimization reached Done ... pure virtual method called terminate called without an active exception Aborted
"Done" is printed at the end of main(), so there are only some singletons left to clean up, one of which stems from the Boost.Serialization library, AFAIK.
Running the application in gdb yields:
/********************************************************/ (gdb) up #1 0x00007ffff40726b0 in abort () at abort.c:92 92 abort.c: No such file or directory. in abort.c (gdb) up #2 0x00007ffff49126bd in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6 (gdb) up #3 0x00007ffff4910906 in ?? () from /usr/lib/libstdc++.so.6 (gdb) up #4 0x00007ffff4910933 in std::terminate() () from /usr/lib/libstdc++.so.6 (gdb) up #5 0x00007ffff491128f in __cxa_pure_virtual () from #/usr/lib/libstdc++.so.6 (gdb) up #6 0x00007ffff4fc1f16 in
boost::serialization::void_cast_detail::void_caster::operator<(boost::serialization::void_cast_detail::void_caster
const&) const () from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #7 0x00007ffff4fc282d in
boost::serialization::void_cast_detail::void_caster::recursive_unregister()
const () from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #8 0x00007ffff4fc2f27 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
() from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #9 0x00007ffff4fc289f in
boost::serialization::void_cast_detail::void_caster::recursive_unregister()
const () from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #10 0x00007ffff72ad64f in
boost::serialization::void_cast_detail::void_caster_primitive<Gem::Geneva::GPersonalityTraits,
Gem::Geneva::GObject>::~void_caster_primitive (this=0x7ffff7bb7e80, __in_chrg=<value optimized out>) at /opt/boost145/include/boost/serialization/void_cast.hpp:198 198 recursive_unregister(); (gdb) up #11 0x00007ffff72ad7be in
boost::serialization::detail::singleton_wrapper<boost::serialization::void_cast_detail::void_caster_primitive<Gem::Geneva::GPersonalityTraits,
Gem::Geneva::GObject> >::~singleton_wrapper ( this=0x7ffff7bb7e80, __in_chrg=<value optimized out>) at /opt/boost145/include/boost/serialization/singleton.hpp:111 111 m_is_destroyed = true; (gdb) up #12 0x00007ffff40748c0 in __cxa_finalize (d=0x7ffff7baa2d0) at cxa_finalize.c:56 56 cxa_finalize.c: No such file or directory. in cxa_finalize.c (gdb) up #13 0x00007ffff7016366 in __do_global_dtors_aux () from /home/rberlich/geneva-build/src/geneva/libgemfony-geneva.so.0.8.5rc0 (gdb) up #14 0x0000000000000000 in ?? () (gdb) up Initial frame selected; you cannot go up. /********************************************************/
Gem::Geneva::GPersonalityTraits is a purely virtual class, marked as such with the following code: "BOOST_SERIALIZATION_ASSUME_ABSTRACT(Gem::Geneva::GPersonalityTraits)" . GObject is the base class of all optimization-related classes.
The exact same code compiles and runs fine with Boost 1.43, the last version I have been using excessively. I cannot really comment on Boost 1.44 , but would be happy to try if it helps.
Note that the above problem does not seem to have any influence on the results of the program. The problems only appear at the very end of the execution, when various singletons get destroyed.
Best Regards, Ruediger
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Kind Regards / Mit freundlichen Gruessen, Ruediger Berlich ------------------------------------------------------------------------ Dr. Ruediger Berlich, Dipl.-Phys./MBA | Web: http://ruediger.berlich.com Karlsruhe Institute of Technology | E-mail: ruediger.berlich@kit.edu Steinbuch Centre for Computing | Phone: +49 (0)7247 825678 Hermann-von-Helmholtz-Platz 1 | Fax: +49 (0)7247 824972 D-76344 Eggenstein-Leopoldshafen | Mobile: +49 (0)178 5567842 ------------------------------------------------------------------------ KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association

I don't know whether this is a serialization issue or a thread issue. Robert, Anthony, can you two weigh in? Eric On 11/11/2010 6:32 AM, Ruediger Berlich wrote:
Hi again,
here is an update: I have now also tested the behaviour below ("pure virtual method called; terminate called without an active exception" -> related to Boost.Serialization) with Boost 1.44 and see the same problem. This does not happen with 1.43.
Anyway, I thought it might be important to know that whatever causes this wasn't introduced with 1.45 but 1.44 (and of course I might be doing something wrong which only triggers now due to 1.44's changes in the serialization library).
Thanks and Best Regards, Ruediger
Ruediger Berlich wrote:
Dear all, here are a few experiences with the beta:
Beman Dawes wrote: [...]
Please download the beta, give it a try, and report any problems you encounter.
Platform: ========= Kubuntu 10.10 64 bit, g++ 4.4.5
Compilation: ============ Runs mostly smoothely, albeit with many warnings of the type:
[...] libs/program_options/src/parsers.cpp:233: instantiated from here ./boost/function/function_base.hpp:321: warning: dereferencing type-punned pointer will break strict-aliasing rules ./boost/function/function_base.hpp:325: warning: dereferencing type-punned pointer will break strict-aliasing rules [...]
This is not a new situation and has been there with many prior versions. It happens in different components.
Compiling a complex application =============================== (The Geneva library's trunk version, close to version 0.85, see http://launchpad.net/geneva ; depends on probably a dozen different boost libraries)
In order to get it to compile I hat to make a single change: I had to add "#include <boost/serialization/nvp.hpp>" prior to the inclusion of the date_time libraries in a single file (out of some 65 headers, some of which also include date_time), or else I would get messages of the type
/opt/boost145/include/boost/date_time/gregorian/greg_serialize.hpp: In function ‘void boost::serialization::save(Archive&, const boost::gregorian::date&, unsigned int)’: /opt/boost145/include/boost/date_time/gregorian/greg_serialize.hpp:58: error: there are no arguments to ‘make_nvp’ that depend on a template parameter, so a declaration of ‘make_nvp’ must be available
I _do_ serialize date_time objects in my application. This is new with Boost 1.45 (compared with 1.43).
Running the application =======================
When running the application in serial. multithreaded or networked mode (Geneva does distributed parametric optimization, but also allows multithreaded optimization and has a serial mode for debugging), I get the error:
[...] 1000: 4.99999977648258e-05 End of optimization reached Done ... pure virtual method called terminate called without an active exception Aborted
"Done" is printed at the end of main(), so there are only some singletons left to clean up, one of which stems from the Boost.Serialization library, AFAIK.
Running the application in gdb yields:
/********************************************************/ (gdb) up #1 0x00007ffff40726b0 in abort () at abort.c:92 92 abort.c: No such file or directory. in abort.c (gdb) up #2 0x00007ffff49126bd in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6 (gdb) up #3 0x00007ffff4910906 in ?? () from /usr/lib/libstdc++.so.6 (gdb) up #4 0x00007ffff4910933 in std::terminate() () from /usr/lib/libstdc++.so.6 (gdb) up #5 0x00007ffff491128f in __cxa_pure_virtual () from #/usr/lib/libstdc++.so.6 (gdb) up #6 0x00007ffff4fc1f16 in
boost::serialization::void_cast_detail::void_caster::operator<(boost::serialization::void_cast_detail::void_caster
const&) const () from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #7 0x00007ffff4fc282d in
boost::serialization::void_cast_detail::void_caster::recursive_unregister()
const () from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #8 0x00007ffff4fc2f27 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
() from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #9 0x00007ffff4fc289f in
boost::serialization::void_cast_detail::void_caster::recursive_unregister()
const () from /opt/boost145/lib/libboost_serialization.so.1.45.0 (gdb) up #10 0x00007ffff72ad64f in
boost::serialization::void_cast_detail::void_caster_primitive<Gem::Geneva::GPersonalityTraits,
Gem::Geneva::GObject>::~void_caster_primitive (this=0x7ffff7bb7e80, __in_chrg=<value optimized out>) at /opt/boost145/include/boost/serialization/void_cast.hpp:198 198 recursive_unregister(); (gdb) up #11 0x00007ffff72ad7be in
boost::serialization::detail::singleton_wrapper<boost::serialization::void_cast_detail::void_caster_primitive<Gem::Geneva::GPersonalityTraits,
Gem::Geneva::GObject> >::~singleton_wrapper ( this=0x7ffff7bb7e80, __in_chrg=<value optimized out>) at /opt/boost145/include/boost/serialization/singleton.hpp:111 111 m_is_destroyed = true; (gdb) up #12 0x00007ffff40748c0 in __cxa_finalize (d=0x7ffff7baa2d0) at cxa_finalize.c:56 56 cxa_finalize.c: No such file or directory. in cxa_finalize.c (gdb) up #13 0x00007ffff7016366 in __do_global_dtors_aux () from /home/rberlich/geneva-build/src/geneva/libgemfony-geneva.so.0.8.5rc0 (gdb) up #14 0x0000000000000000 in ?? () (gdb) up Initial frame selected; you cannot go up. /********************************************************/
Gem::Geneva::GPersonalityTraits is a purely virtual class, marked as such with the following code: "BOOST_SERIALIZATION_ASSUME_ABSTRACT(Gem::Geneva::GPersonalityTraits)" . GObject is the base class of all optimization-related classes.
The exact same code compiles and runs fine with Boost 1.43, the last version I have been using excessively. I cannot really comment on Boost 1.44 , but would be happy to try if it helps.
Note that the above problem does not seem to have any influence on the results of the program. The problems only appear at the very end of the execution, when various singletons get destroyed.
Best Regards, Ruediger
-- Eric Niebler BoostPro Computing http://www.boostpro.com

On 11/10/2010 2:46 PM, Ruediger Berlich wrote:
In order to get it to compile I hat to make a single change: I had to add "#include <boost/serialization/nvp.hpp>" prior to the inclusion of the date_time libraries in a single file
This seems pretty cut-n-dry. I hope nobody minds, but I went ahead and added the missing #include to gregorian/greg_serialize.hpp and posix_time/time_serialize.hpp on both trunk and release. -- Eric Niebler BoostPro Computing http://www.boostpro.com

On 10 November 2010 13:13, Beman Dawes <bdawes@acm.org> wrote:
For details of what's in the release, see http://beta.boost.org/users/news/version_1_45_0. Note that the links to files on this web page are for the final release - use the SourceForge link above to get the beta files.
This time I've uploaded the beta docs, with a redirect to fix the links, so they should work for the moment. I'm not sure if I'll do that for future releases as it's a bit of a hassle and the beta site isn't trustworthy enough for normal use. Also, I'll have to break them when I prepare for the full release. Daniel

On 10/11/2010 13:13, Beman Dawes wrote:
Boost release1.45.0 beta 1 is now available from SourceForge. For those who downloaded release candidate 1, note that beta 1 was build from a slightly later release candidate.
I haven't build this one completely yet, but the RC1 did build fine with VC10. However, one important thing that I have noted is r66482 which is not present in the beta 1 broke one of the test case on Regex so that will need to be fixed or reverted before you release the latest Release as 1.45. KTC
participants (7)
-
Beman Dawes
-
Daniel James
-
Eric Niebler
-
KTC
-
Marshall Clow
-
Matus Chochlik
-
Ruediger Berlich