<br><br><div class="gmail_quote">On Mon, Apr 4, 2011 at 9:33 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im"><br>
On Apr 4, 2011, at 9:25 PM, Sean Farley wrote:<br>
<br>
> What did you expect when you used --with-clanguage=C++ for your buid? Or<br>
> were you misunderstanding what this options means wrt PETSc build?<br>
><br>
> I understand what it was trying to do but it is necessary for sieve (especially with certain mesh generators). Why does all of PETSc need to be compiled with C++ in order to use sieve is the real question?<br>
<br>
</div>   Since the sieve c++ compiled code uses the C code (like VecXXX) the C++ compiler would have to know that the other parts of C are not compiled with C++. At a minimum you would have to extern c it in the header files other wise the C++ compiled code will call the C routines with name-mangling turned on while the C compiler doesn't know about name mangling and hence would generate routines without name mangling and the c++ code wouldn't find the c routines. In other words, even without issues of struct layouts currently everything in PETSc needs to be built with the same compiler. If sieve was made a completely separate package form PETSc then one could easily arrange things so that sieve compiled with c++ and PETSc with c.<br>


<br>
   Why is everyone talking about this unimportant issue when we got serious dlopen() issues to fix?<br></blockquote><div><br></div><div>It seems to me that on Jaguar passing in a 0 handle should work, since that's what 3.1 does (I'm not sure about 3.1-p4, though).</div>

<div>Also, if we are interested in comparing performance, why not just build 3.1 without shared?</div><div><br></div><div>Dmitry.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


<font color="#888888"><br>
   Barry<br>
</font><div><div></div><div class="h5"><br>
><br>
> .c -> compiled with mpicc<br>
> .cxx -> compiled with mpicxx<br>
><br>
> Is there something else missing? (Perhaps linking?)<br>
><br>
> Sean<br>
<br>
</div></div></blockquote></div><br>