ports/105497: [PATCH] math/scalapack: update to 1.7.4
trasz
trasz at pin.if.uz.zgora.pl
Tue Nov 14 00:10:30 UTC 2006
>Number: 105497
>Category: ports
>Synopsis: [PATCH] math/scalapack: update to 1.7.4
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Tue Nov 14 00:10:01 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: trasz
>Release: FreeBSD 6.1-RELEASE i386
>Organization:
>Environment:
System: FreeBSD pin.if.uz.zgora.pl 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Sat Jun 3 01:12:10 CEST
>Description:
- Update to 1.7.4
- Add support for OpenMPI (requires math/blacs compiled with OpenMPI)
- Make it possible to use math/blas instead of math/atlas
Added file(s):
- files/SLmake.inc-mpich.diff
- files/SLmake.inc-openmpi.diff
Removed file(s):
- files/patch-SLmake.inc
Port maintainer (maho at FreeBSD.org) is cc'd.
Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:
--- scalapack-1.7.4.patch begins here ---
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 at 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 <bsd.port.pre.mk>
+
+.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 at 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 at 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 at 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.
**********************************************************************
--- scalapack-1.7.4.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list