Discussion:
[petsc-users] petsc+chombo
Juha Jaykka
2015-10-01 14:24:14 UTC
Permalink
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.mpif90.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
Barry Smith
2015-10-01 14:53:26 UTC
Permalink
We absolutely NEED configure.log to help you.

Barry
Post by Juha Jaykka
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-
/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
Satish Balay
2015-10-01 15:44:12 UTC
Permalink
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))
Post by Barry Smith
We absolutely NEED configure.log to help you.
Barry
Post by Juha Jaykka
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-
/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
Barry Smith
2015-10-01 18:39:34 UTC
Permalink
Post by Satish Balay
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,

Looks good to me, push if it works for you.

Barry
Post by Satish Balay
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
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)
raise RuntimeError('Error running make on Chombo: '+str(e))
Post by Barry Smith
We absolutely NEED configure.log to help you.
Barry
Post by Juha Jaykka
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-
/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
Satish Balay
2015-10-01 18:46:02 UTC
Permalink
Post by Barry Smith
Post by Satish Balay
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,
Looks good to me, push if it works for you.
pushed to maint [and merged to master]

Satish
Post by Barry Smith
Barry
Post by Satish Balay
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
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)
raise RuntimeError('Error running make on Chombo: '+str(e))
Post by Barry Smith
We absolutely NEED configure.log to help you.
Barry
Post by Juha Jaykka
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-
/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 Jaykka
2015-10-02 09:38:56 UTC
Permalink
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
Post by Barry Smith
We absolutely NEED configure.log to help you.
Barry
Post by Juha Jaykka
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
/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
Barry Smith
2015-10-02 18:23:40 UTC
Permalink
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))
Post by Juha Jaykka
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
Post by Barry Smith
We absolutely NEED configure.log to help you.
Barry
Post by Juha Jaykka
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
/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ä
2015-10-02 21:03:55 UTC
Permalink
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
Post by Barry Smith
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
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,''),
raise RuntimeError('Error running make on Chombo: '+str(e))
Post by Juha Jaykka
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
Post by Barry Smith
We absolutely NEED configure.log to help you.
Barry
Post by Juha Jaykka
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
/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ä, ***@iki.fi |
| http://koti.kapsi.fi/~juhaj/ |
-----------------------------------------------
Barry Smith
2015-10-02 21:14:02 UTC
Permalink
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
Post by Juha Jäykkä
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
Post by Barry Smith
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
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,''),
raise RuntimeError('Error running make on Chombo: '+str(e))
Post by Juha Jaykka
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
Post by Barry Smith
We absolutely NEED configure.log to help you.
Barry
Post by Juha Jaykka
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
/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
--
-----------------------------------------------
| http://koti.kapsi.fi/~juhaj/ |
-----------------------------------------------
Satish Balay
2015-10-02 21:16:56 UTC
Permalink
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
Post by Juha Jäykkä
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
Post by Barry Smith
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
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,''),
raise RuntimeError('Error running make on Chombo: '+str(e))
Post by Juha Jaykka
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
Post by Barry Smith
We absolutely NEED configure.log to help you.
Barry
Post by Juha Jaykka
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
/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
Loading...