Boost logo

Boost :

Subject: Re: [boost] [chrono] Compatibility issues with 1.44
From: Roland Bock (rbock_at_[hidden])
Date: 2010-08-08 11:04:17


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 :-)
Being a little ahead of schedule, I looked into the sandbox:

Please take a look at the patch concerning the warnings (2010-08-04). I
haven't actually tried yet, but I'm pretty sure that they will still occur.

Regards,

Roland


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