Hi Dave, 

OpenVDB 4.x has some API breakage, and only OpenVDB 3.x is supported for
now. Will probably make the switch to OpenVDB 4.x for Blender 2.8 since
it is using C++11 by default, and Blender is not yet built with C++11. 

Cheers, 

Kévin 

Le 2017-06-11 12:08, Dave Plater a écrit :

> 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
> _______________________________________________
> Bf-committers mailing list
> [email protected]
> https://lists.blender.org/mailman/listinfo/bf-committers
_______________________________________________
Bf-committers mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to