Opened 10 years ago

Closed 10 years ago

#7981 closed Patches (invalid)

boost 1.51.0 compatible with boost 1.45.0

Reported by: franklin_liu1019@… Owned by: Daniel James
Milestone: To Be Determined Component: hash
Version: Boost 1.51.0 Severity: Problem
Keywords: compatibility Cc:

Description

I just upgraded boost from boost 1.45.0 to boost 1.51.0. I found the code, which can be compiled under boost 1.45.0, now cannot be compiled under boost 1.51.0. Here are the error messages:

error: class "boost::filesystem::path" has no member "native_file_string"

/opt/apps/intel13/boost/1.51.0/include/boost/functional/hash/detail/limits.hpp(31): error: namespace "std" has no member class "numeric_limits" /opt/apps/intel13/boost/1.51.0/include/boost/functional/hash/detail/limits.hpp(31): error: not a class or struct name

struct limits : std::numeric_limits<T> {};

error: identifier "no_check" is undefined

Change History (3)

comment:1 by viboes, 10 years ago

Component: Nonehash
Owner: set to Daniel James

comment:2 by Daniel James, 10 years ago

The first error is because 1.45 uses version 2 of Boost.Filesystem by default, but 1.51 only contains version 3. You might be able to fix it by defining BOOST_FILESYSTEM_DEPRECATED, but you really should update the code to use the new version. Details at:

http://www.boost.org/doc/libs/1_53_0/libs/filesystem/doc/deprecated.html

As for the hash error, can you give me some more detail? The code in question hasn't changed since 1.45, so it's hard to tell what the problem is. What platform are you running on? (I'm guessing some sort of linux? But the full version details might help). Does the error always happen when including the hash headers, or only when other code is included? If possible a minimal test case to trigger the error would be helpful.

I don't know what the no_check error is, there's a class in spirit with that name - is it caused by something that uses spirit?

comment:3 by Daniel James, 10 years ago

Resolution: invalid
Status: newclosed

I'm going to close this as there's no response. If you have a problem like this, it's probably best to ask on the user list, or on stack overflow.

Note: See TracTickets for help on using tickets.