diff options
author | bf <bf@FreeBSD.org> | 2013-03-30 22:29:40 +0800 |
---|---|---|
committer | bf <bf@FreeBSD.org> | 2013-03-30 22:29:40 +0800 |
commit | 59e552b782411927f5e9f9fee083419a89dfec77 (patch) | |
tree | 12079f8c6d04e12963d0ed66fc7ceb1648238e76 /math/petsc | |
parent | b9e4a018471ae58c93a5059c011c167cc064ae8a (diff) | |
download | freebsd-ports-gnome-59e552b782411927f5e9f9fee083419a89dfec77.tar.gz freebsd-ports-gnome-59e552b782411927f5e9f9fee083419a89dfec77.tar.zst freebsd-ports-gnome-59e552b782411927f5e9f9fee083419a89dfec77.zip |
fix the build after the math/suitesparse update
Reported by: miwi
Approved by: portmgr
Diffstat (limited to 'math/petsc')
-rw-r--r-- | math/petsc/Makefile | 20 | ||||
-rw-r--r-- | math/petsc/files/patch-src__mat__impls__aij__seq__umfpack__umfpack.c | 34 | ||||
-rw-r--r-- | math/petsc/pkg-descr | 2 |
3 files changed, 43 insertions, 13 deletions
diff --git a/math/petsc/Makefile b/math/petsc/Makefile index bb8d89960d0d..e6b71d102503 100644 --- a/math/petsc/Makefile +++ b/math/petsc/Makefile @@ -1,13 +1,9 @@ -# New ports collection makefile for: petsc -# Date created: 25 September 2004 -# Whom: Thierry Thomas <thierry@pompo.net> -# +# Created by: Thierry Thomas <thierry@pompo.net> # $FreeBSD$ -# PORTNAME= petsc DISTVERSION= 2.3.3-p0 -PORTREVISION= 6 +PORTREVISION= 7 PORTEPOCH= 1 CATEGORIES= math parallel MASTER_SITES= ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/ @@ -51,9 +47,9 @@ TARGET= ${OPSYS:L} PLIST_SUB= PFX=${PFX} TARGET=${TARGET} .if !defined(WITHOUT_UMFPACK) -UMFPACK_LIBS= umfpack.so,cholmod.so,colamd.so,amd.so +UMFPACK_LIBS= umfpack.so,cholmod.so,colamd.so,amd.so,suitesparseconfig.so L=${LOCALBASE}/lib/lib -LIB_DEPENDS+= umfpack.1:${PORTSDIR}/math/suitesparse +LIB_DEPENDS+= umfpack:${PORTSDIR}/math/suitesparse CONFIGURE_ARGS+= --with-umfpack-include="${LOCALBASE}/include/suitesparse" \ --with-umfpack-lib="[${UMFPACK_LIBS:C/^/${L}/:C/,/, ${L}/g}]" .endif @@ -122,11 +118,11 @@ PLIST_SUB+= MPIUNI="" WITH_ATLAS= yes .endif .if defined(WITH_ATLAS) -LIB_DEPENDS+= atlas.2:${PORTSDIR}/math/atlas +LIB_DEPENDS+= atlas:${PORTSDIR}/math/atlas LIBBLASLAPACK= -L${LOCALBASE}/lib -lalapack -lcblas -lf77blas CONFIGURE_ARGS+= --with-blas-lapack-lib="${LIBBLASLAPACK}" .else -LIB_DEPENDS+= lapack.4:${PORTSDIR}/math/lapack +LIB_DEPENDS+= lapack:${PORTSDIR}/math/lapack LIBBLASLAPACK= -L${LOCALBASE}/lib -llapack -lblas CONFIGURE_ARGS+= --with-blas-lapack-lib="${LIBBLASLAPACK}" .endif @@ -160,7 +156,7 @@ CONFLICTS+= metis-4* WITH_BLACS= yes .endif .if defined(WITH_BLACS) && defined(WITH_MPI) -LIB_DEPENDS+= blacs.1:${PORTSDIR}/math/blacs +LIB_DEPENDS+= blacs:${PORTSDIR}/math/blacs CONFIGURE_ARGS+= --with_blacs=1 \ --with-blacs-include=${LOCALBASE}/include \ --with-blacs-lib=[${LOCALBASE}/lib/libblacsc.a,${LOCALBASE}/lib/libblacsf77.a,${LOCALBASE}/lib/libblacs.a] @@ -168,7 +164,7 @@ CONFIGURE_ARGS+= --with_blacs=1 \ WITH_SCALAPACK= yes . endif . if defined(WITH_SCALAPACK) -LIB_DEPENDS+= scalapack.1:${PORTSDIR}/math/scalapack +LIB_DEPENDS+= scalapack:${PORTSDIR}/math/scalapack CONFIGURE_ARGS+= --with-scalapack=1 \ --with-scalapack-dir=${LOCALBASE} . endif diff --git a/math/petsc/files/patch-src__mat__impls__aij__seq__umfpack__umfpack.c b/math/petsc/files/patch-src__mat__impls__aij__seq__umfpack__umfpack.c new file mode 100644 index 000000000000..030e253cb259 --- /dev/null +++ b/math/petsc/files/patch-src__mat__impls__aij__seq__umfpack__umfpack.c @@ -0,0 +1,34 @@ +--- src/mat/impls/aij/seq/umfpack/umfpack.c.orig 2013-03-30 09:30:52.000000000 -0400 ++++ src/mat/impls/aij/seq/umfpack/umfpack.c 2013-03-30 09:32:20.000000000 -0400 +@@ -153,7 +153,7 @@ + PetscErrorCode ierr; + int m=A->rmap.n,n=A->cmap.n,*ai=mat->i,*aj=mat->j,status,*ra,idx; + PetscScalar *av=mat->a; +- const char *strategy[]={"AUTO","UNSYMMETRIC","SYMMETRIC","2BY2"}, ++ const char *strategy[]={"AUTO","UNSYMMETRIC","SYMMETRIC"}, + *scale[]={"NONE","SUM","MAX"}; + PetscTruth flg; + +@@ -189,14 +189,12 @@ + case 0: lu->Control[UMFPACK_STRATEGY] = UMFPACK_STRATEGY_AUTO; break; + case 1: lu->Control[UMFPACK_STRATEGY] = UMFPACK_STRATEGY_UNSYMMETRIC; break; + case 2: lu->Control[UMFPACK_STRATEGY] = UMFPACK_STRATEGY_SYMMETRIC; break; +- case 3: lu->Control[UMFPACK_STRATEGY] = UMFPACK_STRATEGY_2BY2; break; + } + } + ierr = PetscOptionsReal("-mat_umfpack_dense_col","Control[UMFPACK_DENSE_COL]","None",lu->Control[UMFPACK_DENSE_COL],&lu->Control[UMFPACK_DENSE_COL],PETSC_NULL);CHKERRQ(ierr); + ierr = PetscOptionsReal("-mat_umfpack_dense_row","Control[UMFPACK_DENSE_ROW]","None",lu->Control[UMFPACK_DENSE_ROW],&lu->Control[UMFPACK_DENSE_ROW],PETSC_NULL);CHKERRQ(ierr); + ierr = PetscOptionsReal("-mat_umfpack_amd_dense","Control[UMFPACK_AMD_DENSE]","None",lu->Control[UMFPACK_AMD_DENSE],&lu->Control[UMFPACK_AMD_DENSE],PETSC_NULL);CHKERRQ(ierr); + ierr = PetscOptionsReal("-mat_umfpack_block_size","Control[UMFPACK_BLOCK_SIZE]","None",lu->Control[UMFPACK_BLOCK_SIZE],&lu->Control[UMFPACK_BLOCK_SIZE],PETSC_NULL);CHKERRQ(ierr); +- ierr = PetscOptionsReal("-mat_umfpack_2by2_tolerance","Control[UMFPACK_2BY2_TOLERANCE]","None",lu->Control[UMFPACK_2BY2_TOLERANCE],&lu->Control[UMFPACK_2BY2_TOLERANCE],PETSC_NULL);CHKERRQ(ierr); + ierr = PetscOptionsReal("-mat_umfpack_fixq","Control[UMFPACK_FIXQ]","None",lu->Control[UMFPACK_FIXQ],&lu->Control[UMFPACK_FIXQ],PETSC_NULL);CHKERRQ(ierr); + ierr = PetscOptionsReal("-mat_umfpack_aggressive","Control[UMFPACK_AGGRESSIVE]","None",lu->Control[UMFPACK_AGGRESSIVE],&lu->Control[UMFPACK_AGGRESSIVE],PETSC_NULL);CHKERRQ(ierr); + +@@ -291,7 +289,6 @@ + ierr = PetscViewerASCIIPrintf(viewer," Control[UMFPACK_DENSE_ROW]: %g\n",lu->Control[UMFPACK_DENSE_ROW]);CHKERRQ(ierr); + ierr = PetscViewerASCIIPrintf(viewer," Control[UMFPACK_AMD_DENSE]: %g\n",lu->Control[UMFPACK_AMD_DENSE]);CHKERRQ(ierr); + ierr = PetscViewerASCIIPrintf(viewer," Control[UMFPACK_BLOCK_SIZE]: %g\n",lu->Control[UMFPACK_BLOCK_SIZE]);CHKERRQ(ierr); +- ierr = PetscViewerASCIIPrintf(viewer," Control[UMFPACK_2BY2_TOLERANCE]: %g\n",lu->Control[UMFPACK_2BY2_TOLERANCE]);CHKERRQ(ierr); + ierr = PetscViewerASCIIPrintf(viewer," Control[UMFPACK_FIXQ]: %g\n",lu->Control[UMFPACK_FIXQ]);CHKERRQ(ierr); + ierr = PetscViewerASCIIPrintf(viewer," Control[UMFPACK_AGGRESSIVE]: %g\n",lu->Control[UMFPACK_AGGRESSIVE]);CHKERRQ(ierr); + diff --git a/math/petsc/pkg-descr b/math/petsc/pkg-descr index d6d28af01289..7206a4e3e40d 100644 --- a/math/petsc/pkg-descr +++ b/math/petsc/pkg-descr @@ -6,4 +6,4 @@ techniques and Krylov subspace methods. PETSc provides several parallel sparse matrix formats, including compressed row, block compressed row, and block diagonal storage. -WWW: http://www.mcs.anl.gov/petsc/ +WWW: http://www.mcs.anl.gov/petsc/ |