Boost logo

Boost :

Subject: Re: [boost] [chrono] Compatibility issues with 1.44
From: Roland Bock (rbock_at_[hidden])
Date: 2010-08-09 01:10:26


On 08/08/2010 01:22 PM, Roland Bock wrote:
> Vicente Botet Escriba wrote:
>>
>> Roland Bock-2 wrote:
>>> Roland Bock wrote:
>>>> On 08/03/2010 01:17 PM, Roland Bock wrote:
>>>>> Hi Vicente,
>>>>>
>>>>> do you have an estimate for an update of Boost.Chrono which is
>>>>> compatible with the upcoming 1.44 version of boost?
>>>>>
>>>>> I just tried the daily snapshot provided by Beman with the current
>>>>> Chrono zip:
>>>>>
>>>>> * Compilation of Boost.Chrono fails
>>>>> * Boost.Chrono zip contains changes for parts of Boost.Thread
>>>>> Are these still needed/compatible?
>>>>>
>>>>> Also (not related to 1.44, but also 1.41, at least), there are many
>>>>> warnings issued by the compiler. It seems to me that they are somehow
>>>>> related to the constructors of duration, but I haven't been able to
>>>>> figure them out. These also occur when compiling client code.
>>>>>
>>>>> A log file is attached. Generated on Ubuntu-10.4, 64bit, gcc-4.4.3
>>>>>
>>>>>
>>>>> Regards,
>>>>>
>>>>> Roland
>>>> I was able to get rid of the errors and the warnings (see attached
>>>> patches). In my eyes, the warnings show a compiler error, but
>>>> anyway, they can be removed by using boost::mpl.
>>>>
>>>> With the patches applied, Chrono now compiles without warnings on my
>>>> system.
>>>>
>>>> I am still not sure whether or not I can safely use the files from
>>>> the chrono.zip which belong to other libraries, especially
>>>> Boost.Thread.
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Roland
>>> Threads: The changes to Boost.Thread lead to a deadlock in a
>>> FiFoMutex class of mine does not happen with original 1.44.
>>>
>>> There are some more of the
>>>
>>> system::system_category ==> system::system_category()
>>>
>>>
>>> changes required, e.g. suspendible_clock.hpp
>>>
>>> Regards,
>>>
>>> Roland
>>>
>>>
>>
>> Hi,
>>
>> I guess you are using the last upload on the Vault. The last snapshot
>> on the
>> sandbox includes already all these changes.
>>
>> 07/11/10: 11:34 Changeset [63878] by viboes * Take care of
>> Boost.System break on version 1.44 * Fix "warning C4700: …
>> I have made it compatible with older versions using the version to get
>> rid
>> of the Boost.System interface break.
>>
>>
>> #if (BOOST_VERSION / 100 % 1000) < 44
>> system::system_error( errno, system::system_category,
>> "chrono::system_clock" ));
>> #else
>> system::system_error( errno, system::system_category(),
>> "chrono::system_clock" ));
>> #endif
>> I will upload the last snapshot on the vault next 10th.
>>
>> Hopping this helps.
>> Vicente
> Cool, I'll give it a try on Monday and let you :-)

Just tested with the version from the sandbox:

* no compile errors
* the warnings are still there (see patch from 4th of August)
* Admittedly, I am a bit worried by the amount of changes that chrono
introduces to Boost.Thread.

Regards,

Roland


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk