[Bf-committers] Building with openvdb

Dave Plater dplater.list at gmail.com
Sun Jun 11 12:08:42 CEST 2017


Hi, I'm trying to introduce openvdb into the blender build. I've created 
the openvdb package version 4.0.1 (Very memory hungry build) and then am 
attempting to build blender but I get a build failure in
intern/openvdb/intern/openvdb_writer.cc:
[ 1002s] 
/home/abuild/rpmbuild/BUILD/blender-2.78c/intern/openvdb/intern/openvdb_writer.cc: 
In member function 'void OpenVDBWriter::insert(const 
openvdb::v4_0_1::GridBase&)':
[ 1002s] 
/home/abuild/rpmbuild/BUILD/blender-2.78c/intern/openvdb/intern/openvdb_writer.cc:48:36: 
error: no matching function for call to 
'std::vector<std::shared_ptr<openvdb::v4_0_1::GridBase> 
 >::push_back(openvdb::v4_0_1::GridBase::ConstPtr)'
[ 1002s]   m_grids->push_back(grid.copyGrid());
[ 1002s]                                     ^
[ 1002s] In file included from /usr/include/c++/7/vector:64:0,
[ 1002s]                  from 
/usr/include/boost/random/detail/polynomial.hpp:18,
[ 1002s]                  from 
/usr/include/boost/random/mersenne_twister.hpp:32,
[ 1002s]                  from /usr/include/openvdb/math/Math.h:48,
[ 1002s]                  from /usr/include/openvdb/Types.h:37,
[ 1002s]                  from /usr/include/openvdb/openvdb.h:35,
[ 1002s]                  from 
/home/abuild/rpmbuild/BUILD/blender-2.78c/intern/openvdb/intern/openvdb_writer.h:29,
[ 1002s]                  from 
/home/abuild/rpmbuild/BUILD/blender-2.78c/intern/openvdb/intern/openvdb_writer.cc:26:
[ 1002s] /usr/include/c++/7/bits/stl_vector.h:939:7: note: candidate: 
void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = 
std::shared_ptr<openvdb::v4_0_1::GridBase>; _Alloc = 
std::allocator<std::shared_ptr<openvdb::v4_0_1::GridBase> >; 
std::vector<_Tp, _Alloc>::value_type = 
std::shared_ptr<openvdb::v4_0_1::GridBase>]
[ 1002s]        push_back(const value_type& __x)
[ 1002s]        ^~~~~~~~~
[ 1002s] /usr/include/c++/7/bits/stl_vector.h:939:7: note:   no known 
conversion for argument 1 from 'openvdb::v4_0_1::GridBase::ConstPtr {aka 
std::shared_ptr<const openvdb::v4_0_1::GridBase>}' to 'const value_type& 
{aka const std::shared_ptr<openvdb::v4_0_1::GridBase>&}'
[ 1002s] /usr/include/c++/7/bits/stl_vector.h:953:7: note: candidate: 
void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, 
_Alloc>::value_type&&) [with _Tp = 
std::shared_ptr<openvdb::v4_0_1::GridBase>; _Alloc = 
std::allocator<std::shared_ptr<openvdb::v4_0_1::GridBase> >; 
std::vector<_Tp, _Alloc>::value_type = 
std::shared_ptr<openvdb::v4_0_1::GridBase>]
[ 1002s]        push_back(value_type&& __x)
[ 1002s]        ^~~~~~~~~
[ 1002s] /usr/include/c++/7/bits/stl_vector.h:953:7: note:   no known 
conversion for argument 1 from 'openvdb::v4_0_1::GridBase::ConstPtr {aka 
std::shared_ptr<const openvdb::v4_0_1::GridBase>}' to 
'std::vector<std::shared_ptr<openvdb::v4_0_1::GridBase> >::value_type&& 
{aka std::shared_ptr<openvdb::v4_0_1::GridBase>&&}'

Full build log at:
https://build.opensuse.org/build/home:plater:blender/openSUSE_Tumbleweed/x86_64/blender/_log
This is built with gcc 7 my 42.2 build with gcc48 fails to transfer the 
-std=c++11 flag to the build, log at:
https://build.opensuse.org/build/home:plater:blender/Leap_42.2/x86_64/blender/_log
Have a choice for gcc5 and 6 but 42.2 defaults to gcc48.

Will appreciate any help.
Thanks
Dave Plater


More information about the Bf-committers mailing list