diff -ruN --exclude=CVS /usr/ports/math/scalapack/Makefile /home/trasz/scalapack/Makefile --- /usr/ports/math/scalapack/Makefile Mon Jul 24 03:42:21 2006 +++ /home/trasz/scalapack/Makefile Tue Nov 14 01:09:22 2006 @@ -6,28 +6,24 @@ # PORTNAME= scalapack -PORTVERSION= 1.7 -PORTREVISION= 2 +PORTVERSION= 1.7.4 CATEGORIES= math MASTER_SITES= ftp://ftp.netlib.org/scalapack/ -DISTNAME= SCALAPACK -DISTFILES= scalapack.tgz manpages.tgz +DISTFILES= scalapack-${PORTVERSION}.tgz manpages.tgz .if !defined(NOPORTDOCS) DISTFILES+= scalapack_install.ps scalapackqref.ps \ lawn100.ps pblasqref.ps manual.ps design.ps \ pumma_refmanual.ps trans.ps .endif DIST_SUBDIR= scalapack -EXTRACT_ONLY= scalapack.tgz manpages.tgz +EXTRACT_ONLY= scalapack-${PORTVERSION}.tgz manpages.tgz MAINTAINER= maho@FreeBSD.org COMMENT= The ScaLAPACK Scalable LAPACK library -BUILD_DEPENDS= ${LOCALBASE}/mpich2/lib/libmpich.a:${PORTSDIR}/net/mpich2 \ - ${LOCALBASE}/lib/libblacs.a:${PORTSDIR}/math/blacs \ +BUILD_DEPENDS= ${LOCALBASE}/lib/libblacs.a:${PORTSDIR}/math/blacs \ ${LOCALBASE}/bin/f2c:${PORTSDIR}/lang/f2c -LIB_DEPENDS= lapack:${PORTSDIR}/math/lapack \ - atlas:${PORTSDIR}/math/atlas +LIB_DEPENDS= lapack:${PORTSDIR}/math/lapack CONFLICTS= elmer-mathlibs-1* @@ -35,7 +31,6 @@ ARCH2FIX= PBLAS/SRC PBLAS/SRC/PBBLAS PBLAS/SRC/PTOOLS PBLAS/SRC/PTZBLAS \ REDIST/SRC SRC TOOLS TOOLS/LAPACK -BLAS= -lf77blas -latlas DATADIR= ${PREFIX}/share/${PORTNAME:U} EXAMPLESDIR= ${PREFIX}/share/examples/${PORTNAME:U} @@ -45,6 +40,31 @@ .include "files/manpages" .include + +.if exists(${LOCALBASE}/lib/libatlas_r.so) && !defined(WITH_BLAS) +WITH_ATLAS= yes +.endif + +.if defined(WITH_ATLAS) +LIB_DEPENDS+= atlas.1:${PORTSDIR}/math/atlas +BLAS= -lf77blas -latlas +.else +LIB_DEPENDS+= blas.1:${PORTSDIR}/math/blas +BLAS= -lblas +.endif + +.if exists(${LOCALBASE}/mpi/openmpi/bin/mpirun) +WITH_OPENMPI= yes +.endif + +.if defined(WITH_OPENMPI) +BUILD_DEPENDS+= ${LOCALBASE}/mpi/openmpi/lib/libmpi.so:${PORTSDIR}/net/openmpi +RUN_DEPENDS= ${LOCALBASE}/mpi/openmpi/bin/mpirun:${PORTSDIR}/net/openmpi +EXTRA_PATCHES+= ${FILESDIR}/SLmake.inc-openmpi.diff +.else +BUILD_DEPENDS+= ${LOCALBASE}/mpich2/lib/libmpich.a:${PORTSDIR}/net/mpich2 +EXTRA_PATCHES+= ${FILESDIR}/SLmake.inc-mpich.diff +.endif .if defined(WITH_OPTIMIZED_FLAGS) .if ${ARCH} == "amd64" diff -ruN --exclude=CVS /usr/ports/math/scalapack/distinfo /home/trasz/scalapack/distinfo --- /usr/ports/math/scalapack/distinfo Sun Jan 22 13:56:44 2006 +++ /home/trasz/scalapack/distinfo Tue Nov 14 01:09:23 2006 @@ -1,6 +1,6 @@ -MD5 (scalapack/scalapack.tgz) = 6d214940fab71d56117184d55cbb29f1 -SHA256 (scalapack/scalapack.tgz) = fc18520ac36cad703ec5e774634f055c84c4e2ddd2d3e4e09779cda712e59eef -SIZE (scalapack/scalapack.tgz) = 4468266 +MD5 (scalapack/scalapack-1.7.4.tgz) = 688b759059e11e54f5381bfa2850c519 +SHA256 (scalapack/scalapack-1.7.4.tgz) = 7b5de82088feb23d1581ae96d80ff80585b0d78ebcb32098bd2bf3ce670b02ff +SIZE (scalapack/scalapack-1.7.4.tgz) = 5014804 MD5 (scalapack/manpages.tgz) = a536ab4837ec68addff0a3ec99427a10 SHA256 (scalapack/manpages.tgz) = a745c9f367d65e3c7611c126597a4681094b002552e47b621964d30a966aac7b SIZE (scalapack/manpages.tgz) = 379541 diff -ruN --exclude=CVS /usr/ports/math/scalapack/files/SLmake.inc-mpich.diff /home/trasz/scalapack/files/SLmake.inc-mpich.diff --- /usr/ports/math/scalapack/files/SLmake.inc-mpich.diff Thu Jan 1 01:00:00 1970 +++ /home/trasz/scalapack/files/SLmake.inc-mpich.diff Tue Nov 14 01:09:22 2006 @@ -0,0 +1,62 @@ +--- SLmake.inc.orig Thu Aug 9 11:59:50 2001 ++++ SLmake.inc Mon May 5 11:51:11 2003 +@@ -19,26 +19,26 @@ + # The complete path to the top level of ScaLAPACK directory, usually + # $(HOME)/SCALAPACK + # +-home = $(HOME)/SCALAPACK ++home = @WRKSRC@ + # + # The platform identifier to suffix to the end of library names + # +-PLAT = LINUX ++PLAT = FreeBSD + # + # BLACS setup. All version need the debug level (0 or 1), + # and the directory where the BLACS libraries are + # + BLACSDBGLVL = 0 +-BLACSdir = /usr/local/lib ++BLACSdir = @LOCALBASE@/lib + # + # MPI setup; tailor to your system if using MPIBLACS + # Will need to comment out these 6 lines if using PVM + # + USEMPI = -DUsingMpiBlacs +-SMPLIB = /usr/local/mpich-1.2.1/lib/libmpich.a +-BLACSFINIT = $(BLACSdir)/libmpiblacsF77init-p4.a +-BLACSCINIT = $(BLACSdir)/libmpiblacsCinit-p4.a +-BLACSLIB = $(BLACSdir)/libmpiblacs-p4.a ++SMPLIB = @LOCALBASE@/mpich2/lib/libmpich.a ++BLACSFINIT = $(BLACSdir)/libblacsf77.a ++BLACSCINIT = $(BLACSdir)/libblacsc.a ++BLACSLIB = $(BLACSdir)/libblacs.a + TESTINGdir = $(home)/TESTING + + # +@@ -67,12 +67,12 @@ + # + # The fortran and C compilers, loaders, and their flags + # +-F77 = g77 ++F77 = @F77@ + #F77 = /usr/local/pgi/linux86/bin/pgf77 +-CC = gcc ++CC = @CC@ + NOOPT = +-F77FLAGS = -O3 $(NOOPT) +-CCFLAGS = -O4 ++F77FLAGS = @FFLAGS@ ++CCFLAGS = @CFLAGS@ + SRCFLAG = + F77LOADER = $(F77) + CCLOADER = $(CC) +@@ -94,7 +94,7 @@ + # The name of the libraries to be created/linked to + # + SCALAPACKLIB = $(home)/libscalapack.a +-BLASLIB = /usr/local/lib/libf77blas.a /usr/local/lib/libatlas.a ++BLASLIB = -L@LOCALBASE@/lib @BLAS@ + # + PBLIBS = $(SCALAPACKLIB) $(FBLACSLIB) $(BLASLIB) $(SMPLIB) + PRLIBS = $(SCALAPACKLIB) $(CBLACSLIB) $(SMPLIB) diff -ruN --exclude=CVS /usr/ports/math/scalapack/files/SLmake.inc-openmpi.diff /home/trasz/scalapack/files/SLmake.inc-openmpi.diff --- /usr/ports/math/scalapack/files/SLmake.inc-openmpi.diff Thu Jan 1 01:00:00 1970 +++ /home/trasz/scalapack/files/SLmake.inc-openmpi.diff Tue Nov 14 01:09:22 2006 @@ -0,0 +1,62 @@ +--- SLmake.inc.orig Thu Aug 9 04:59:50 2001 ++++ SLmake.inc Mon Nov 13 15:45:36 2006 +@@ -19,26 +19,26 @@ + # The complete path to the top level of ScaLAPACK directory, usually + # $(HOME)/SCALAPACK + # +-home = $(HOME)/SCALAPACK ++home = @WRKSRC@ + # + # The platform identifier to suffix to the end of library names + # +-PLAT = LINUX ++PLAT = FreeBSD + # + # BLACS setup. All version need the debug level (0 or 1), + # and the directory where the BLACS libraries are + # + BLACSDBGLVL = 0 +-BLACSdir = /usr/local/lib ++BLACSdir = @LOCALBASE@/lib + # + # MPI setup; tailor to your system if using MPIBLACS + # Will need to comment out these 6 lines if using PVM + # + USEMPI = -DUsingMpiBlacs +-SMPLIB = /usr/local/mpich-1.2.1/lib/libmpich.a +-BLACSFINIT = $(BLACSdir)/libmpiblacsF77init-p4.a +-BLACSCINIT = $(BLACSdir)/libmpiblacsCinit-p4.a +-BLACSLIB = $(BLACSdir)/libmpiblacs-p4.a ++SMPLIB = ++BLACSFINIT = $(BLACSdir)/libblacsf77.a ++BLACSCINIT = $(BLACSdir)/libblacsc.a ++BLACSLIB = $(BLACSdir)/libblacs.a + TESTINGdir = $(home)/TESTING + + # +@@ -67,12 +67,12 @@ + # + # The fortran and C compilers, loaders, and their flags + # +-F77 = g77 ++F77 = mpif77 + #F77 = /usr/local/pgi/linux86/bin/pgf77 +-CC = gcc ++CC = mpicc + NOOPT = +-F77FLAGS = -O3 $(NOOPT) +-CCFLAGS = -O4 ++F77FLAGS = @FFLAGS@ ++CCFLAGS = @CFLAGS@ + SRCFLAG = + F77LOADER = $(F77) + CCLOADER = $(CC) +@@ -94,7 +94,7 @@ + # The name of the libraries to be created/linked to + # + SCALAPACKLIB = $(home)/libscalapack.a +-BLASLIB = /usr/local/lib/libf77blas.a /usr/local/lib/libatlas.a ++BLASLIB = -L@LOCALBASE@/lib @BLAS@ + # + PBLIBS = $(SCALAPACKLIB) $(FBLACSLIB) $(BLASLIB) $(SMPLIB) + PRLIBS = $(SCALAPACKLIB) $(CBLACSLIB) $(SMPLIB) diff -ruN --exclude=CVS /usr/ports/math/scalapack/files/patch-SLmake.inc /home/trasz/scalapack/files/patch-SLmake.inc --- /usr/ports/math/scalapack/files/patch-SLmake.inc Mon Jul 24 03:42:21 2006 +++ /home/trasz/scalapack/files/patch-SLmake.inc Thu Jan 1 01:00:00 1970 @@ -1,62 +0,0 @@ ---- SLmake.inc.orig Thu Aug 9 11:59:50 2001 -+++ SLmake.inc Mon May 5 11:51:11 2003 -@@ -19,26 +19,26 @@ - # The complete path to the top level of ScaLAPACK directory, usually - # $(HOME)/SCALAPACK - # --home = $(HOME)/SCALAPACK -+home = @WRKSRC@ - # - # The platform identifier to suffix to the end of library names - # --PLAT = LINUX -+PLAT = FreeBSD - # - # BLACS setup. All version need the debug level (0 or 1), - # and the directory where the BLACS libraries are - # - BLACSDBGLVL = 0 --BLACSdir = /usr/local/lib -+BLACSdir = @LOCALBASE@/lib - # - # MPI setup; tailor to your system if using MPIBLACS - # Will need to comment out these 6 lines if using PVM - # - USEMPI = -DUsingMpiBlacs --SMPLIB = /usr/local/mpich-1.2.1/lib/libmpich.a --BLACSFINIT = $(BLACSdir)/libmpiblacsF77init-p4.a --BLACSCINIT = $(BLACSdir)/libmpiblacsCinit-p4.a --BLACSLIB = $(BLACSdir)/libmpiblacs-p4.a -+SMPLIB = @LOCALBASE@/mpich2/lib/libmpich.a -+BLACSFINIT = $(BLACSdir)/libblacsf77.a -+BLACSCINIT = $(BLACSdir)/libblacsc.a -+BLACSLIB = $(BLACSdir)/libblacs.a - TESTINGdir = $(home)/TESTING - - # -@@ -67,12 +67,12 @@ - # - # The fortran and C compilers, loaders, and their flags - # --F77 = g77 -+F77 = @F77@ - #F77 = /usr/local/pgi/linux86/bin/pgf77 --CC = gcc -+CC = @CC@ - NOOPT = --F77FLAGS = -O3 $(NOOPT) --CCFLAGS = -O4 -+F77FLAGS = @FFLAGS@ -+CCFLAGS = @CFLAGS@ - SRCFLAG = - F77LOADER = $(F77) - CCLOADER = $(CC) -@@ -94,7 +94,7 @@ - # The name of the libraries to be created/linked to - # - SCALAPACKLIB = $(home)/libscalapack.a --BLASLIB = /usr/local/lib/libf77blas.a /usr/local/lib/libatlas.a -+BLASLIB = -L@LOCALBASE@/lib @BLAS@ - # - PBLIBS = $(SCALAPACKLIB) $(FBLACSLIB) $(BLASLIB) $(SMPLIB) - PRLIBS = $(SCALAPACKLIB) $(CBLACSLIB) $(SMPLIB) diff -ruN --exclude=CVS /usr/ports/math/scalapack/files/pkg-message.in /home/trasz/scalapack/files/pkg-message.in --- /usr/ports/math/scalapack/files/pkg-message.in Mon Jul 24 03:42:21 2006 +++ /home/trasz/scalapack/files/pkg-message.in Tue Nov 14 01:09:22 2006 @@ -20,6 +20,14 @@ ? end % %%LOCALBASE%%/mpich2/bin/mpdallexit + If you're using OpenMPI, use this instead: + % cd %%DATADIR%%/TESTING + % LD_LIBRARY_PATH=%%LOCALBASE%%/mpi/openmpi/lib/ export LD_LIBRARY_PATH + % PATH=$PATH:%%LOCALBASE%%/mpi/openmpi/bin/ export PATH + % mpirun -np 4 ./xcbrd + % mpirun -np 4 ./xcdblu + etc., etc. ... + You can change -np 4 to any number to meet your environment. See files at %%DOCSDIR%% for detail. **********************************************************************