[petsc-dev] petsc/master: unable to link in C++ with last night PETSC_WITH_EXTERNAL_LIB variable changes
Smith, Barry F.
bsmith at mcs.anl.gov
Sat Feb 10 11:51:09 CST 2018
Eric,
Please send configure.log
> On Feb 10, 2018, at 11:44 AM, Jed Brown <jed at jedbrown.org> wrote:
>
> "Smith, Barry F." <bsmith at mcs.anl.gov> writes:
>
>> Eric,
>>
>> We need the entire link line.
>>
>> What linker are you using C, or C++? This is important.
>>
>> Do you have dependencies on MPI C++ symbols? In other words, are you using C++ MPI bindings?
>>
>> I cannot explain why all the libraries you listed would disappear from PETSC_WITH_EXTERNAL_LIB but we did recently make a change to manual pass under some circumstances less system (including MPI libraries) explicitly since they are already usually passed by the linker. This may be causing your difficulties.
>
> According to Eric's output, -lstdc++ appears twice now, -lmpi still
> appears, -ldl still appears (twice), -lm still appears (4 times),
> -lpthread still appears (twice), and -lgcc_s still appears. So the only
> library actually eliminated is-lmpi_cxx which is provided by the mpicxx
> (despite having been removed from the standard in 2012).
Jed,
I did my best to eliminate unneeded library links, it is not trivial as you seem to believe it is to get just exactly the libraries listed that are needed.
I know how to get the -lmpi_cxx listed again (I need to include a call to a MPI C++ function in the checkCXXlibraries) but this will result in a bunch more libraries being redundantly brought in. Since Eric is the only person in the entire world who ever used the C++ bindings it would be nice if I didn't need to add the C++ function test and add additional redundant libraries you will complain about for many runs.
More information about the petsc-dev
mailing list