Hello,
 
Windows 10
gcc version 5.3.0
 
My program compiles OK with Boost_1_53_0.
I get a compile failure (3 errors) when including Boost_1_64_0.
 
\boost\boost_1_64_0\boost\numeric\ublas\storage.hpp:299: error: 'make_array' is not a member of 'boost::serialization'
             ar & serialization::make_array(data_, s);
                  ^
    private:
        friend class boost::serialization::access;
 
        // Serialization
        template<class Archive>
        void serialize(Archive & ar, const unsigned int /*version*/)
        {
            serialization::collection_size_type s(size_);
            ar & serialization::make_nvp("size",s);
            if ( Archive::is_loading::value ) {
                resize(s);
            }
line 299    ar & serialization::make_array(data_, s);
        }
       
       
\boost\boost_1_64_0\boost\numeric\ublas\storage.hpp:494: error: 'make_array' is not a member of 'boost::serialization'
             ar & serialization::make_array(data_, s);
                  ^
                 
    private:
        // Serialization
        friend class boost::serialization::access;
 
        template<class Archive>
        void serialize(Archive & ar, const unsigned int /*version*/)
        {
            serialization::collection_size_type s(size_);
            ar & serialization::make_nvp("size", s);
            if ( Archive::is_loading::value ) {
                if (s > N) bad_size("too large size in bounded_array::load()\n").raise();
                resize(s);
            }
line 494    ar & serialization::make_array(data_, s);
        }
 
 
\boost\boost_1_64_0\boost\numeric\ublas\matrix.hpp:5977: error: 'make_array' is not a member of 'boost::serialization'
             ar & serialization::make_array(data_, N);
                  ^
 
        void serialize(Archive & ar, const unsigned int /* file_version */) {
       
            // we need to copy to a collection_size_type to get a portable
            // and efficient serialization
            serialization::collection_size_type s1 (size1_);
            serialization::collection_size_type s2 (size2_);
         
            // serialize the sizes
            ar & serialization::make_nvp("size1",s1)
               & serialization::make_nvp("size2",s2);
 
            // copy the values back if loading
            if (Archive::is_loading::value) {
                size1_ = s1;
                size2_ = s2;
            }
            // could probably use make_array( &(data[0][0]), N*M )
line 5977   ar & serialization::make_array(data_, N);
        }
 
Regards