<p>Hi Lukas,<br>
I&#39;m building with cmake (i.e., no rtti).</p>
<p>The latest test I was reporting was to build llvm, oiio and osl WITH rtti. Though I don&#39;t know if Jens remembered to turn it on in cycles as well.</p>
<p>Dalai</p>
<div class="gmail_quote">On Sep 8, 2012 10:18 PM, &quot;Lukas Tönne&quot; &lt;<a href="mailto:lukas.toenne@gmail.com">lukas.toenne@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
@Dalai:<br>
<br>
I don&#39;t know about RTTI in osl and llvm, but it has to be *dis*abled<br>
in the Blender submodule for osl kernels. In the cmake file the<br>
following CXX arguments are added (cycles/kernel/osl/CMakeLists.txt,<br>
by RTTI_DISABLE_FLAGS variable defined in the main cycles cmake file):<br>
<br>
&quot;-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID&quot;<br>
<br>
These would have to be added in scons as well i guess.<br>
<br>
On Fri, Sep 7, 2012 at 9:35 AM, Dalai Felinto &lt;<a href="mailto:dfelinto@gmail.com">dfelinto@gmail.com</a>&gt; wrote:<br>
&gt; Hi Brecht,<br>
&gt;<br>
&gt; Building llvm and osl with RTTI doesn&#39;t change anything (and is a pita ;)<br>
&gt;<br>
&gt; The class/struct inconsistency was fixed/committed, but doesn&#39;t do much<br>
&gt; other than remove some warnings.<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Dalai<br>
&gt;<br>
&gt; On Sep 5, 2012 5:39 AM, &quot;Jens Verwiebe&quot; &lt;<a href="mailto:info@jensverwiebe.de">info@jensverwiebe.de</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; I did some analysing and found ambiguos stuff:<br>
&gt;&gt; <a href="http://www.pasteall.org/34979" target="_blank">http://www.pasteall.org/34979</a><br>
&gt;&gt;<br>
&gt;&gt; Jens<br>
&gt;&gt;<br>
&gt;&gt; Am 05.09.2012 um 12:26 schrieb Brecht Van Lommel<br>
&gt;&gt; &lt;<a href="mailto:brechtvanlommel@pandora.be">brechtvanlommel@pandora.be</a>&gt;:<br>
&gt;&gt;<br>
&gt;&gt; Could this perhaps be related to RTTI? That can influence class size.<br>
&gt;&gt; It seems RTTI was disabled in CMake but not in SCons.<br>
&gt;&gt;<br>
&gt;&gt; Brecht.<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Sep 4, 2012 at 11:43 PM, Dalai Felinto &lt;<a href="mailto:dfelinto@gmail.com">dfelinto@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi there,<br>
&gt;&gt;<br>
&gt;&gt; I&#39;m helping Jens to get OSL 1.2 to work on OSX as well. OSL is<br>
&gt;&gt; building and Blender builds as well. However we are now stumbling into<br>
&gt;&gt; a strange problem.<br>
&gt;&gt;<br>
&gt;&gt; When rendering with OSL we get the errors:<br>
&gt;&gt; <a href="http://www.pasteall.org/34953" target="_blank">http://www.pasteall.org/34953</a><br>
&gt;&gt; * note, Parameter 1 is the first parameter of the array (index 0)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; The error comes from the register_closure() function in the OSL source<br>
&gt;&gt; code, see below:<br>
&gt;&gt;<br>
&gt;&gt; //OpenShadingLanguage/src/liboslexec/shadingsys.cpp :~507<br>
&gt;&gt; void ShadingSystemImpl::register_closure(...) {<br>
&gt;&gt;    for (int i = 0; params &amp;&amp; params[i].type != TypeDesc(); ++i) {<br>
&gt;&gt;        if (params[i].key == NULL &amp;&amp; params[i].type.size() !=<br>
&gt;&gt; (size_t)params[i].field_size) {<br>
&gt;&gt;            error (&quot;Parameter %d of &#39;%s&#39; closure is assigned to a<br>
&gt;&gt; field of incompatible size&quot;, i + 1, name);<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; This function is called from<br>
&gt;&gt; //intern/cycles/kernel/osl/osl_closures.cpp:62<br>
&gt;&gt;    ss-&gt;register_closure(name, id, params, prepare,<br>
&gt;&gt; generic_closure_setup, generic_closure_compare);<br>
&gt;&gt;<br>
&gt;&gt; A breakpoint to this line and found out that the value of params[0] is<br>
&gt;&gt; indeed problematic:<br>
&gt;&gt; Basically params[0].type.size() is zero, while params[0].field_size is 12:<br>
&gt;&gt; <a href="http://www.pasteall.org/34955" target="_blank">http://www.pasteall.org/34955</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; In Linux this is working though. Does anyone has any clues on what is<br>
&gt;&gt; going wrong here?<br>
&gt;&gt; If someone has a Linux debug of Blender with OSL could you please:<br>
&gt;&gt;<br>
&gt;&gt; b osl_closures.cpp:62<br>
&gt;&gt; r<br>
&gt;&gt; [in blender, render something ... it will get back to the debugger]<br>
&gt;&gt; p params[0]<br>
&gt;&gt; p params[0].type.size()<br>
&gt;&gt; p params[0].field_size<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt; Dalai<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Bf-cycles mailing list<br>
&gt;&gt; <a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
&gt;&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Bf-cycles mailing list<br>
&gt;&gt; <a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
&gt;&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _____________________________________<br>
&gt;&gt;<br>
&gt;&gt; Jens Verwiebe<br>
&gt;&gt; Allerskehre 44  -  22309 Hamburg<br>
&gt;&gt;<br>
&gt;&gt; Tel.: <a href="tel:%2B49%2040%2068%2078%2050" value="+4940687850">+49 40 68 78 50</a><br>
&gt;&gt; mobil: <a href="tel:%2B49%20172%20400%2049%2007" value="+491724004907">+49 172 400 49 07</a><br>
&gt;&gt; mailto: <a href="mailto:info@jensverwiebe.de">info@jensverwiebe.de</a><br>
&gt;&gt; web:  <a href="http://www.jensverwiebe.de" target="_blank">http://www.jensverwiebe.de</a><br>
&gt;&gt; _____________________________________<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Bf-cycles mailing list<br>
&gt;&gt; <a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
&gt;&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
&gt;&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Bf-cycles mailing list<br>
&gt; <a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
&gt; <a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
&gt;<br>
_______________________________________________<br>
Bf-cycles mailing list<br>
<a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
</blockquote></div>