[Bf-committers] Building with openvdb

Kévin Dietrich kevin.dietrich at mailoo.org
Sun Jun 11 12:23:20 CEST 2017


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
> Bf-committers at blender.org
> https://lists.blender.org/mailman/listinfo/bf-committers


More information about the Bf-committers mailing list