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: benjamin@… 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)

build_log.log (12.1 KB ) - added by benjamin@… 9 years ago.
Build log

Download all attachments as: .zip

Change History (4)

by benjamin@…, 9 years ago

Attachment: build_log.log added

Build log

comment:1 by viboes, 9 years ago

Component: Building Boostlog
Owner: set to Andrey Semashev

comment:2 by Andrey Semashev, 9 years ago

Cc: Andrey.Semashev@… added
Component: logspirit
Owner: changed from Andrey Semashev to Hartmut Kaiser

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 Joel de Guzman, 20 months ago

Resolution: wontfix
Status: newclosed

since #648 https://github.com/boostorg/spirit/pull/648 (will be in boost-1.76) we no longer use Boost.Math

Note: See TracTickets for help on using tickets.