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:
It's just missing a #include <fenv.h> I'll prepare a patch.
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.
Should be fixed in boost-1.59.0-4.fc24