<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.45">
<TITLE>RE: [PATCH] [openib-general] Strange configure error in libibcm</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>What I noticed is that moving the sizeof check before the library check resulted in the generated GCC command not including the libraries (no -l parameters).  Therefore, the sizeof check program did indeed run, and yielded the correct result.  Evidently, once the library check is performed, subsequent checks all generate a GCC command line which includes the checked libraries as "-l<libxx>" parameters.  You simply need to organize file configure.in so that all tests which do not require extra libraries are executed before any library-check tests.  (I assume that the macro language generates a "LIB=" line when a library check is requested, and that this line is not unset after the test -- a probable bug in autoconf or configure).</FONT></P>

<P><FONT SIZE=2>BTW, I noticed that the library check only compiled test programs -- it did not attempt to run them! (thats why the library check succeeded even though the checked libraries are not in the search path).  Strange.</FONT></P>

<P><FONT SIZE=2>Jack</FONT>
</P>

<P><FONT SIZE=2>-----Original Message-----</FONT>
<BR><FONT SIZE=2>From: Roland Dreier [<A HREF="mailto:rolandd@cisco.com">mailto:rolandd@cisco.com</A>]</FONT>
<BR><FONT SIZE=2>Sent: Thursday, September 15, 2005 8:32 AM</FONT>
<BR><FONT SIZE=2>To: Jack Morgenstein</FONT>
<BR><FONT SIZE=2>Cc: openib-general@openib.org</FONT>
<BR><FONT SIZE=2>Subject: Re: [PATCH] [openib-general] Strange configure error in libibcm</FONT>
</P>
<BR>

<P><FONT SIZE=2>    Jack> No error message is generated (i.e., the patch fixes the</FONT>
<BR><FONT SIZE=2>    Jack> problem).  autoconf and configure work as they should with</FONT>
<BR><FONT SIZE=2>    Jack> this patch.</FONT>
</P>

<P><FONT SIZE=2>Right, but the program that gets built won't run because ld.so won't</FONT>
<BR><FONT SIZE=2>find the library it's linked with.  That's what I meant about the</FONT>
<BR><FONT SIZE=2>error message being easier to understand: it's easy to see you have to</FONT>
<BR><FONT SIZE=2>set LD_LIBRARY_PATH in that case.</FONT>
</P>

<P><FONT SIZE=2> - R.</FONT>
</P>

</BODY>
</HTML>