[Bf-committers] Building with OpenVDB and OSL: a Boost case

2015-06-14 Thread Kévin Dietrich
 

Hi all, 

I mail here because it can affect anyone who builds Blender, not just
the Cycles freaks ;) 

As a reminder, OpenVDB is making use of, and relies on libraries making
use of, C++ built-in run-time type information (RTTI). On the other
hand, LLVM (used by OSL) has a home brew version and does not want to
hear about the built-in one by default. 

The most straightforward way to address this is by building LLVM with
RTTI enabled, and build OSL accordingly. 

But that's maybe not a possibility (because of a lot of reasons), so
RTTI usage in VDB will need to be taken care of. By compiling Cycles
with both VDB and OSL it appears that most RTTI symbols that give issues
are in everyone's favorite library: Boost (I have version 1.54 here).
There's also one in TBB, but it can be avoided by disabling the use
exceptions there. 

Although patching OpenVDB so it compiles fine with RTTI disabled is a
no-brainer (~10 changes), we will need to upgrade boost to at least
version 1.57. Which should also comprise the fix for the Windows compile
issue raised by Antony. 

I've just installed it, and as far as I can tell, it seems to work fine
(_YMMV_). I've forked the openvdb repository, so to test things out you
can get my changes from there (https://github.com/diekev/openvdb [1]) in
the 'cycles_fixes' branch (it will also contain fixes for implicit float
conversions happening in the library, which make Cycles grumpy). So if
we go with boost 1.57, or above, and everything goes fine on all
platforms, I'll make a pull request. 

That's it from me for the moment,
Cheers,
Kévin. 
 

Links:
--
[1] https://github.com/diekev/openvdb
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Building with OpenVDB and OSL: a Boost case

2015-06-15 Thread Martijn Berger
Hi Kevin,

I want to do a coordinated effort to upgrade the windows and OS X libraries
after 2.75 is out the door.
In addition to openvdb, Alembic might need to be included, also updates to
llvm, boost, osl, oiio, and maybe other might be in order.
(OpenSubDiv and PTex I am now sure about (for ptex we use OIIO i think ?))

I am fine with bumping boost to 1.57 for windows / OS X but I am not sure
about linux.
For Linux It seems to me that it is to new and that we should try to keep
boost 1.48 minimal requirement if we can.
If that is unfeasible we should bump no higher then 1.54 for linux as then
we have debian and ubuntu stable to consider.

Martijn





On Mon, Jun 15, 2015 at 4:09 AM, Kévin Dietrich 
wrote:

>
>
> Hi all,
>
> I mail here because it can affect anyone who builds Blender, not just
> the Cycles freaks ;)
>
> As a reminder, OpenVDB is making use of, and relies on libraries making
> use of, C++ built-in run-time type information (RTTI). On the other
> hand, LLVM (used by OSL) has a home brew version and does not want to
> hear about the built-in one by default.
>
> The most straightforward way to address this is by building LLVM with
> RTTI enabled, and build OSL accordingly.
>
> But that's maybe not a possibility (because of a lot of reasons), so
> RTTI usage in VDB will need to be taken care of. By compiling Cycles
> with both VDB and OSL it appears that most RTTI symbols that give issues
> are in everyone's favorite library: Boost (I have version 1.54 here).
> There's also one in TBB, but it can be avoided by disabling the use
> exceptions there.
>
> Although patching OpenVDB so it compiles fine with RTTI disabled is a
> no-brainer (~10 changes), we will need to upgrade boost to at least
> version 1.57. Which should also comprise the fix for the Windows compile
> issue raised by Antony.
>
> I've just installed it, and as far as I can tell, it seems to work fine
> (_YMMV_). I've forked the openvdb repository, so to test things out you
> can get my changes from there (https://github.com/diekev/openvdb [1]) in
> the 'cycles_fixes' branch (it will also contain fixes for implicit float
> conversions happening in the library, which make Cycles grumpy). So if
> we go with boost 1.57, or above, and everything goes fine on all
> platforms, I'll make a pull request.
>
> That's it from me for the moment,
> Cheers,
> Kévin.
>
>
> Links:
> --
> [1] https://github.com/diekev/openvdb
> ___
> Bf-committers mailing list
> Bf-committers@blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Building with OpenVDB and OSL: a Boost case

2015-06-15 Thread Martijn Berger
Hi,


On Mon, Jun 15, 2015 at 4:09 AM, Kévin Dietrich 
wrote:

>
>
> Although patching OpenVDB so it compiles fine with RTTI disabled is a
> no-brainer (~10 changes), we will need to upgrade boost to at least
> version 1.57. Which should also comprise the fix for the Windows compile
> issue raised by Antony.
>
>
I think we should try to upstream this change so other can also benefit
from it and we will not have to maintain a patch set for OpenVDB

Maritjn
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Building with OpenVDB and OSL: a Boost case

2015-06-15 Thread Kévin Dietrich
 

If Boost 1.57 on Linux isn't really feasible (I had to compile it for
instance), then there isn't that much options. It's either patch Boost
and ask people to compile that or reimplement in OpenVDB (to be clean)
the stuffs in boost that cause problem (should resolve to copy-paste +
replace/remove typeid thingy). The later case means we'll likely have to
maintain our own set of patches for VDB for until newer boost is in
official Linux repos as I hardly see such a change being accepted
upstream (as it's already in newer Boost or whatever). Still worth a try
though. In the end, that depends on people's motivation. 

Le 2015-06-15 09:43, Martijn Berger a écrit : 

> Hi Kevin,
> 
> I want to do a coordinated effort to upgrade the windows and OS X libraries
> after 2.75 is out the door.
> In addition to openvdb, Alembic might need to be included, also updates to
> llvm, boost, osl, oiio, and maybe other might be in order.
> (OpenSubDiv and PTex I am now sure about (for ptex we use OIIO i think ?))
> 
> I am fine with bumping boost to 1.57 for windows / OS X but I am not sure
> about linux.
> For Linux It seems to me that it is to new and that we should try to keep
> boost 1.48 minimal requirement if we can.
> If that is unfeasible we should bump no higher then 1.54 for linux as then
> we have debian and ubuntu stable to consider.
> 
> Martijn
> 
> On Mon, Jun 15, 2015 at 4:09 AM, Kévin Dietrich 
> wrote:
> 
>> Hi all,
>> 
>> I mail here because it can affect anyone who builds Blender, not just
>> the Cycles freaks ;)
>> 
>> As a reminder, OpenVDB is making use of, and relies on libraries making
>> use of, C++ built-in run-time type information (RTTI). On the other
>> hand, LLVM (used by OSL) has a home brew version and does not want to
>> hear about the built-in one by default.
>> 
>> The most straightforward way to address this is by building LLVM with
>> RTTI enabled, and build OSL accordingly.
>> 
>> But that's maybe not a possibility (because of a lot of reasons), so
>> RTTI usage in VDB will need to be taken care of. By compiling Cycles
>> with both VDB and OSL it appears that most RTTI symbols that give issues
>> are in everyone's favorite library: Boost (I have version 1.54 here).
>> There's also one in TBB, but it can be avoided by disabling the use
>> exceptions there.
>> 
>> Although patching OpenVDB so it compiles fine with RTTI disabled is a
>> no-brainer (~10 changes), we will need to upgrade boost to at least
>> version 1.57. Which should also comprise the fix for the Windows compile
>> issue raised by Antony.
>> 
>> I've just installed it, and as far as I can tell, it seems to work fine
>> (_YMMV_). I've forked the openvdb repository, so to test things out you
>> can get my changes from there (https://github.com/diekev/openvdb [1] [1 
>> [1]]) in
>> the 'cycles_fixes' branch (it will also contain fixes for implicit float
>> conversions happening in the library, which make Cycles grumpy). So if
>> we go with boost 1.57, or above, and everything goes fine on all
>> platforms, I'll make a pull request.
>> 
>> That's it from me for the moment,
>> Cheers,
>> Kévin.
>> 
>> Links:
>> --
>> [1] https://github.com/diekev/openvdb [1]
>> ___
>> Bf-committers mailing list
>> Bf-committers@blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers [2]
> ___
> Bf-committers mailing list
> Bf-committers@blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers [2]

 

Links:
--
[1] https://github.com/diekev/openvdb
[2] http://lists.blender.org/mailman/listinfo/bf-committers
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Building with OpenVDB and OSL: a Boost case

2015-06-15 Thread Sergey Sharybin
Generally we'll need to update OIIO/OSL (due to the fixes), which could
happen together with Boost update if really needed.

But one thing is not totally clear to me after reading this discussion --
why do we need to bump boost requirement on Linux?

On Mon, Jun 15, 2015 at 11:08 AM, Kévin Dietrich 
wrote:

>
>
> If Boost 1.57 on Linux isn't really feasible (I had to compile it for
> instance), then there isn't that much options. It's either patch Boost
> and ask people to compile that or reimplement in OpenVDB (to be clean)
> the stuffs in boost that cause problem (should resolve to copy-paste +
> replace/remove typeid thingy). The later case means we'll likely have to
> maintain our own set of patches for VDB for until newer boost is in
> official Linux repos as I hardly see such a change being accepted
> upstream (as it's already in newer Boost or whatever). Still worth a try
> though. In the end, that depends on people's motivation.
>
> Le 2015-06-15 09:43, Martijn Berger a écrit :
>
> > Hi Kevin,
> >
> > I want to do a coordinated effort to upgrade the windows and OS X
> libraries
> > after 2.75 is out the door.
> > In addition to openvdb, Alembic might need to be included, also updates
> to
> > llvm, boost, osl, oiio, and maybe other might be in order.
> > (OpenSubDiv and PTex I am now sure about (for ptex we use OIIO i think
> ?))
> >
> > I am fine with bumping boost to 1.57 for windows / OS X but I am not sure
> > about linux.
> > For Linux It seems to me that it is to new and that we should try to keep
> > boost 1.48 minimal requirement if we can.
> > If that is unfeasible we should bump no higher then 1.54 for linux as
> then
> > we have debian and ubuntu stable to consider.
> >
> > Martijn
> >
> > On Mon, Jun 15, 2015 at 4:09 AM, Kévin Dietrich <
> kevin.dietr...@mailoo.org>
> > wrote:
> >
> >> Hi all,
> >>
> >> I mail here because it can affect anyone who builds Blender, not just
> >> the Cycles freaks ;)
> >>
> >> As a reminder, OpenVDB is making use of, and relies on libraries making
> >> use of, C++ built-in run-time type information (RTTI). On the other
> >> hand, LLVM (used by OSL) has a home brew version and does not want to
> >> hear about the built-in one by default.
> >>
> >> The most straightforward way to address this is by building LLVM with
> >> RTTI enabled, and build OSL accordingly.
> >>
> >> But that's maybe not a possibility (because of a lot of reasons), so
> >> RTTI usage in VDB will need to be taken care of. By compiling Cycles
> >> with both VDB and OSL it appears that most RTTI symbols that give issues
> >> are in everyone's favorite library: Boost (I have version 1.54 here).
> >> There's also one in TBB, but it can be avoided by disabling the use
> >> exceptions there.
> >>
> >> Although patching OpenVDB so it compiles fine with RTTI disabled is a
> >> no-brainer (~10 changes), we will need to upgrade boost to at least
> >> version 1.57. Which should also comprise the fix for the Windows compile
> >> issue raised by Antony.
> >>
> >> I've just installed it, and as far as I can tell, it seems to work fine
> >> (_YMMV_). I've forked the openvdb repository, so to test things out you
> >> can get my changes from there (https://github.com/diekev/openvdb [1]
> [1 [1]]) in
> >> the 'cycles_fixes' branch (it will also contain fixes for implicit float
> >> conversions happening in the library, which make Cycles grumpy). So if
> >> we go with boost 1.57, or above, and everything goes fine on all
> >> platforms, I'll make a pull request.
> >>
> >> That's it from me for the moment,
> >> Cheers,
> >> Kévin.
> >>
> >> Links:
> >> --
> >> [1] https://github.com/diekev/openvdb [1]
> >> ___
> >> Bf-committers mailing list
> >> Bf-committers@blender.org
> >> http://lists.blender.org/mailman/listinfo/bf-committers [2]
> > ___
> > Bf-committers mailing list
> > Bf-committers@blender.org
> > http://lists.blender.org/mailman/listinfo/bf-committers [2]
>
>
>
> Links:
> --
> [1] https://github.com/diekev/openvdb
> [2] http://lists.blender.org/mailman/listinfo/bf-committers
> ___
> Bf-committers mailing list
> Bf-committers@blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>



-- 
With best regards, Sergey Sharybin
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Building with OpenVDB and OSL: a Boost case

2015-06-15 Thread Kévin Dietrich
 

Le 2015-06-15 11:57, Sergey Sharybin a écrit : 

> But one thing is not totally clear to me after reading this discussion --
> why do we need to bump boost requirement on Linux?

I would say because after taming rtti usage in OpenVDB itself, Cycles is
still complaining about rtti stuff in boost. For example, in some place
OpenVDB is making use of boost::any which calls typeid, std::type_info
... there are also a few other places in boost with problematic rtti
usage, and those are addressed in boost 1.57, some were addressed in
1.56. So something must be done here. That is when/if OpenVDB becomes
officially supported in Cycles of course. 
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Building with OpenVDB and OSL: a Boost case

2015-12-16 Thread matmenu
Hi Martijn and Kevin,
What heppened to this boost update? Python was updated, OpenGL 
requirements too, Windows XP is dropped, lets use 2.77 to move 
everything up for the upcoming development. OpenVDB is a really much 
needed addition for the simulation and volumetrics parts.
Regards,
Mat

Am 15/06/2015 um 09:43 schrieb Martijn Berger:
> Hi Kevin,
>
> I want to do a coordinated effort to upgrade the windows and OS X libraries
> after 2.75 is out the door.
> In addition to openvdb, Alembic might need to be included, also updates to
> llvm, boost, osl, oiio, and maybe other might be in order.
> (OpenSubDiv and PTex I am now sure about (for ptex we use OIIO i think ?))
>
> I am fine with bumping boost to 1.57 for windows / OS X but I am not sure
> about linux.
> For Linux It seems to me that it is to new and that we should try to keep
> boost 1.48 minimal requirement if we can.
> If that is unfeasible we should bump no higher then 1.54 for linux as then
> we have debian and ubuntu stable to consider.
>
> Martijn
>
>
>
>
>
> On Mon, Jun 15, 2015 at 4:09 AM, Kévin Dietrich 
> wrote:
>
>>
>> Hi all,
>>
>> I mail here because it can affect anyone who builds Blender, not just
>> the Cycles freaks ;)
>>
>> As a reminder, OpenVDB is making use of, and relies on libraries making
>> use of, C++ built-in run-time type information (RTTI). On the other
>> hand, LLVM (used by OSL) has a home brew version and does not want to
>> hear about the built-in one by default.
>>
>> The most straightforward way to address this is by building LLVM with
>> RTTI enabled, and build OSL accordingly.
>>
>> But that's maybe not a possibility (because of a lot of reasons), so
>> RTTI usage in VDB will need to be taken care of. By compiling Cycles
>> with both VDB and OSL it appears that most RTTI symbols that give issues
>> are in everyone's favorite library: Boost (I have version 1.54 here).
>> There's also one in TBB, but it can be avoided by disabling the use
>> exceptions there.
>>
>> Although patching OpenVDB so it compiles fine with RTTI disabled is a
>> no-brainer (~10 changes), we will need to upgrade boost to at least
>> version 1.57. Which should also comprise the fix for the Windows compile
>> issue raised by Antony.
>>
>> I've just installed it, and as far as I can tell, it seems to work fine
>> (_YMMV_). I've forked the openvdb repository, so to test things out you
>> can get my changes from there (https://github.com/diekev/openvdb [1]) in
>> the 'cycles_fixes' branch (it will also contain fixes for implicit float
>> conversions happening in the library, which make Cycles grumpy). So if
>> we go with boost 1.57, or above, and everything goes fine on all
>> platforms, I'll make a pull request.
>>
>> That's it from me for the moment,
>> Cheers,
>> Kévin.
>>
>>
>> Links:
>> --
>> [1] https://github.com/diekev/openvdb
>> ___
>> Bf-committers mailing list
>> Bf-committers@blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
> ___
> Bf-committers mailing list
> Bf-committers@blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers


Re: [Bf-committers] Building with OpenVDB and OSL: a Boost case

2015-12-17 Thread Kévin Dietrich
 

Le 2015-12-17 08:43, matmenu a écrit : 

> Hi Martijn and Kevin,
> What heppened to this boost update? Python was updated, OpenGL 
> requirements too, Windows XP is dropped, lets use 2.77 to move 
> everything up for the upcoming development. OpenVDB is a really much 
> needed addition for the simulation and volumetrics parts.
> Regards,
> Mat

Hi,

Well, at the moment updating Boost would be irrelevant, for two reasons:

1) when I first opened this discussion, I had just finished implementing
volume sampling and decided it could be enough for a first step. Then,
as I had more time, I started working on ray intersection (accelerated
ray marching/empty space optimization), and that's not finished... so
let's first wrap that up.

2) the main reason, the OpenVDB team at DWA reverted my patch removing
RTTI symbols in the OpenVDB library (because reasons). The only reason
to update Boost is to remove the couple of troublesome RTTI symbols in
there, but if we still have such symbols in OpenVDB, it's pointless.

In any case, let's first finish the implementation in Cycles, and then
try again to find a way to compile everything together nicely.

Cheers,
Kévin. 

> Am 15/06/2015 um 09:43 schrieb Martijn Berger: Hi Kevin,
> 
> I want to do a coordinated effort to upgrade the windows and OS X libraries
> after 2.75 is out the door.
> In addition to openvdb, Alembic might need to be included, also updates to
> llvm, boost, osl, oiio, and maybe other might be in order.
> (OpenSubDiv and PTex I am now sure about (for ptex we use OIIO i think ?))
> 
> I am fine with bumping boost to 1.57 for windows / OS X but I am not sure
> about linux.
> For Linux It seems to me that it is to new and that we should try to keep
> boost 1.48 minimal requirement if we can.
> If that is unfeasible we should bump no higher then 1.54 for linux as then
> we have debian and ubuntu stable to consider.
> 
> Martijn
> 
> On Mon, Jun 15, 2015 at 4:09 AM, Kévin Dietrich 
> wrote:
> 
> Hi all,
> 
> I mail here because it can affect anyone who builds Blender, not just
> the Cycles freaks ;)
> 
> As a reminder, OpenVDB is making use of, and relies on libraries making
> use of, C++ built-in run-time type information (RTTI). On the other
> hand, LLVM (used by OSL) has a home brew version and does not want to
> hear about the built-in one by default.
> 
> The most straightforward way to address this is by building LLVM with
> RTTI enabled, and build OSL accordingly.
> 
> But that's maybe not a possibility (because of a lot of reasons), so
> RTTI usage in VDB will need to be taken care of. By compiling Cycles
> with both VDB and OSL it appears that most RTTI symbols that give issues
> are in everyone's favorite library: Boost (I have version 1.54 here).
> There's also one in TBB, but it can be avoided by disabling the use
> exceptions there.
> 
> Although patching OpenVDB so it compiles fine with RTTI disabled is a
> no-brainer (~10 changes), we will need to upgrade boost to at least
> version 1.57. Which should also comprise the fix for the Windows compile
> issue raised by Antony.
> 
> I've just installed it, and as far as I can tell, it seems to work fine
> (_YMMV_). I've forked the openvdb repository, so to test things out you
> can get my changes from there (https://github.com/diekev/openvdb [1 [1]]) in
> the 'cycles_fixes' branch (it will also contain fixes for implicit float
> conversions happening in the library, which make Cycles grumpy). So if
> we go with boost 1.57, or above, and everything goes fine on all
> platforms, I'll make a pull request.
> 
> That's it from me for the moment,
> Cheers,
> Kévin.
> 
> Links:
> --
> [1] https://github.com/diekev/openvdb
> ___
> Bf-committers mailing list
> Bf-committers@blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
> 
> ___
> Bf-committers mailing list
> Bf-committers@blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers 

  

Links:
--
[1] https://github.com/diekev/openvdb
___
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers