Compiling PETSc with Visual Studio 2008

Farshid Mossaiby mossaiby at yahoo.com
Tue Apr 29 01:59:57 CDT 2008


Sorry I saw your email after I sent my log. Thanks for
your help.

Will check and report the results.

Best regards,
Farshid Mossaiby


--- Satish Balay <balay at mcs.anl.gov> wrote:

> On Mon, 28 Apr 2008, Satish Balay wrote:
> 
> > 
> > On Sun, 27 Apr 2008, Farshid Mossaiby wrote:
> 
> > > Configure says it cannot make ParMetis with the
> option
> > > --download-parmetis. Is this related to Visual
> Studio 2008
> > > compiler I use, or something else is wrong? Here
> is the message:
> > 
> > Most externalpackages are never tested by their
> original authors with
> > MS compilers. And we have not tried porting them
> to them.
> > 
> > So most of them won't compile - hence
> --download-packagename might not
> > work.
> > 
> > BTW: Currently my test windows box is down - so I
> can't check if this
> > is supporsed to work with MS compilers.
> 
> Looks like parmetis does compile with MS compilers.
> Please try try the
> attached patch.
> 
> cd petsc-2.3.3
> patch -Np1 < parmetis-win.patch
> rm -rf externalpackage/ParMetis*
> ./config/configure.py .....
> 
> This fix will be in petsc-dev.
> 
> Satish> diff -r 4041e3152979
> python/PETSc/packages/ParMetis.py
> --- a/python/PETSc/packages/ParMetis.py	Mon Apr 21
> 11:20:42 2008 -0500
> +++ b/python/PETSc/packages/ParMetis.py	Mon Apr 28
> 21:15:01 2008 -0500
> @@ -5,7 +5,7 @@
>  class Configure(PETSc.package.Package):
>    def __init__(self, framework):
>      PETSc.package.Package.__init__(self, framework)
> -    self.download     =
>
['hg://petsc.cs.iit.edu/petsc/ParMetis-dev','ftp://ftp.mcs.anl.gov/pub/petsc/externalpackages/ParMetis-dev-p1.tar.gz']
> +    self.download     =
>
['hg://petsc.cs.iit.edu/petsc/ParMetis-dev','ftp://ftp.mcs.anl.gov/pub/petsc/externalpackages/ParMetis-dev-p2.tar.gz']
>      self.functions    = ['ParMETIS_V3_PartKway']
>      self.includes     = ['parmetis.h']
>      self.liblist      =
> [['libparmetis.a','libmetis.a']]
> @@ -27,8 +27,9 @@
>      installDir     = os.path.join(parmetisDir,
> self.arch.arch)
>      makeinc        =
> os.path.join(parmetisDir,'make.inc')
>      installmakeinc =
> os.path.join(installDir,'make.inc')
> -    configheader   =
>
os.path.join(parmetisDir,'ParMETISLib','configureheader.h')
> -
> +    metisconfigheader    =
>
os.path.join(parmetisDir,'METISLib','configureheader.h')
> +    parmetisconfigheader =
>
os.path.join(parmetisDir,'ParMETISLib','configureheader.h')
> +    
>      # Configure ParMetis 
>      if os.path.isfile(makeinc):
>        os.unlink(makeinc)
> @@ -63,7 +64,8 @@
>      
>      if not os.path.isfile(installmakeinc) or not
> (self.getChecksum(installmakeinc) ==
> self.getChecksum(makeinc)):
>        self.framework.log.write('Have to rebuild
> ParMetis, make.inc != '+installmakeinc+'\n')
> -      self.framework.outputHeader(configheader)
> +     
> self.framework.outputHeader(metisconfigheader)
> +     
> self.framework.outputHeader(parmetisconfigheader)
>        try:
>          self.logPrintBox('Compiling & installing
> Parmetis; this may take several minutes')
>          output  =
> config.base.Configure.executeShellCommand('cd
> '+parmetisDir+'; make clean; make lib; make
> minstall; make clean', timeout=2500, log =
> self.framework.log)[0]
> 



      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ




More information about the petsc-users mailing list