[petsc-users] Compilation error in petsc 3.1-p8 with ParMetis

Mohammad Mirzadeh mirzadeh at gmail.com
Tue Jul 26 22:43:03 CDT 2011


Hi all,

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.

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.

Thanks,
Mohammad


================================================================================
TEST configureLibrary from
PETSc.packages.ParMetis(/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/package.py:370)
TESTING: configureLibrary from
PETSc.packages.ParMetis(config/BuildSystem/config/package.py:370)
  Find an installation and check if it can work with PETSc
==================================================================================
      Checking for a functional ParMetis
              Found a copy of PARMETIS in ParMetis-3.2.0
                Pushing language C
                Popping language C
Have to rebuild ParMetis, make.inc !=
/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/conf/ParMetis

===============================================================================
                      Compiling & installing Parmetis; this may take several
minutes

===============================================================================

sh: cd
/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0; make
clean; make lib; make minstall; make clean
Executing: cd
/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0; make
clean; make lib; make minstall; make clean
sh: (cd METISLib ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib'
rm -f *.o
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib'
(cd ParMETISLib ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib'
rm -f *.o
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib'
(cd Programs ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs'
rm -f *.o ;\
rm -f ../Graphs/ptest3.2.0
rm -f ../Graphs/mtest3.2.0
rm -f ../Graphs/parmetis3.2.0
rm -f ../Graphs/pometis3.2.0
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs'
(cd METISLib ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib'
rm -f *.o
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib'
(cd ParMETISLib ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib'
rm -f *.o
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib'
(cd Programs ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs'
rm -f *.o ;\
rm -f ../Graphs/ptest3.2.0
rm -f ../Graphs/mtest3.2.0
rm -f ../Graphs/parmetis3.2.0
rm -f ../Graphs/pometis3.2.0
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs'

********Output of running make on ParMetis follows *******
(cd METISLib ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib'
rm -f *.o
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib'
(cd ParMETISLib ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib'
rm -f *.o
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib'
(cd Programs ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs'
rm -f *.o ;\
rm -f ../Graphs/ptest3.2.0
rm -f ../Graphs/mtest3.2.0
rm -f ../Graphs/parmetis3.2.0
rm -f ../Graphs/pometis3.2.0
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs'
(cd METISLib ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib'
rm -f *.o
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/METISLib'
(cd ParMETISLib ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib'
rm -f *.o
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/ParMETISLib'
(cd Programs ; make clean )
make[1]: Entering directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs'
rm -f *.o ;\
rm -f ../Graphs/ptest3.2.0
rm -f ../Graphs/mtest3.2.0
rm -f ../Graphs/parmetis3.2.0
rm -f ../Graphs/pometis3.2.0
make[1]: Leaving directory
`/home/mohammad/soft/petsc-3.1-p8-debug/externalpackages/ParMetis-3.2.0/Programs'
make: *** No rule to make target `lib'.  Stop.
make: *** No rule to make target `minstall'.  Stop.
********End of Output of running make on ParMetis *******
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
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
sh:
      Checking for library in Download PARMETIS:
['/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib/libparmetis.a',
'libmetis.a']
================================================================================
TEST check from
config.libraries(/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/libraries.py:133)
TESTING: check from
config.libraries(config/BuildSystem/config/libraries.py:133)
  Checks that the library "libName" contains "funcs", and if it does defines
HAVE_LIB"libName"
       - libDir may be a list of directories
       - libName may be a list of library names
          Checking for functions ['ParMETIS_V3_PartKway'] in library
['/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug/lib/libparmetis.a',
'libmetis.a'] ['libnsl.a', 'librt.a']
            Pushing language C
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
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
sh:
                    Pushing language C
                    Popping language C
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
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
sh:
Possible ERROR while running linker: /usr/bin/ld: cannot find -lparmetis
collect2: ld returned 1 exit status
 output: ret = 256
error message = {/usr/bin/ld: cannot find -lparmetis
collect2: ld returned 1 exit status
}
                        Pushing language C
                        Popping language C
 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
Source:
#include "confdefs.h"
#include "conffix.h"
/* Override any gcc2 internal prototype to avoid an error. */
char ParMETIS_V3_PartKway();

int main() {
ParMETIS_V3_PartKway()
;
  return 0;
}
            Popping language C
*******************************************************************************
         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for
details):
-------------------------------------------------------------------------------
Downloaded parmetis could not be used. Please check install in
/home/mohammad/soft/petsc-3.1-p8-debug/linux-gnu-c-debug
*******************************************************************************
  File "./config/configure.py", line 257, in petsc_configure
    framework.configure(out = sys.stdout)
  File
"/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/framework.py",
line 944, in configure
    child.configure()
  File
"/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/package.py",
line 456, in configure
    self.executeTest(self.configureLibrary)
  File
"/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/base.py",
line 97, in executeTest
    ret = apply(test, args,kargs)
  File
"/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/package.py",
line 395, in configureLibrary
    for location, directory, lib, incl in self.generateGuesses():
  File
"/home/mohammad/soft/petsc-3.1-p8-debug/config/BuildSystem/config/package.py",
line 210, in generateGuesses
    raise RuntimeError('Downloaded '+self.package+' could not be used.
Please check install in '+d+'\n')
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110726/d399b8d3/attachment-0001.htm>


More information about the petsc-users mailing list