You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
HPX does not build with Boost 1.58.0 on OS X. It fails with the error message
/Users/eschnett/software/boost-1.58.0/include/boost/serialization/vector.hpp:216:18: error: comparison of integers of different signs: 'int' and 'base_type' (aka 'unsigned long') [-Werror,-Wsign-compare]
for(i = 0; i < count; ++i){
~ ^ ~~~~~
which is caused by this Boost routine:
template<class Archive, class Allocator>
inline void load(
Archive & ar,
std::vector<bool, Allocator> &t,
const unsigned int /* file_version */
){
// retrieve number of elements
collection_size_type count;
ar >> BOOST_SERIALIZATION_NVP(count);
t.resize(count);
int i;
for(i = 0; i < count; ++i){
bool b;
ar >> boost::serialization::make_nvp("item", b);
t[i] = b;
}
}
which compares int i with unsigned long count in the for loop. One wonders why the author uses int to iterate over a container in this day and age, in particular since the container's size type is readily available. I recommend switching to Cereal for serialization.
Can you disable -Werror for release builds of HPX? I agree this is very useful during development, but for a release this has too many false positives.
The text was updated successfully, but these errors were encountered:
HPX does not build with Boost 1.58.0 on OS X. It fails with the error message
/Users/eschnett/software/boost-1.58.0/include/boost/serialization/vector.hpp:216:18:
error: comparison of integers of different signs: 'int' and 'base_type'
(aka 'unsigned long') [-Werror,-Wsign-compare]
for(i = 0; i < count; ++i){
~ ^ ~~~~~
which is caused by this Boost routine:
template<class Archive, class Allocator>
inline void load(
Archive & ar,
std::vector<bool, Allocator> &t,
const unsigned int /* file_version */
){
// retrieve number of elements
collection_size_type count;
ar >> BOOST_SERIALIZATION_NVP(count);
t.resize(count);
int i;
for(i = 0; i < count; ++i){
bool b;
ar >> boost::serialization::make_nvp("item", b);
t[i] = b;
}
}
which compares int i with unsigned long count in the for loop. One
wonders why the author uses int to iterate over a container in this day and
age, in particular since the container's size type is readily available. I
recommend switching to Cereal for serialization.
Thanks for the report. This should be fixed on master as we removed
boost.serialization entirely.
Can you disable -Werror for release builds of HPX? I agree this is very
useful during development, but for a release this has too many false
positives.
Sounds like a good strategy. Eventually we want to make hpx itself
completely warning free for the next release. Disabling -Werror for
releases is a good idea in any case.
Our released versions were released before Boost 1.58 came out, so naturally we can't really support it. It will be supported with the next released version of HPX, though.
HPX does not build with Boost 1.58.0 on OS X. It fails with the error message
which is caused by this Boost routine:
which compares
int i
withunsigned long count
in the for loop. One wonders why the author usesint
to iterate over a container in this day and age, in particular since the container's size type is readily available. I recommend switching to Cereal for serialization.Can you disable
-Werror
for release builds of HPX? I agree this is very useful during development, but for a release this has too many false positives.The text was updated successfully, but these errors were encountered: