View | Details | Raw Unified | Return to bug 219265 | Differences between
and this patch

Collapse All | Expand All

(-)math/superlu_mt/Makefile (-18 / +20 lines)
Lines 2-13 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	superlu_mt
4
PORTNAME=	superlu_mt
5
PORTVERSION=	2.0.20080115
5
PORTVERSION=	3.1.20160319
6
PORTREVISION=	9
7
CATEGORIES=	math
6
CATEGORIES=	math
8
MASTER_SITES=	http://crd.lbl.gov/~xiaoye/SuperLU/ \
7
MASTER_SITES=	http://crd.lbl.gov/~xiaoye/SuperLU/ \
9
		http://crd.lbl.gov/~xiaoye/:doc
8
		http://crd.lbl.gov/~xiaoye/:doc
10
DISTNAME=	${PORTNAME}_2.0
9
DISTNAME=	${PORTNAME}_3.1
11
DISTFILES=	${DISTNAME}${EXTRACT_SUFX} simax97.ps.gz:doc
10
DISTFILES=	${DISTNAME}${EXTRACT_SUFX} simax97.ps.gz:doc
12
DIST_SUBDIR=	superlu2
11
DIST_SUBDIR=	superlu2
13
EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
12
EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
Lines 15-21 Link Here
15
MAINTAINER=	ports@FreeBSD.org
14
MAINTAINER=	ports@FreeBSD.org
16
COMMENT=	Routines for performing multithreaded sparse factorization
15
COMMENT=	Routines for performing multithreaded sparse factorization
17
16
17
LICENSE=	BSD3CLAUSE
18
LICENSE_FILE=	${WRKSRC}/License.txt
19
18
BROKEN_aarch64=		fails to build: undefined reference to sbrk
20
BROKEN_aarch64=		fails to build: undefined reference to sbrk
21
BROKEN_sparc64=		Does not link on sparc64
19
22
20
USES=		fortran gmake
23
USES=		fortran gmake
21
24
Lines 49-69 Link Here
49
FPIC=	-fpic
52
FPIC=	-fpic
50
.endif
53
.endif
51
54
52
.if ${ARCH} == "sparc64"
53
BROKEN=		Does not link on sparc64
54
.endif
55
56
USE_LDCONFIG=	yes
55
USE_LDCONFIG=	yes
57
WRKSRC=		${WRKDIR}/SuperLU_MT_2.0
56
WRKSRC=		${WRKDIR}/SuperLU_MT_3.1
58
WRKSRC_SHARED=	${WRKDIR}/SuperLU_MT_2.0_shared
57
WRKSRC_SHARED=	${WRKDIR}/SuperLU_MT_3.1_shared
59
ALL_TARGET=	lib
58
ALL_TARGET=	lib
60
SVERSION=	1
59
SVERSION=	3
61
60
62
ARCH2FIX=	CBLAS/Makefile MAKE_INC/make.openmp MAKE_INC/make.exemplar \
61
ARCH2FIX=	CBLAS/Makefile MAKE_INC/make.openmp MAKE_INC/make.exemplar \
63
		MAKE_INC/make.pthreads TESTING/MATGEN/Makefile	\
62
		make.inc SRC/Makefile TESTING/MATGEN/Makefile
64
		make.inc SRC/Makefile
65
63
66
post-patch:
64
do-configure:
67
.for fmk in ${ARCH2FIX}
65
.for fmk in ${ARCH2FIX}
68
	@${REINPLACE_CMD} -e 's|^ARCH *.= ar|ARCMD = ar| ; \
66
	@${REINPLACE_CMD} -e 's|^ARCH *.= ar|ARCMD = ar| ; \
69
		s|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${fmk}
67
		s|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${fmk}
Lines 106-125 Link Here
106
	done
104
	done
107
105
108
do-install:
106
do-install:
109
	${INSTALL_DATA} ${WRKDIR}/tmp_static/libsuperlu_mt.a ${STAGEDIR}${PREFIX}/lib
107
	${INSTALL_DATA} ${WRKDIR}/tmp_static/libsuperlu_mt_*.a ${STAGEDIR}${PREFIX}/lib
110
	${INSTALL_LIB} ${WRKDIR}/tmp_shared/libsuperlu_mt.so.${SVERSION} ${STAGEDIR}${PREFIX}/lib
