[petsc-dev] need c++ expert help

Smith, Barry F. bsmith at mcs.anl.gov
Sun Dec 31 16:46:28 CST 2017



> On Dec 31, 2017, at 2:14 PM, Jed Brown <jed at jedbrown.org> wrote:
> 
> Matthew Knepley <knepley at gmail.com> writes:
> 
>> On Sun, Dec 31, 2017 at 2:35 PM, Jed Brown <jed at jedbrown.org> wrote:
>> 
>>> Matthew Knepley <knepley at gmail.com> writes:
>>> 
>>>> On Sun, Dec 31, 2017 at 1:55 PM, Jed Brown <jed at jedbrown.org> wrote:
>>>> 
>>>>> These look like linker errors and that build uses
>>>>> --with-cxxlib-autodetect=0.  We either need a rule to *link* C++ using
>>>>> CXX (i.e., mpicxx) or add LIBS=-lstdc++.
>>>>> 
>>>> 
>>>> I thought we were doing this (linking C++ mains with CXX).
>>> 
>>> After compiling to the object file (ex3.o) we don't know what language
>>> main was written in, and this doesn't solve the actual problem that C++
>>> linking is required if any object (not just main) depends on C++.
>>> 
>> 
>> My thinking here was the following:
>> 
>>  1) No C++ is allowed in PETSc, unless --with-clanguage=cxx, in which case
>> the linker is C++
>>  2) If C++ is in an external library, then that configure requires the C++
>> library
>>  3) The executable itself could be C++, in which case I proposed using the
>> C++ linker explicitly
>> 
>> About not knowing which objects come with C++ main: I thought we did. Don't
>> they go into a separate set?
> 
> Right, we do have that information for tests.  Note that a single test
> executable can depend on multiple source files, and the one containing
> main might not be C++ while another is.  I don't know if there are any
> such instances in PETSc.
> 
> I can change the build rules for tests with C++ sources later today.

   Jed, are you indicating that you will resolve the original problem I reported? Where will you resolve it? The problem may come up in one of my branches.


   Thanks

    Barry




More information about the petsc-dev mailing list