Bug 1262444 - FTBFS: ./boost/test/impl/execution_monitor.ipp:1383:7: error: expected id-expression before '(' token
Summary: FTBFS: ./boost/test/impl/execution_monitor.ipp:1383:7: error: expected id-exp...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: boost
Version: rawhide
Hardware: ppc64le
OS: Linux
medium
high
Target Milestone: ---
Assignee: Jonathan Wakely
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PPCTracker
TreeView+ depends on / blocked
 
Reported: 2015-09-11 17:08 UTC by Karsten Hopp
Modified: 2015-09-14 17:39 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-09-14 17:39:27 UTC


Attachments (Terms of Use)

Description Karsten Hopp 2015-09-11 17:08:22 UTC
Description of problem:
boost-1.59.0-3.fc24 fails to build on ppc64le (maybe on ppc64 too, but if aborted on LE first):

gcc.compile.c++ serial/boost/bin.v2/libs/test/build/gcc-5.1.1/release/debug-symbols-on/pch-off/threading-multi/execution_monitor.o
    "g++"  -g -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mcpu=power7 -mtune=power8 -fno-strict-aliasing -Wno-unused-local-typedefs -pthread -fPIC  -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_TEST_DYN_LINK=1 -DBOOST_TIMER_DYN_LINK=1 -DNDEBUG  -I"." -c -o "serial/boost/bin.v2/libs/test/build/gcc-5.1.1/release/debug-symbols-on/pch-off/threading-multi/execution_monitor.o" "libs/test/src/execution_monitor.cpp"
In file included from /usr/include/fenv.h:114:0,
                 from /usr/include/c++/5.1.1/fenv.h:36,
                 from ./boost/detail/fenv.hpp:97,
                 from ./boost/test/execution_monitor.hpp:64,
                 from ./boost/test/impl/execution_monitor.ipp:31,
                 from libs/test/src/execution_monitor.cpp:16:
./boost/test/impl/execution_monitor.ipp: In function 'unsigned int boost::fpe::enable(unsigned int)':
./boost/test/impl/execution_monitor.ipp:1383:7: error: expected id-expression before '(' token
     ::feclearexcept(BOOST_FPE_ALL);
       ^
./boost/test/impl/execution_monitor.ipp: In function 'unsigned int boost::fpe::disable(unsigned int)':
./boost/test/impl/execution_monitor.ipp:1420:7: error: expected id-expression before '(' token
     ::feclearexcept(BOOST_FPE_ALL);
       ^

Version-Release number of selected component (if applicable):
boost-1.59.0-3.fc24

How reproducible:
always

Steps to Reproduce:
1.ppc-koji build --scratch f24 boost-1.59.0-3.fc24.src.rpm
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Jonathan Wakely 2015-09-12 10:14:58 UTC
It's just missing a #include <fenv.h>

I'll prepare a patch.

Comment 2 Jonathan Wakely 2015-09-14 13:06:33 UTC
The problem is not a missing include (although it should be including it anyway) but the fact that ppc64 has an optimized version of feclearexcept in <bits/fenvinline.h>, which is a macro that is not valid to use as the qualified name ::feclearexcept.

Comment 3 Jonathan Wakely 2015-09-14 17:39:27 UTC
Should be fixed in boost-1.59.0-4.fc24


Note You need to log in before you can comment on or make changes to this bug.