108
	${INSTALL_LIB} ${WRKDIR}/tmp_shared/libsuperlu_mt_*.so.${SVERSION} ${STAGEDIR}${PREFIX}/lib
111
	cd ${STAGEDIR}${PREFIX}/lib && ${LN} -s -f libsuperlu_mt.so.${SVERSION} libsuperlu_mt.so
109
	${RLN} ${STAGEDIR}${PREFIX}/lib/libsuperlu_mt_PTHREAD.so.${SVERSION} \
110
		${STAGEDIR}${PREFIX}/lib/libsuperlu_mt_PTHREAD.so
111
	${RLN} ${STAGEDIR}${PREFIX}/lib/libsuperlu_mt_PTHREAD.so.${SVERSION} \
112
		${STAGEDIR}${PREFIX}/lib/libsuperlu_mt.so
112
	${MKDIR} ${STAGEDIR}${PREFIX}/include/${PORTNAME}
113
	${MKDIR} ${STAGEDIR}${PREFIX}/include/${PORTNAME}
113
	${INSTALL_DATA} ${WRKSRC}/SRC/*.h ${STAGEDIR}${PREFIX}/include/${PORTNAME}
114
	${INSTALL_DATA} ${WRKSRC}/SRC/*.h ${STAGEDIR}${PREFIX}/include/${PORTNAME}
114
.if ${PORT_OPTIONS:MDOCS}
115
.if ${PORT_OPTIONS:MDOCS}
115
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
116
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
116
#	${INSTALL_DATA} ${WRKSRC}/INSTALL/*.ps ${STAGEDIR}${DOCSDIR}
117
	${INSTALL_DATA} ${WRKSRC}/DOC/*.pdf ${STAGEDIR}${DOCSDIR}
117
#	${GZIP_CMD} ${STAGEDIR}${DOCSDIR}/*.ps
118
	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/simax97.ps.gz ${STAGEDIR}${DOCSDIR}
118
	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/simax97.ps.gz ${STAGEDIR}${DOCSDIR}
119
.endif
119
.endif
120
120
121
.ifdef MANTAINER_MODE
121
regression-test: do-build
122
regression-test: do-build
122
	@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} testing)
123
	@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} testing)
123
	@(cd ${WRKSRC_SHARED} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} testing)
124
	@(cd ${WRKSRC_SHARED} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} testing)
125
.endif
124
126
125
.include <bsd.port.post.mk>
127
.include <bsd.port.post.mk>
(-)math/superlu_mt/distinfo (-2 / +3 lines)
Lines 1-4 Link Here
1
SHA256 (superlu2/superlu_mt_2.0.tar.gz) = 76f54f332db22313316798c3983b7bb704c159ce5a404ddda1f04d0fa477aab1
1
TIMESTAMP = 1494706587
2
SIZE (superlu2/superlu_mt_2.0.tar.gz) = 1332773
2
SHA256 (superlu2/superlu_mt_3.1.tar.gz) = 407b544b9a92b2ed536b1e713e80f986824cf3016657a4bfc2f3e7d2a76ecab6
3
SIZE (superlu2/superlu_mt_3.1.tar.gz) = 1824440
3
SHA256 (superlu2/simax97.ps.gz) = 8f8ae10e28dfdeda2fed58b0bcec1bf96f10fa7b1d055aff160d77d7aeb8a983
4
SHA256 (superlu2/simax97.ps.gz) = 8f8ae10e28dfdeda2fed58b0bcec1bf96f10fa7b1d055aff160d77d7aeb8a983
4
SIZE (superlu2/simax97.ps.gz) = 158724
5
SIZE (superlu2/simax97.ps.gz) = 158724
(-)math/superlu_mt/files/patch-INSTALL-Makefile (-3 / +3 lines)
Lines 1-6 Link Here
1
--- INSTALL/Makefile.orig	2013-11-16 19:14:28.000000000 +0100
1
--- INSTALL/Makefile.orig	2013-03-19 22:10:40 UTC
2
+++ INSTALL/Makefile	2013-11-16 19:14:58.000000000 +0100
2
+++ INSTALL/Makefile
3
@@ -17,7 +17,7 @@
3
@@ -17,7 +17,7 @@ install.out:
4
 
4
 
5
 slamch.o: slamch.c ; $(CC) $(NOOPTS) -c $<
5
 slamch.o: slamch.c ; $(CC) $(NOOPTS) -c $<
6
 dlamch.o: dlamch.c ; $(CC) $(NOOPTS) -c $<
6
 dlamch.o: dlamch.c ; $(CC) $(NOOPTS) -c $<
(-)math/superlu_mt/files/patch-SRC+slu_mt_util.h (-10 lines)
Lines 1-10 Link Here
1
--- SRC/slu_mt_util.h~	2008-01-09 08:28:56.000000000 +0900
2
+++ SRC/slu_mt_util.h	2008-07-02 09:54:31.000000000 +0900
3
@@ -12,6 +12,7 @@
4
 #include <stdio.h>
5
 #include <stdlib.h>
6
 #include <string.h>
7
+#include <pthread.h>
8
 
9
 /* Macros */
