Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1262444

Summary: FTBFS: ./boost/test/impl/execution_monitor.ipp:1383:7: error: expected id-expression before '(' token
Product: [Fedora] Fedora Reporter: Karsten Hopp <karsten>
Component: boostAssignee: Jonathan Wakely <jwakely>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: medium    
Version: rawhideCC: dakingun, denis.arnaud_fedora, jwakely, me
Target Milestone: ---   
Target Release: ---   
Hardware: ppc64le   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-09-14 17:39:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1071880    

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