<div dir="ltr">Matt, Barry<div><br></div><div>Thank you so much for your help. The problem was solved by using --download-parmetis=1 as you pointed. Also thanks for the PETSC_ARCH tip; I was under the impression that each build needs to be in a separate directory. </div>

<div><br></div><div>Thanks again,</div><div>Mohammad<br><br><div class="gmail_quote">On Tue, Jul 26, 2011 at 8:54 PM, Barry Smith <span dir="ltr">&lt;<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
  Please do a fresh version of the --download-parmetis run and send the configure.log to <a href="mailto:petsc-maint@mcs.anl.gov">petsc-maint@mcs.anl.gov</a> This mailing list is not for large attachments or configure failures.<br>


<br>
  To make sure everything is clean please remove /home/mohammad/soft/petsc-3.1-p8-debug  and get a new copy of the PETSc tarball first. Note also that there is no need to attach -debug to the name of the directory since this same directory can contain two installs of PETSc by using different PETSC_ARCH names and using different ./configure options for each one.<br>


<font color="#888888"><br>
<br>
<br>
   Barry<br>
</font><div><div></div><div class="h5"><br>
On Jul 26, 2011, at 10:43 PM, Mohammad Mirzadeh wrote:<br>
<br>
&gt; Hi all,<br>
&gt;<br>
&gt; I am having trouble configuring PETSc 3.1-p8 with ParMetis 3.2 and below (I have tried all of their versions). What I can understand from the configure.log (attached below) is that for some reason PETSc cannot find the libs . I have tried the flag --download-parmetis=/path/to/tar.gz and also tried compiling ParMetis myself and using --with-parmetis-dir=/path/to/build_dir and none seem to work. In the latter case, ParMetis compiles just fine but it does not put the libs and header files under /build_dir/include or /buid_dir/lib.<br>


&gt;<br>
&gt; Does using --with-parmetis-include and --with-parmetis-lib work with multiple directory locations? I tried putting all the hear files in one directory but there are multiple header files with the same name and I do not know which one I should use. Any help is greatly appreciated.<br>


