[petsc-users] petsc+chombo

Satish Balay balay at mcs.anl.gov
Fri Oct 2 16:16:56 CDT 2015


I'm not sure why you think a patch is 'really a last resort for 3.6'

This is how issues get fixed - and then you have the fixes available
in the next patch release 3.6.2 etc. You can apply a patch [stored in
a patchfile] with the command:

patch -Np1 < patchfile

Or use git to obtain petsc - and use 'maint' for the 3.6 release - and
corresponding fixes.  ttp://www.mcs.anl.gov/petsc/download/index.html

Or wait till petsc-3.6.2 gets released.

Satish


On Fri, 2 Oct 2015, Juha Jäykkä wrote:

> I'm sure that fixes it, but I would have hoped there is a proper way of just 
> configuring and making PETSc with --download-chombo. I.e. without patching 
> PETSc first. If there is no such way, I'm happy to apply the patch, but it is 
> really a last resort for 3.6; for > 3.6 it would of course be fine as it could 
> be released with the patch applied.
> 
> Cheers,
> Juha
> 
> On Friday 02 Oct 2015 13:23:40 Barry Smith wrote:
> >   I think Satish already told you the fix. Please let us know if it does not
> > work.
> > 
> > Hm - we usually try to avoiding creating binaries in externalpackages
> > [if not needed] - esp the examples/tests.
> > 
> > So perhaps chombo shoul have the following change.
> > 
> > Satish
> > 
> > ------
> > diff --git a/config/BuildSystem/config/packages/Chombo.py
> > b/config/BuildSystem/config/packages/Chombo.py index effbca6..7a13b0a
> > 100644
> > --- a/config/BuildSystem/config/packages/Chombo.py
> > +++ b/config/BuildSystem/config/packages/Chombo.py
> > @@ -110,7 +110,7 @@ class Configure(config.package.Package):
> >           raise RuntimeError('Error running make on Chombo: config value not
> > found') config_value=poutput.split('=')[1]
> >         self.logPrint('Chombo installed using config=%s\n'%config_value)
> > -        output,err,ret = config.package.Package.executeShellCommand('cd
> > '+os.path.join(self.packageDir,'lib') +' && make clean && make all',
> > timeout=2500, log = self.log) +        output,err,ret =
> > config.package.Package.executeShellCommand('cd
> > '+os.path.join(self.packageDir,'lib') +' && make clean && make lib',
> > timeout=2500, log = self.log) output,err,ret =
> > config.package.Package.executeShellCommand('cd
> > '+self.packageDir+self.installSudo+'&& cp -f
> > lib/lib*.'+self.setCompilers.AR_LIB_SUFFIX+'
> > '+os.path.join(self.installDir,self.libdir,'')+' &&  '+self.installSudo+'cp
> > -f lib/include/*.H '+os.path.join(self.installDir,self.includedir,''),
> > timeout=2500, log = self.log) except RuntimeError, e:
> >         raise RuntimeError('Error running make on Chombo: '+str(e))
> > 
> > > On Oct 2, 2015, at 4:38 AM, Juha Jaykka <juhaj at iki.fi> wrote:
> > > 
> > > Dear Barry,
> > > 
> > > Please find the configure.log at http://www.iki.fi/~juhaj/configure.log.
> > > 
> > > On a more general level, I wonder if the chombo-petsc interoperability is
> > > documented anywhere? I grepped through the examples and came up blank.
> > > 
> > > Cheers,
> > > Juha
> > > 
> > > On Thursday 01 Oct 2015 09:53:26 Barry Smith wrote:
> > >>  We absolutely NEED configure.log to help you.
> > >>  
> > >>  Barry
> > >>  
> > >>> On Oct 1, 2015, at 9:24 AM, Juha Jaykka <juhaj at iki.fi> wrote:
> > >>> 
> > >>> Hi list,
> > >>> 
> > >>> I'm trying to compile PETSc 3.6 with --download-chombo, but keep
> > >>> failing.
> > >>> It seems to me the chombo build system is not told to link in
> > >>> libgfortran.so, but no matter how I try to convince PETSc to add that,
> > >>> it
> > >>> won't. How should this be used, please?
> > >>> 
> > >>> The full configure line is
> > >>> 
> > >>> ./configure --prefix=/home/juhaj/progs+3.6/petsc --with-shared-libraries
> > >>> --
> > >>> with-debugging=0 \
> > >>> 
> > >>>         --useThreads 0 --with-clanguage=C++ --with-c-support \
> > >>>         --with-fortran-interfaces=1 \
> > >>>         --with-mpi=1 --with-mpi-shared=1 \
> > >>> 	  
> > >>> 	  --with-blas-lapack-include=/usr/include/openblas --with-blas-
> > >>> 
> > >>> lib=/usr/lib/openblas-base/libblas.so
> > >>> --with-lapack-lib=/usr/lib/openblas-
> > >>> base/liblapack.so \
> > >>> 
> > >>>         --with-scalapack=1 --with-scalapack-include=/usr/include \
> > >>>         --with-scalapack-lib=/usr/lib/libscalapack-openmpi.so \
> > >>>         --with-mumps=0 \
> > >>> 	  
> > >>> 	  --with-suitesparse=0 \
> > >>> 	  
> > >>>         --with-spooles=1 --with-spooles-include=/usr/include/spooles \
> > >>>         --with-spooles-lib=/usr/lib/libspooles.so \
> > >>>         --with-hypre=1 --with-hypre-include=/usr/include --with-hypre-
> > >>> 
> > >>> lib=/usr/lib/libHYPRE_IJ_mv-2.8.0b.so \
> > >>> 
> > >>>         --with-fftw=1 --with-fftw-include=/usr/include \
> > >>>         --with-fftw-lib=[/usr/lib/x86_64-linux-
> > >>> 
> > >>> gnu/libfftw3.so,/usr/lib/x86_64-linux-gnu/libfftw3_mpi.so] \
> > >>> 
> > >>>         --with-hdf5=1 --with-hdf5-include=/usr/include/hdf5/openmpi
> > >>>         --with-
> > >>> 
> > >>> hdf5-lib=/usr/lib/x86_64-linux-gnu/libhdf5_openmpi.so \
> > >>> 
> > >>> 	  --CXX_LINKER_FLAGS="-Wl,--no-as-needed -lgfortran" --LDFLAGS="-
> > >>> 
> > >>> lgfortran -g" --LIBS="-lgfortran" \
> > >>> 
> > >>> 	  --with-clean=1 --with-memalign=64 --with-log=0 --with-valgrind=1 \
> > >>> 	  --with-afterimage=1 --with-afterimage-
> > >>> 
> > >>> include=/usr/include/libAfterImage
> > >>> --with-afterimage-lib=/usr/lib/x86_64-
> > >>> linux-gnu/libAfterImage.so \
> > >>> 
> > >>> 	  --with-boost=1 \
> > >>> 	  --with-netcdf=1 --with-netcdf-include=/usr/include/ --with-netcdf-
> > >>> 
> > >>> lib=/usr/lib/libnetcdf.so \
> > >>> 
> > >>> 	  --with-triangle=0 \
> > >>> 	  --with-numpy=1 \
> > >>> 	  --with-hwloc=1  --with-external-packages-
> > >>> 
> > >>> dir=/home/juhaj/progs+3.6/automatic-downloads \
> > >>> 
> > >>> 	  --with-parmetis=0 --with-metis=0 \
> > >>> 	  --with-tetgen=0 \
> > >>> 	  --with-scalar-type=real --with-pic=1 --with-gnu-compilers=1 --with-
> > >>> 
> > >>> openmp=1 \
> > >>> 
> > >>> 	  --with-64-bit-indices \
> > >>> 	  --download-chombo
> > >>> 
> > >>> and the final error in configure is
> > >>> 
> > >>> /bin/csh -f -c "mpicxx -g
> > >>> o/2d.Linux.64.mpicxx.mpif90.DEBUG/testFourthOrderFillPatch.o   -
> > >>> L/home/juhaj/progs+3.6/automatic-downloads/arch-linux2-cxx-
> > >>> opt/Chombo/lib/test/AMRTimeDependent/../.. -
> > >>> lamrtimedependent2d.Linux.64.mpicxx.mpif90.DEBUG -
> > >>> lamrtools2d.Linux.64.mpicxx.mpif90.DEBUG -
> > >>> lboxtools2d.Linux.64.mpicxx.mpif90.DEBUG -
> > >>> lbasetools2d.Linux.64.mpicxx.mpif90.DEBUG
> > >>> -Wl,-rpath,/usr/lib/x86_64-linux- gnu -L/usr/lib/x86_64-linux-gnu
> > >>> -lhdf5_openmpi     -Wl,-
> > >>> rpath,/usr/lib/openblas-base -L/usr/lib/openblas-base -llapack -Wl,-
> > >>> rpath,/usr/lib/openblas-base -L/usr/lib/openblas-base -lblas  -o
> > >>> testFourthOrderFillPatch2d.Linux.64.mpicxx.mpif90.DEBUG.ex |&  awk -f
> > >>> /home/juhaj/progs+3.6/automatic-downloads/arch-linux2-cxx-
> > >>> opt/Chombo/lib/test/AMRTimeDependent/../../mk/tempnam.awk"
> > >>> /usr/bin/ld: /home/juhaj/progs+3.6/automatic-downloads/arch-linux2-cxx-
> > >>> opt/Chombo/lib/test/AMRTimeDependent/../../libamrtools2d.Linux.64.mpicxx
> > >>> .m
> > >>> pif90.DEBUG.a(CFLeastSquares.o): undefined reference to symbol
> > >>> '_gfortran_transfer_integer_write@@GFORTRAN_1.4'
> > >>> /usr/lib/x86_64-linux-gnu/libgfortran.so.3: error adding symbols: DSO
> > >>> missing from command line
> > >>> collect2: error: ld returned 1 exit status
> > >>> 
> > >>> 
> > >>> 
> > >>> Cheers,
> > >>> Juha
> 
> 


More information about the petsc-users mailing list