[petsc-users] petsc+chombo

Barry Smith bsmith at mcs.anl.gov
Fri Oct 2 16:14:02 CDT 2015


   We have added it to our 3.6 repository so the next patch release will have the fix. It would be helpful for us to know that the patch worked for you since we have no way of testing it ourselves.

  Barry
> On Oct 2, 2015, at 4:03 PM, Juha Jäykkä <juhaj at iki.fi> 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
> 
> -- 
> 		 -----------------------------------------------
> 		| Juha Jäykkä, juhaj at iki.fi			|
> 		| http://koti.kapsi.fi/~juhaj/			|
> 		 -----------------------------------------------
> 



More information about the petsc-users mailing list