Bug 2172762

Summary: usd:: FTBFS in Fedora rawhide/f39 with Boost 1.81.0
Product: [Fedora] Fedora Reporter: Thomas Rodgers <trodgers>
Component: usdAssignee: Luya Tshimbalanga <luya_tfz>
Status: CLOSED RAWHIDE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: code, luya_tfz, negativo17
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-03-08 14:15:00 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: 2172723    

Description Thomas Rodgers 2023-02-23 03:43:01 UTC
https://koji.fedoraproject.org/koji/buildinfo?buildID=2157703

/builddir/build/BUILD/USD-22.05b/pxr/imaging/hd/flatNormals.cpp:192:75:   required from here
/usr/include/boost/container_hash/hash.hpp:614:30: error: no matching function for call to 'hash_value(const pxrInternal_v0_22__pxrReserved__::HdVec4f_2_10_10_10_REV&)'
  614 |             return hash_value( val );
      |                    ~~~~~~~~~~^~~~~~~
In file included from /usr/include/boost/container_hash/hash.hpp:18:
/usr/include/boost/container_hash/detail/hash_tuple.hpp:55:20: note: candidate: 'template<class ... T> std::size_t boost::hash_value(const std::tuple<_UTypes ...>&)'
   55 | inline std::size_t hash_value(std::tuple<T...> const& v)
      |                    ^~~~~~~~~~
/usr/include/boost/container_hash/detail/hash_tuple.hpp:55:20: note:   template argument deduction/substitution failed:
/usr/include/boost/container_hash/hash.hpp:614:30: note:   'const pxrInternal_v0_22__pxrReserved__::HdVec4f_2_10_10_10_REV' is not derived from 'const std::tuple<_UTypes ...>'
  614 |             return hash_value( val );
      |                    ~~~~~~~~~~^~~~~~~
/usr/include/boost/container_hash/hash.hpp:158:9: note: candidate: 'template<class T> typename boost::enable_if_<boost::is_integral<T>::value, long unsigned int>::type boost::hash_value(T)'
  158 |         hash_value( T v )
      |         ^~~~~~~~~~
/usr/include/boost/container_hash/hash.hpp:158:9: note:   template argument deduction/substitution failed:
/usr/include/boost/container_hash/hash.hpp: In substitution of 'template<class T> typename boost::enable_if_<boost::is_integral<T>::value, long unsigned int>::type boost::hash_value(T) [with T = pxrInternal_v0_22__pxrReserved__::HdVec4f_2_10_10_10_REV]':

Comment 1 Thomas Rodgers 2023-02-23 03:57:56 UTC
There seems to be a lot of recent pull request activity upstream dealing with boost hashing.
It doesn't look like there's a simple patch available to address this yet.

Comment 2 Ben Beasley 2023-03-08 14:15:00 UTC
Mamoru Tasaka contributed a PR (https://src.fedoraproject.org/rpms/usd/pull-request/8) to fix this. Thanks!