&gt;<br>
&gt; Thanks,<br>
&gt; Mohammad<br>
&gt;<br>
&gt;<br>
&gt; ================================================================================<br>
&gt; TEST configureLibrary from PETSc.packages.ParMetis(/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/package.py:370)<br>
&gt; TESTING: configureLibrary from PETSc.packages.ParMetis(config/BuildSystem/config/package.py:370)<br>
&gt;   Find an installation and check if it can work with PETSc<br>
&gt; ==================================================================================<br>
&gt;       Checking for a functional ParMetis<br>
&gt;               Found a copy of PARMETIS in ParMetis-3.2.0<br>
&gt;                 Pushing language C<br>
&gt;                 Popping language C<br>
&gt; Have to rebuild ParMetis, make.inc != /home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/conf/ParMetis<br>
&gt;                   ===============================================================================<br>
&gt;                       Compiling &amp; installing Parmetis; this may take several minutes<br>
&gt;                   ===============================================================================<br>
&gt;<br>
&gt; sh: cd /home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0; make clean; make lib; make minstall; make clean<br>
&gt; Executing: cd /home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0; make clean; make lib; make minstall; make clean<br>
&gt; sh: (cd METISLib ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib&#39;<br>
&gt; rm -f *.o<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib&#39;<br>
&gt; (cd ParMETISLib ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib&#39;<br>
&gt; rm -f *.o<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib&#39;<br>
&gt; (cd Programs ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs&#39;<br>
&gt; rm -f *.o ;\<br>
&gt;       rm -f ../Graphs/ptest3.2.0<br>
&gt; rm -f ../Graphs/mtest3.2.0<br>
&gt; rm -f ../Graphs/parmetis3.2.0<br>
&gt; rm -f ../Graphs/pometis3.2.0<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs&#39;<br>
&gt; (cd METISLib ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib&#39;<br>
&gt; rm -f *.o<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib&#39;<br>
&gt; (cd ParMETISLib ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib&#39;<br>
&gt; rm -f *.o<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib&#39;<br>
&gt; (cd Programs ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs&#39;<br>
&gt; rm -f *.o ;\<br>
&gt;       rm -f ../Graphs/ptest3.2.0<br>
&gt; rm -f ../Graphs/mtest3.2.0<br>
&gt; rm -f ../Graphs/parmetis3.2.0<br>
&gt; rm -f ../Graphs/pometis3.2.0<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs&#39;<br>
&gt;<br>
&gt; ********Output of running make on ParMetis follows *******<br>
&gt; (cd METISLib ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib&#39;<br>
&gt; rm -f *.o<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib&#39;<br>
&gt; (cd ParMETISLib ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib&#39;<br>
&gt; rm -f *.o<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib&#39;<br>
&gt; (cd Programs ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs&#39;<br>
&gt; rm -f *.o ;\<br>
&gt;       rm -f ../Graphs/ptest3.2.0<br>
&gt; rm -f ../Graphs/mtest3.2.0<br>
&gt; rm -f ../Graphs/parmetis3.2.0<br>
&gt; rm -f ../Graphs/pometis3.2.0<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs&#39;<br>
&gt; (cd METISLib ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib&#39;<br>
&gt; rm -f *.o<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib&#39;<br>
&gt; (cd ParMETISLib ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib&#39;<br>
&gt; rm -f *.o<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib&#39;<br>
&gt; (cd Programs ; make clean )<br>
&gt; make[1]: Entering directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs&#39;<br>
&gt; rm -f *.o ;\<br>
&gt;       rm -f ../Graphs/ptest3.2.0<br>
&gt; rm -f ../Graphs/mtest3.2.0<br>
&gt; rm -f ../Graphs/parmetis3.2.0<br>
&gt; rm -f ../Graphs/pometis3.2.0<br>
&gt; make[1]: Leaving directory `/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs&#39;<br>
&gt; make: *** No rule to make target `lib&#39;.  Stop.<br>
&gt; make: *** No rule to make target `minstall&#39;.  Stop.<br>
&gt; ********End of Output of running make on ParMetis *******<br>
&gt; sh: cp -f /home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/make.inc /home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/conf/ParMetis<br>
&gt; Executing: cp -f /home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/make.inc /home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/conf/ParMetis<br>
&gt; sh:<br>
&gt;       Checking for library in Download PARMETIS: [&#39;/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib/libparmetis.a&#39;, &#39;libmetis.a&#39;]<br>
&gt; ================================================================================<br>
&gt; TEST check from config.libraries(/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/libraries.py:133)<br>
&gt; TESTING: check from config.libraries(config/BuildSystem/config/libraries.py:133)<br>
&gt;   Checks that the library &quot;libName&quot; contains &quot;funcs&quot;, and if it does defines HAVE_LIB&quot;libName&quot;<br>
&gt;        - libDir may be a list of directories<br>
&gt;        - libName may be a list of library names<br>
&gt;           Checking for functions [&#39;ParMETIS_V3_PartKway&#39;] in library [&#39;/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib/libparmetis.a&#39;, &#39;libmetis.a&#39;] [&#39;libnsl.a&#39;, &#39;librt.a&#39;]<br>


&gt;             Pushing language C<br>
&gt; sh: /home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/bin/mpicc -c -o conftest.o  -Wall -Wwrite-strings -Wno-strict-aliasing -g3  conftest.c<br>
&gt; Executing: /home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/bin/mpicc -c -o conftest.o  -Wall -Wwrite-strings -Wno-strict-aliasing -g3  conftest.c<br>
&gt; sh:<br>
&gt;                     Pushing language C<br>
&gt;                     Popping language C<br>
&gt; sh: /home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/bin/mpicc  -o conftest    -Wall -Wwrite-strings -Wno-strict-aliasing -g3  conftest.o  -Wl,-rpath,/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib -L/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib -lparmetis -lmetis -lnsl -lrt -lmpichcxx -lstdc++ -L/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib -L/usr/lib/gcc/x86_64-linux-gnu/4.4.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.4.3 -L/usr/lib/x86_64-linux-gnu -ldl -lmpich -lpthread -lrt -lgcc_s -ldl<br>


&gt; Executing: /home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/bin/mpicc  -o conftest    -Wall -Wwrite-strings -Wno-strict-aliasing -g3  conftest.o  -Wl,-rpath,/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib -L/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib -lparmetis -lmetis -lnsl -lrt -lmpichcxx -lstdc++ -L/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib -L/usr/lib/gcc/x86_64-linux-gnu/4.4.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.4.3 -L/usr/lib/x86_64-linux-gnu -ldl -lmpich -lpthread -lrt -lgcc_s -ldl<br>


&gt; sh:<br>
&gt; Possible ERROR while running linker: /usr/bin/ld: cannot find -lparmetis<br>
&gt; collect2: ld returned 1 exit status<br>
&gt;  output: ret = 256<br>
&gt; error message = {/usr/bin/ld: cannot find -lparmetis<br>
&gt; collect2: ld returned 1 exit status<br>
&gt; }<br>
&gt;                         Pushing language C<br>
&gt;                         Popping language C<br>
&gt;  in /home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/bin/mpicc  -o conftest    -Wall -Wwrite-strings -Wno-strict-aliasing -g3  conftest.o  -Wl,-rpath,/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib -L/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib -lparmetis -lmetis -lnsl -lrt -lmpichcxx -lstdc++ -L/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib -L/usr/lib/gcc/x86_64-linux-gnu/4.4.3 -L/usr/lib/gcc/x86_64-linux-gnu/4.4.3 -L/usr/lib/x86_64-linux-gnu -ldl -lmpich -lpthread -lrt -lgcc_s -ldl<br>


&gt; Source:<br>
&gt; #include &quot;confdefs.h&quot;<br>
&gt; #include &quot;conffix.h&quot;<br>
&gt; /* Override any gcc2 internal prototype to avoid an error. */<br>
&gt; char ParMETIS_V3_PartKway();<br>
&gt;<br>
&gt; int main() {<br>
&gt; ParMETIS_V3_PartKway()<br>
&gt; ;<br>
&gt;   return 0;<br>
&gt; }<br>
&gt;             Popping language C<br>
&gt; *******************************************************************************<br>
&gt;          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):<br>
&gt; -------------------------------------------------------------------------------<br>
&gt; Downloaded parmetis could not be used. Please check install in /home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug<br>
&gt; *******************************************************************************<br>
&gt;   File &quot;./config/configure.py&quot;, line 257, in petsc_configure<br>
&gt;     framework.configure(out = sys.stdout)<br>
&gt;   File &quot;/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/framework.py&quot;, line 944, in configure<br>
&gt;     child.configure()<br>
&gt;   File &quot;/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/package.py&quot;, line 456, in configure<br>
&gt;     self.executeTest(self.configureLibrary)<br>
&gt;   File &quot;/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/base.py&quot;, line 97, in executeTest<br>
&gt;     ret = apply(test, args,kargs)<br>
&gt;   File &quot;/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/package.py&quot;, line 395, in configureLibrary<br>
&gt;     for location, directory, lib, incl in self.generateGuesses():<br>
&gt;   File &quot;/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/package.py&quot;, line 210, in generateGuesses<br>
&gt;     raise RuntimeError(&#39;Downloaded &#39;+self.package+&#39; could not be used. Please check install in &#39;+d+&#39;\n&#39;)<br>
<br>
</div></div></blockquote></div><br></div></div>