Opened 9 years ago
Closed 20 months ago
#8778 closed Bugs (wontfix)
Building boost.log fails due to failure in date_time_format_parser
| Reported by: | Owned by: | Hartmut Kaiser | |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | spirit | 
| Version: | Boost 1.54.0 | Severity: | Problem | 
| Keywords: | Cc: | Andrey.Semashev@… | 
Description
When building boost.Log in current cygwin it fails due to an error in date_time_format_parser.cpp (see attached log file)
Attachments (1)
Change History (4)
by , 9 years ago
| Attachment: | build_log.log added | 
|---|
comment:1 by , 9 years ago
| Component: | Building Boost → log | 
|---|---|
| Owner: | set to | 
comment:2 by , 9 years ago
| Cc: | added | 
|---|---|
| Component: | log → spirit | 
| Owner: | changed from to | 
I think the problem is in Boost.Spirit.Karma. Boost.Log uses karma::uint_generator< uint32_t >, but somehow absolute_value< long double > gets instantiated. Apparently, Boost.Math doesn't support long double on Cygwin (and defines BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS, which should be checked for by Boost.Spirit), which results in the build failure.
I think, preliminary fix would be checking for BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS in Bost.Spirit and fallback to the generic code based on fabs. But it is not clear to me why absolute_value< long double > is used in the first place. Maybe this is a sign of a deeper problem. I'm reassigning this ticket to Boost.Spirit.
comment:3 by , 20 months ago
| Resolution: | → wontfix | 
|---|---|
| Status: | new → closed | 
since #648 https://github.com/boostorg/spirit/pull/648 (will be in boost-1.76) we no longer use Boost.Math


Build log