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?