10
 #ifndef USER_ABORT
(-)math/superlu_mt/files/patch-TESTING+pddrive.c (-14 lines)
Lines 1-14 Link Here
1
--- TESTING/pddrive.c.orig	2008-06-18 22:06:40.000000000 -0500
2
+++ TESTING/pddrive.c	2008-06-18 22:08:38.000000000 -0500
3
@@ -9,6 +9,11 @@
4
 #define	FMT2      "%10s:fact=%d, trans=%d, refact=%d, equed=%d, n=%d, imat=%d, test(%d)=%12.5g\n"
5
 #define FMT3      "%10s:info=%d, izero=%d, n=%d, nrhs=%d, imat=%d, nfail=%d\n"
6
 
7
+/* SuperLU compatibility */
8
+#define DN SLU_DN
9
+#define _D SLU_D
10
+#define GE SLU_GE
11
+#define NC SLU_NC
12
 
13
 main(int argc, char *argv[])
14
 {
(-)math/superlu_mt/files/patch-TESTING+pdgssv.c (-16 lines)
Lines 1-16 Link Here
1
--- TESTING/pdgssv.c.orig	2008-06-18 22:09:01.000000000 -0500
2
+++ TESTING/pdgssv.c	2008-06-18 22:10:18.000000000 -0500
3
@@ -1,6 +1,13 @@
4
 #include "pdsp_defs.h"
5
 #include "util.h"
6
 
7
+/* SuperLU compatibility */
8
+#define DN SLU_DN
9
+#define _D SLU_D
10
+#define GE SLU_GE
11
+#define NC SLU_NC
12
+#define NR SLU_NR
13
+
14
 void
15
 pdgssv(int nprocs, SuperMatrix *A, int *perm_c, int *perm_r, 
16
        SuperMatrix *L, SuperMatrix *U, SuperMatrix *B, int *info )
(-)math/superlu_mt/files/patch-TESTING+pdgssvx.c (-16 lines)
Lines 1-16 Link Here
1
--- TESTING/pdgssvx.c.orig	2008-06-18 22:10:35.000000000 -0500
2
+++ TESTING/pdgssvx.c	2008-06-18 22:11:10.000000000 -0500
3
@@ -1,6 +1,13 @@
4
 #include "pdsp_defs.h"
5
 #include "util.h"
6
 
7
+/* SuperLU compatibility */
8
+#define DN SLU_DN
9
+#define _D SLU_D
10
+#define GE SLU_GE
11
+#define NC SLU_NC
12
+#define NR SLU_NR
13
+
14
 void
15
 pdgssvx(int nprocs, pdgstrf_options_t *pdgstrf_options, SuperMatrix *A, 
16
 	int *perm_c, int *perm_r, equed_t *equed, double *R, double *C,
(-)math/superlu_mt/files/patch-make.inc (-53 / +48 lines)
Lines 1-62 Link Here
1
--- make.inc.orig	2008-02-22 22:45:36 UTC
1
--- make.inc.orig	2015-04-30 00:46:42 UTC
2
+++ make.inc
2
+++ make.inc
3
@@ -16,13 +16,13 @@
3
@@ -22,7 +22,7 @@ PLAT = _PTHREAD
4
 #
4
 TMGLIB       	= libtmglib$(PLAT).a
5
 #  The machine (platform) identifier to append to the library names
5
 SUPERLULIB   	= libsuperlu_mt$(PLAT).a
6
 #
6
 BLASDEF	        = -DUSE_VENDOR_BLAS
7
-PLAT = _sp
7
-BLASLIB		= -L/usr/lib -lf77blas -latlas
8
+PLAT = _PTHREAD
8
+BLASLIB		= %%BLAS%%
9
 
9
 #BLASLIB = ../lib/libblas$(PLAT).a
10
 #
10
 MATHLIB		= -lm 
11
 #  The name of the libraries to be created/linked to
11
 MPLIB		= -lpthread
12
 #
12
@@ -31,7 +31,7 @@ MPLIB		= -lpthread
13
-TMGLIB       = libtmglib.a
14
-SUPERLULIB   = libsuperlu_mt$(PLAT).a
15
+TMGLIB       = libtmg.a
16
+SUPERLULIB   = libsuperlu_mt.a
17
 
18
 # 
19
 # If you don't have ESSL, you can use the following blaslib instead:
20
@@ -30,7 +30,7 @@ SUPERLULIB   = libsuperlu_mt$(PLAT).a
21
 # which may be slower than ESSL
22
 #
23
 BLASDEF	  = -DUSE_VENDOR_BLAS
24
-BLASLIB   = -lessl
25
+BLASLIB   = %%BLAS%%
26
 #BLASLIB   = ../lib/libblas$(PLAT).a
27
 MATHLIB	  = -lm 
28
 MPLIB	  = -lpthread
29
@@ -38,7 +38,7 @@ MPLIB	  = -lpthread
30
 #  The archiver and the flag(s) to use when building archive (library)
13
 #  The archiver and the flag(s) to use when building archive (library)
31
 #  If your system has no ranlib, set RANLIB = echo.
14
 #  If your system has no ranlib, set RANLIB = echo.
32
 #
15
 #
33
-ARCH         = ar
16
-ARCH          	= ar
34
+ARCMD        = ar
17
+ARCMD          	= ar
35
 ARCHFLAGS    = cr
18
 ARCHFLAGS     	= cr
36
 RANLIB       = ranlib
19
 RANLIB       	= ranlib
37
 
20
 
38
@@ -46,16 +46,17 @@ RANLIB       = ranlib
21
@@ -40,8 +40,8 @@ RANLIB       	= ranlib
39
 PREDEFS      	= -D_PTHREAD
22
 # Definitions used by CPP:
23
 PREDEFS      	= -D__PTHREAD  ## -DDEBUGlevel=0 -DPRNTlevel=0
40
 #
24
 #
25
-CC           	= gcc
26
-CFLAGS       	= $(PREDEFS) -g #-O3
27
+CC           	= %%CC%%
28
+CFLAGS       	= $(PREDEFS) %%CFLAGS%%
29
 # Uncomment the following to use 64-bit integer
30
 CFLAGS          += -D_LONGINT
41
 
31
 
42
-CC           = xlc_r
32
@@ -49,19 +49,19 @@ CFLAGS          += -D_LONGINT
43
-CFLAGS       = -qarch=pwr5 -qalias=allptrs $(PREDEFS) -DPRNTlevel=0 -O3
33
 # There are a few files that should NOT be optimized, which appear in the
44
-FORTRAN	     = xlf
34
 # end of SRC/Makefile, taking the flag $(NOOPTS)
45
-FFLAGS       = -O3 -qarch=pwr5
35
 # NOOPTS should be defined to explicitly turn off any optimization.
46
-LOADER       = xlc_r
36
-NOOPTS	     	= -O0
47
-LOADOPTS     = -bmaxdata:0x80000000
37
+NOOPTS	     	= -O0 %%FPIC%%
48
+CC           = %%CC%%
49
+CFLAGS       = $(PREDEFS) %%CPPFLAGS%% %%CFLAGS%%
50
+FORTRAN      = %%FC%%
51
+FFLAGS       = %%FFLAGS%%
52
+LOADER       = %%CC%%
53
+LOADOPTS     = %%LDFLAGS%%
54
+NOOPTS       = %%FPIC%%
55
 #
56
 #  C preprocessor defs for compilation for the Fortran interface
57
 #  (-DNoChange, -DAdd_, -DAdd__, or -DUpCase)
58
 #
59
-CDEFS        = -DNoChange
60
+CDEFS        = -DAdd_
61
 
38
 
39
-BLASOPTS	=
40
+BLASOPTS	= 
62
 
41
 
42
 ############################################################################
43
 
44
-FORTRAN		= gfortran
45
-FFLAGS		= -O -fdefault-integer-8
46
+FORTRAN		= %%FC%%
47
+FFLAGS		= %%FFLAGS%% -fdefault-integer-8
48
 
49
 ############################################################################
50
 
51
-LOADER       	= gcc
52
-LOADOPTS     	= -O #-pthread
53
+LOADER       	= %%CC%%
54
+LOADOPTS     	= -O %%LDFLAGS%%
55
 
56
 ############################################################################
57
 #
(-)math/superlu_mt/pkg-descr (-8 / +9 lines)
Lines 1-5 Link Here
1
			SuperLU_MT (version 2.0)
1
		SuperLU_MT (version 3.1)
2
			========================
2
		========================
3
3
4
SuperLU_MT contains a set of subroutines to solve a sparse linear system
4
SuperLU_MT contains a set of subroutines to solve a sparse linear system
5
A*X=B. It uses Gaussian elimination with partial pivoting (GEPP).
5
A*X=B. It uses Gaussian elimination with partial pivoting (GEPP).
Lines 8-19 Link Here
8
8
9
SuperLU_MT is a parallel extension to the serial SuperLU library.
9
SuperLU_MT is a parallel extension to the serial SuperLU library.
10
SuperLU_MT is implemented in ANSI C, with multithreading extension,
10
SuperLU_MT is implemented in ANSI C, with multithreading extension,
11
for example, using POSIX threads. Currently, only the LU factorization
11
for example, using POSIX threads or OpenMP. Currently, only the LU
12
routine, which is the most time-consuming part of the solution process,
12
factorization routine, which is the most time-consuming part of the
13
is parallelized on machines with a shared address space. The other
13
solution process, is parallelized on machines with a shared address space.
14
routines, such as column preordering and the forward and back substitutions
14
The other routines, such as column preordering and the forward and
15
are performed sequentially. This "alpha" release contains only
15
back substitutions are performed sequentially.
16
double-precision real data type.
16
The library provides functionality for both real and complex
17
matrices, in both single and double precision.
17
18
18
Xiaoye S. Li,    Lawrence Berkeley National Lab, xiaoye@nersc.gov
19
Xiaoye S. Li,    Lawrence Berkeley National Lab, xiaoye@nersc.gov
19
James Demmel,    Univ. of California Berkeley, demmel@cs.berkeley.edu
20
James Demmel,    Univ. of California Berkeley, demmel@cs.berkeley.edu
(-)math/superlu_mt/pkg-plist (-6 / +8 lines)
Lines 1-16 Link Here
1
include/superlu_mt/colamd.h
1
include/superlu_mt/colamd.h
2
include/superlu_mt/pcsp_defs.h
3
include/superlu_mt/pdsp_defs.h
4
include/superlu_mt/pssp_defs.h
5
include/superlu_mt/pxgstrf_synch.h
2
include/superlu_mt/pxgstrf_synch.h
6
include/superlu_mt/pzsp_defs.h
7
include/superlu_mt/slu_dcomplex.h
3
include/superlu_mt/slu_dcomplex.h
8
include/superlu_mt/slu_mt_Cnames.h
4
include/superlu_mt/slu_mt_Cnames.h
5
include/superlu_mt/slu_mt_cdefs.h
6
include/superlu_mt/slu_mt_ddefs.h
9
include/superlu_mt/slu_mt_machines.h
7
include/superlu_mt/slu_mt_machines.h
8
include/superlu_mt/slu_mt_sdefs.h
10
include/superlu_mt/slu_mt_util.h
9
include/superlu_mt/slu_mt_util.h
10
include/superlu_mt/slu_mt_zdefs.h
11
include/superlu_mt/slu_scomplex.h
11
include/superlu_mt/slu_scomplex.h
12
include/superlu_mt/supermatrix.h
12
include/superlu_mt/supermatrix.h
13
lib/libsuperlu_mt.a
14
lib/libsuperlu_mt.so
13
lib/libsuperlu_mt.so
15
lib/libsuperlu_mt.so.1
14
lib/libsuperlu_mt_PTHREAD.a
15
lib/libsuperlu_mt_PTHREAD.so
16
lib/libsuperlu_mt_PTHREAD.so.3
16
%%PORTDOCS%%%%DOCSDIR%%/simax97.ps.gz
17
%%PORTDOCS%%%%DOCSDIR%%/simax97.ps.gz
18
%%PORTDOCS%%%%DOCSDIR%%/ug.pdf

Return to bug 219265