Bug 1334212

Summary: FTBFS: recipe for target 'gecode/float/var/float.o' failed
Product: [Fedora] Fedora Reporter: Karsten Hopp <karsten>
Component: gecodeAssignee: Julian C. Dunn <jdunn>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 24CC: jdunn, menantea, than
Target Milestone: ---   
Target Release: ---   
Hardware: ppc64le   
OS: Linux   
Whiteboard:
Fixed In Version: gecode-4.4.0-9.fc24 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-23 20:05:32 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    
Attachments:
Description Flags
patch for try none

Description Karsten Hopp 2016-05-09 07:47:25 UTC
Description of problem:
./gecode/support/thread/pthreads.hpp:167:72: note: in C++11 destructors default to noexcept
In file included from ./gecode/third-party/boost/numeric/interval/hw_rounding.hpp:26:0,
                 from ./gecode/third-party/boost/numeric/interval.hpp:18,
                 from ./gecode/float.hh:82,
                 from gecode/float/var/float.cpp:40:
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp: At global scope:
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:31:77: error: narrowing conversion of '18444492273895866370ull' from 'long long unsigned int' to 'gecode_boost::long_long_type {aka long long int}' inside { } [-Wnarrowing]
 static const rounding_mode_struct mode_upward      = { 0xFFF8000000000002LL };
                                                                             ^
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:32:77: error: narrowing conversion of '18444492273895866371ull' from 'long long unsigned int' to 'gecode_boost::long_long_type {aka long long int}' inside { } [-Wnarrowing]
 static const rounding_mode_struct mode_downward    = { 0xFFF8000000000003LL };
                                                                             ^
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:33:77: error: narrowing conversion of '18444492273895866368ull' from 'long long unsigned int' to 'gecode_boost::long_long_type {aka long long int}' inside { } [-Wnarrowing]
 static const rounding_mode_struct mode_to_nearest  = { 0xFFF8000000000000LL };
                                                                             ^
./gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp:34:77: error: narrowing conversion of '18444492273895866369ull' from 'long long unsigned int' to 'gecode_boost::long_long_type {aka long long int}' inside { } [-Wnarrowing]
 static const rounding_mode_struct mode_toward_zero = { 0xFFF8000000000001LL };
                                                                             ^
Makefile:1320: recipe for target 'gecode/float/var/float.o' failed
make[1]: *** [gecode/float/var/float.o] Error 1
make[1]: *** Waiting for unfinished jobs....

Version-Release number of selected component (if applicable):
gecode-4.4.0-7.fc24

How reproducible:
always

Steps to Reproduce:
1. ppc-koji build --scratch f24 gecode-4.4.0-7.fc24.src.rpm
2.
3.

Actual results:
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=3367165

Expected results:


Additional info:

Comment 1 Menanteau Guy 2016-05-13 16:26:42 UTC
The problem is linked to boost package and gcc6
Referencing to https://gcc.gnu.org/gcc-6/porting_to.html, I see in chapter "Narrowing conversions":
The C++11 standard does not allow "narrowing conversions" inside braced initialization lists.

Just for test, I tried attached patch on gecode and it built successfully.
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=3380819
But I am not sure this patch is correct as the "rounding_mode_struct" is an union. This must be challenged !

Comment 2 Menanteau Guy 2016-05-13 16:27:38 UTC
Created attachment 1157217 [details]
patch for try

Comment 3 Than Ngo 2016-05-13 19:22:53 UTC
it looks good for me. I will prefer to use ::gecode_boost::long_long_type for casting

Comment 4 Than Ngo 2016-05-13 19:23:24 UTC
it's fixed in gecode-4.4.0-8

Comment 5 Fedora Update System 2016-05-17 10:33:10 UTC
gecode-4.4.0-9.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-4bddd248ef

Comment 6 Fedora Update System 2016-05-17 22:00:34 UTC
gecode-4.4.0-9.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-4bddd248ef

Comment 7 Fedora Update System 2016-05-23 20:05:29 UTC
gecode-4.4.0-9.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.