Bug 1089820

Summary: uhd: Fails to build with Boost 1.67.0
Product: [openSUSE] openSUSE Tumbleweed Reporter: Adam Majer <amajer>
Component: OtherAssignee: Wojciech Kazubski <wk>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 1089801    

Description Adam Majer 2018-04-17 08:52:48 UTC
New Boost library has been released and unfortunately this package fails to build with it. The new boost library is already submitted to devel:libraries:c_c++/boost and will be submitted to openSUSE:Factory shortly.

https://build.opensuse.org/package/live_build_log/home:adamm:boost_test/uhd/openSUSE_Tumbleweed/x86_64

> [  383s] /home/abuild/rpmbuild/BUILD/uhd_3.9.7-release/lib/usrp/x300/x300_impl.cpp: In member function 'bool x300_impl::wait_for_clk_locked(x300_impl::mboard_members_t&, uint32_t, double)':
> [  383s] /home/abuild/rpmbuild/BUILD/uhd_3.9.7-release/lib/usrp/x300/x300_impl.cpp:1489:114: error: no matching function for call to 'boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>::subsecond_duration(double)'
> [  383s]      boost::system_time timeout_time = boost::get_system_time() + boost::posix_time::milliseconds(timeout * 1000.0);
> [  383s]                                                                                                                   ^

The cause of this is change in Boost:DateTime that no longer accepts non-integer types. In the past, these types were implicitly cast down to integer values. Now this requires explicit cast.

https://svn.boost.org/trac10/ticket/11168
Comment 1 Adam Majer 2018-05-30 09:34:58 UTC
Fix submitted to Factory. Closing.