> I just tried building petsc in my unstable chroot, and it worked fine.
> Perhaps I have a package installed which is not in the Build-Depends?
>
> Here's the post-configure Fortran build info:
>
> Fortran Compiler version:
> -----------------------------------------
> Using C/C++ linker:
> Using Fortran linker: /usr/bin/mpif90
> -----------------------------------------
> Using libraries: -L/home/hazelsct/petsc-2.3.3/lib/linux-gnu-c-opt
> -L/home/hazelsct/petsc-2.3.3/lib/linux-gnu-c-opt -lpetscts -lpetscsnes
> -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc -lX11 -L/usr/lib
> -L/usr/lib -lsuperlu -L/usr/lib -L/usr/lib -lumfpack -L/usr/lib -L/usr/lib
> -lamd -llapack-3 -lblas-3 -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3
> -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib -L/lib/../lib
> -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../.. -ldl -lmpi
> -lopen-rte -lopen-pal -lnsl -lutil -lgcc_s -lpthread -lmpi_f90 -lmpi_f77
> -lgfortranbegin -lgfortran -lm -lm -lm -lm
> -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3
> -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib -L/lib/../lib
> -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../.. -ldl -lmpi
> -lopen-rte -lopen-pal -lnsl -lutil -lgcc_s -lpthread -lmpi_f90 -lmpi_f77
> -lgfortranbegin -lgfortran -lm -lm -lm -lm
> -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3
> -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib -L/lib/../lib
> -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../.. -ldl -lmpi
> -lopen-rte -lopen-pal -lnsl -lutil -lgcc_s -lpthread -lmpi_f90 -lmpi_f77
> -lgfortranbegin -lgfortran -lm -lm -lm -lm
> -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3
> -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../../../lib -L/lib/../lib
> -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.2.3/../../.. -ldl -lmpi
> -lopen-rte -lopen-pal -lnsl -lutil -lgcc_s -lpthread -ldl
>
> Can you do me a favor and check to see whether all of those libraries
> are installed in your chroot? If not, then we've found the missing lib
> and can add that build-dep.
It seems I have all of them. Let's use pdebuild to get a reproducible
results. Please use these commands:
sudo pbuilder --create #create your pbuilder environment
sudo pbuilder --update
sudo apt-get source petsc
cd petsc-2.3.3
pdebuild
and you will get this (it's a different error than above, don't know why):
[...]
TESTING: checkCxxCompiler from
config.setCompilers(/tmp/buildd/petsc-2.3.3/python/BuildSystem/config/setCompilers.py:541)
TESTING: checkFortranCompiler from
config.setCompilers(/tmp/buildd/petsc-2.3.3/python/BuildSystem/config/setCompilers.py:708)
*********************************************************************************
UNABLE to CONFIGURE with GIVEN OPTIONS (see configure.log
for details):
---------------------------------------------------------------------------------------
bin/mpif90[f77] you provided with --with-mpi-dir=/usr does not work
Run with --with-fc=0 if you wish to use this MPI and disable Fortran
*********************************************************************************
make: *** [build-arch] Error 1
dpkg-buildpackage: failure: debian/rules build gave error exit status 2
pbuilder: Failed autobuilding of package
-> Aborting with an error
-> unmounting dev/pts filesystem
-> unmounting proc filesystem
-> cleaning the build env
-> removing directory /var/cache/pbuilder/build//9858 and its subdirectories
Are you able to reproduce this problem?
>
> > > I fear we will have to switch to lam, to satisfy both petsc4py and
> > > libmesh.
> > > I am going to try to build everything myself using lam and if I succeed,
> > > I'll send
> > > you a patch.
>
> Dealt with this in the previous message. If you need lam for now to get
> your work done, petsc should build with it; please let me know if it
> doesn't.
If openmpi is the implementation that people from lam moved to, let's
get everything run using openmpi, once and for all.
I am not so much interested in a hot fix, but rather for a systematic
way of doing things. Right now, I am trying to discover and fix the
problem with petsc. Then I'll continue with petsc4py and libmesh.
Ondrej