Opened 9 years ago

Closed 9 years ago

#762 closed request (fixed)

<boost/exception_ptr.hpp> in boost 1.41 problematic

Reported by: Peter Owned by: Peter
Priority: major Milestone: yat 0.11
Component: build Version: 0.10.1
Keywords: Cc:

Description

In file included from /usr/include/boost/thread/future.hpp:12,
                 from /usr/include/boost/thread.hpp:24,
                 from ../yat-src/yat/random/random.h:30,
                 from ../yat-src/yat/classifier/BootstrapSampler.cc:27:
/usr/include/boost/exception_ptr.hpp:43: error: looser throw specifier for 'virtual boost::exception_ptr::~exception_ptr()'
/usr/include/boost/exception/detail/exception_ptr_base.hpp:26: error:   overriding 'virtual boost::exception_detail::exception_ptr_base::~exception_ptr_base() throw ()'

The problem is better explained here.

http://boost.2283326.n4.nabble.com/Compile-error-with-boost-1-41-td2574048.html

Based on that thread it seems the problem is limited to 1.41. Annoyingly that is the version I'm stuck with both on my desktop and my cluster. Interestingly, the the problem only occurs on the cluster and not on my local desktop. Only difference is AFAIK is that desktop has slightly older compiler: gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4) whereas on the cluster has gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3).

Upgrading boost (or even worse gcc) is something I would like to avoid, so better if there could be a workaround in yat. It is trivial to write a compilation test and the thread above suggests a patch. The solution I've done elsewhere is to include a patch version of the boost header and include that first if the problem is present on current system. Cannot the carbon-copy the solution directly though as the problem is exposed to some of yat's header files and therefore the solution need to propagate smoothly to end users; and most importantly not contaminate system with perfectly working Boost.

Attachments (1)

exception_ptr_h.patch (385 bytes) - added by Peter 9 years ago.
boost header patch

Download all attachments as: .zip

Change History (5)

Changed 9 years ago by Peter

Attachment: exception_ptr_h.patch added

boost header patch

comment:1 Changed 9 years ago by Peter

Summary: <boost/thread.hpp> in boost 1.41 problematic<boost/exception_ptr.hpp> in boost 1.41 problematic

comment:2 Changed 9 years ago by Peter

Milestone: yat 0.x+yat 0.11
Owner: changed from Jari Häkkinen to Peter
Status: newassigned
Type: defectrequest

comment:3 Changed 9 years ago by Peter

(In [3044]) unpatched boost header file. refs #762

comment:4 Changed 9 years ago by Peter

Resolution: fixed
Status: assignedclosed

(In [3045]) fixes #762. workaround for broken boost header (in v1.41)

Note: See TracTickets for help on using tickets.