Actually the issue is: "when installing both superlu & superlu_dist" together [if superlu gets installed by configure after superlu_dist] - then the include from superlu is the one that gets used.
Petsc-3.2 uses superlu_dist-2.5 - and petsc-dev uses superlu_dist-3.0 Now that superlu was updated to match superlu_dist-3.0 [without a version change] - it breaks Petsc-3.2 build with superlu_dist-2.5. [because the updated include file from superlu is incompatible with superlu_dist-2.5 code] Satish On Thu, 27 Oct 2011, Xiaoye S. Li wrote: > The error is related to the new SuperLU_DIST (v3.0), not serial SuperLU. > In PETSc / SuperLU_DIST wrapper: superlu_dist.c, line 634, DOUBLE > should be replaced by SLU_DOUBLE. > > Sherry > > > On Thu, Oct 27, 2011 at 11:44 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote: > > On Thu, Oct 27, 2011 at 12:34, Ping Rong <ping.rong at tuhh.de> wrote: > >> > >> Hello all, > >> > >> I was trying to compile the PETSc-3.2-p4 with superlu_dist. The machine is > >> running with Ubuntu 10.04, gcc 4.4.5 and cmake 2.8.5. the configuration > >> looks like the following: > >> ./config/configure.py \ > >> --with-precision=double \ > >> --with-blas-lib=$LIBS_DIR/lapack/lib/libblas.so \ > >> --with-lapack-lib=$LIBS_DIR/lapack/lib/liblapack.so \ > >> --with-scalar-type=complex \ > >> --with-clanguage=c++ \ > >> --with-mpi-dir=$LIBS_DIR/mpich2 \ > >> --download-superlu=yes \ > >> --with-superlu=1 \ > >> --download-parmetis=yes \ > >> --with-parmetis=1 \ > >> --download-superlu_dist=yes \ > >> --with-superlu_dist=1 \ > >> --with-debugging=no \ > >> --with-shared-libraries=1 > >> > >> when I try to run "make all", it throws the error > >> //------------------------------- > >> [ 60%] Building CXX object CMakeFiles/petsc.dir/src/mat/order/amd/amd.c.o > >> /home/xxx/libs/petsc/src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c: In > >> function ?PetscErrorCode MatGetFactor_aij_superlu_dist(_p_Mat*, > >> MatFactorType, _p_Mat**)?: > >> > >> /home/xxx/libs/petsc/src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c:634: > >> error: ?DOUBLE? was not declared in this scope > >> /home/xxx/libs/petsc/src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c: In > >> function ?PetscErrorCode MatFactorInfo_SuperLU_DIST(_p_Mat*, > >> _p_PetscViewer*)?: > >> > >> /home/xxx/libs/petsc/src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c:698: > >> error: ?DOUBLE? was not declared in this scope > > > > The SuperLU maintainer made an API-incompatible change to the released > > tarball. > > Sherry, we talked about this last week and I thought you were going to make > > a SuperLU-4.3 release with the namespaced enum values? >
