On Mon, Apr 11, 2011 at 2:02 AM, Chen Shen <span dir="ltr"><<a href="mailto:hashhsah@gmail.com">hashhsah@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>Hi all,</div><div><br></div><div>Currently, there is an option to specify the blas/lapack library files --with-scalapack-lib=[<list of .a files>]. This is indeed necessary, because MKL provides a large choice of libraries to link against.</div>

<div><br></div><div>However, MKL static libraries have object inter-dependencies, and requires --start-group/--end-group linker options. All libraries in the group are searched repeatedly until all inter-dependencies resolved.</div>

<div>For example, the following options is suggested for a configuration (<a href="http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/" target="_blank">http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/</a>):</div>

<div><br></div><div>$(MKLROOT)/lib/intel64/libmkl_scalapack_lp64.a  -Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a $(MKLROOT)/lib/intel64/libmkl_sequential.a $(MKLROOT)/lib/intel64/libmkl_core.a $(MKLROOT)/lib/intel64/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group -lpthread</div>

<div><br></div><div>I'd like to propose an extension to the --with-scalapack-lib syntax to support start/end group. Consider the following example:</div><div>--with-blas-lapack-lib=[ /xxx/scalapack_lp64.a,   [/xxx/libmkl_intel_lp64.a, /xxx/libmkl_sequential.a, libmkl_core.a, /xxx/libmkl_blacs_intelmpi_lp64.a] ]  </div>

<div><br></div><div>The embedded list indicates a set of libraries to be grouped up. Would this be possible?</div></blockquote><div><br></div><div>Is there a problem with just including these options in the list of libraries? I think we keep anything that begins with a '-'.</div>
<div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>This isn't a problem if we link to dynamic libraries, because -l for dynamic libraries doesn't have to be ordered as in the case of static libraries.</div>

<div>I hate the wicked order rule for .a libraries, but have to live with it...</div><div><br></div><div>Further, I guess -Bstatic options are dropped somewhere (I haven't checked it in detail). The final PACKAGES_LIBS macro never contains -Bstatic, so end application will always link to the static libraries.</div>

<div><br></div><div><br></div><div>Regards,</div><div>Shen Chen</div><font color="#888888"><div><br></div><div><br></div>
</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>