Need help from someone with boost fu + RELENG_6

Doug Barton dougb at FreeBSD.org
Sat Jan 23 22:18:54 UTC 2010


On 01/18/10 17:11, Chuck Swiger wrote:
> Hi, Doug--
> 
> On Jan 18, 2010, at 1:17 PM, Doug Barton wrote:
>> However I apparently inherited some build problems on 6-stable that I
>> don't understand, and since I don't have a 6-stable system available I
>> cannot test fixes for. The problems appear to be boost-related, both
>> more or less look like this:
>>
>> In file included from /usr/local/include/boost/thread/future.hpp:12,
>>                 from /usr/local/include/boost/thread.hpp:24,
>>                 from ../include/libtorrent/storage.hpp:45,
>>                 from ../include/libtorrent/peer_connection.hpp:63,
>>                 from peer_connection.cpp:41:
>> /usr/local/include/boost/exception_ptr.hpp:43: error: looser throw
>> specifier for `virtual boost::exception_ptr::~exception_ptr()'
>> /usr/local/include/boost/exception/detail/exception_ptr_base.hpp:27:
>> error:   overriding `virtual
>> boost::exception_detail::exception_ptr_base::~exception_ptr_base() throw ()'
> [ ... ]
> 
> Whether this constitutes a legitimate problem or something that the compiler should figure out seems to be arguable-- evidently this sort of error is highly dependent upon the compiler version.  The following changes seems to allow net-p2p/rblibtorrent to build successfully under 6-STABLE:
> 
> --- /usr/local/include/boost/exception/detail/exception_ptr_base.hpp~	2010-01-18 18:20:52.000000000 -0500
> +++ /usr/local/include/boost/exception/detail/exception_ptr_base.hpp	2010-01-18 19:03:46.000000000 -0500
> @@ -23,7 +23,7 @@
>                          protected:
>  
>                          virtual
> -                        ~exception_ptr_base() throw()
> +                        ~exception_ptr_base()
>                              {
>                              }
>                          };
> 
> --- libtorrent-0.13/src/storage.cpp~	2010-01-18 17:11:00.000000000 -0500
> +++ libtorrent-0.13/src/storage.cpp	2010-01-18 19:19:05.000000000 -0500
> @@ -378,7 +378,7 @@
>  
>  		size_type read_impl(char* buf, int slot, int offset, int size, bool fill_zero);
>  
> -		~storage()
> +		~storage() throw ()
>  		{ m_files.release(this); }
>  
>  		boost::intrusive_ptr<torrent_info const> m_info;
> 
> Eww.  It's entirely possible that adding a USE_GCC=4.2+ line to Boost or these ports might provide a cleaner solution.  Or consult someone who knows C++ better than I...
> 
> Regards,

I appreciate the response. Is it possible for me to make just the change
you suggested to the libtorrent sources and have it work, or does this
require that boost libs be changed too?


Doug

-- 

	Improve the effectiveness of your Internet presence with
	a domain name makeover!    http://SupersetSolutions.com/

	Computers are useless. They can only give you answers.
			-- Pablo Picasso



More information about the freebsd-ports mailing list