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