On Thu, Oct 29, 2009 at 4:01 PM, Satish Balay <span dir="ltr"><<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</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">On Thu, 29 Oct 2009, Barry Smith wrote:<br>
<br>
><br>
> On Oct 29, 2009, at 3:52 PM, Lisandro Dalcin wrote:<br>
><br>
> > On Thu, Oct 29, 2009 at 4:45 PM, Jed Brown <<a href="mailto:jed@59a2.org">jed@59a2.org</a>> wrote:<br>
> > ><br>
> > > I realize that the real problem here was OpenCV's libml and the fact<br>
> > > that linkers don't resolve symbols by starting with the most recent -L<br>
> > > path [*], but we should at least remember that putting -L{PETSC_LIB_DIR}<br>
> > > at the beginning of the line can completely change the way symbols are<br>
> > > resolved.<br>
> > ><br>
> ><br>
> > I think that the real problem here is that developers should be<br>
> > smarter and they should not use such short names for a library... "ml"<br>
> > .. just two characters... What "ml" stand for? "mailing list"? the<br>
> > internet country code for Mali at Africa? "milliliter" ? "Markup<br>
> > Language", "ML" the programming language? Well... I'll stop here...<br>
> > :-)<br>
> ><br>
> > IMHO, I think that what Jed suggested in previous mail about using<br>
> > -Wl,-whole-archive ${PETSC_EXTERNAL_LIB} -Wl,-no-whole-archive when<br>
> > --with-shared is in action could be a VERY good idea... Then PETSc<br>
> > link lines will not need to refer at all to these static libs from<br>
> > external packages...<br>
<br>
</div>This works for folks who use PETSc - and nothing else. But once you<br>
have 2 packages doing this [say both add in hypre symbols] - and then<br>
some user wants to use these two packages - you have conflicts. [esp<br>
with multiple copies of global variables etc..]<br>
<br>
The ideal solution is to have every library have its own .so<br>
file.. [but this is not easy]<font color="#888888"><br></font></blockquote><div><br>I am with Satish here. This smells like sticking pregenerated template stuff in libraries,<br>which eventually gets heinous, and everyone always goes back to all headers. I am<br>
for keeping each package in its own libraries.<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;"><font color="#888888">
Satish<br>
</font></blockquote></div>-- <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>