On Wed, Oct 28, 2009 at 4:14 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@59a2.org">jed@59a2.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">Matthew Knepley wrote:<br>
> You always have to link the ML library if you configure for ML, right?<br>
<br>
</div>No, all the third party libs used to be put into the PETSc shared libs<br>
(but not the static libs).  The easiest way to do this is with<br>
-Wl,--whole-archive though I haven't looked at the build system to see<br>
if this is how it is actually being done.  All the others still behave<br>
this way, but ML is no longer included.<br></blockquote><div><br>Wenever did this, and satill don't. We use -rpath, so that you can track back to<br>the associated shared library, if it exists.<br><br>  Matt<br> </div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
So if you are using shared libs, you only need to link libpetsc*.so.<br>
This is recommended practice with shared libs, you only explicitly link<br>
the interface libraries (those that your code actually calls into) and<br>
let the linker handle the dependencies.  Of course when using static<br>
libs, you need to explicitly link all the dependencies.<br>
<font color="#888888"><br>
Jed<br>
<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener<br>