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

Mohammad Mirzadeh mirzadeh at gmail.com
Wed Jul 27 00:58:28 CDT 2011


Matt, Barry

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.

Thanks again,
Mohammad

On Tue, Jul 26, 2011 at 8:54 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
>  Please do a fresh version of the --download-parmetis run and send the
> configure.log to petsc-maint at mcs.anl.gov This mailing list is not for
> large attachments or configure failures.
>
>  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.
>
>
>
>   Barry
>
> On Jul 26, 2011, at 10:43 PM, Mohammad Mirzadeh wrote:
>
> > 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/7b24f9f6/attachment-0001.htm>


More information about the petsc-users mailing list