diff options
author | Yuri Victorovich <yuri@FreeBSD.org> | 2018-08-24 18:30:51 +0000 |
---|---|---|
committer | Yuri Victorovich <yuri@FreeBSD.org> | 2018-08-24 18:30:51 +0000 |
commit | a7b5a6efc6a415f915519a586631701cf38ed896 (patch) | |
tree | 73bc1203ae5f3aa079b1080454903ddcef4e1598 /devel | |
parent | 3a716b0512b37ddfdb524866e4da86a7a9398292 (diff) | |
download | ports-a7b5a6efc6a415f915519a586631701cf38ed896.tar.gz ports-a7b5a6efc6a415f915519a586631701cf38ed896.zip |
Notes
Diffstat (limited to 'devel')
-rw-r--r-- | devel/ga/Makefile | 2 | ||||
-rw-r--r-- | devel/ga/files/patch-ga_diag_seq | 98 |
2 files changed, 99 insertions, 1 deletions
diff --git a/devel/ga/Makefile b/devel/ga/Makefile index a496f46850fa..e96ee9bf40dd 100644 --- a/devel/ga/Makefile +++ b/devel/ga/Makefile @@ -3,7 +3,7 @@ PORTNAME= ga DISTVERSIONPREFIX= v DISTVERSION= 5.7 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel MAINTAINER= yuri@FreeBSD.org diff --git a/devel/ga/files/patch-ga_diag_seq b/devel/ga/files/patch-ga_diag_seq new file mode 100644 index 000000000000..a457852d8988 --- /dev/null +++ b/devel/ga/files/patch-ga_diag_seq @@ -0,0 +1,98 @@ +Patch https://github.com/edoapra/fedpkg/blob/b5e0c50258cd448b85b146a3752e616ef433946a/ga/ga_diag_seq.patch +suggested by the schience/nwchem upstream to fix the problem in nwchem: +https://github.com/nwchemgit/nwchem/issues/53#issuecomment-415838444 + +diff --git ga-5.6.5/global/src/ga_diag_seq.F ga-5.6.5/global/src/ga_diag_seq.F +index ee60172..7256665 100644 +--- global/src/ga_diag_seq.F ++++ global/src/ga_diag_seq.F +@@ -1,6 +1,11 @@ + #if HAVE_CONFIG_H + # include "config.fh" + #endif ++#if (BLAS_SIZE ==4) ++#define INTGR4 integer*4 ++#else ++#define INTGR4 integer*8 ++#endif + c + c This file has been converted to use LAPACK circa 2011 + c instead of EISPACK circa 1983 by Jeff Hammond circa 2014. +@@ -15,7 +20,7 @@ c + integer g_v ! Global matrix to return evecs + double precision evals(*) ! Local array to return evals + c +- integer n, ierr ++ integer n + #if ENABLE_EISPACK + integer l_fv1, l_fv2, l_v + MA_ACCESS_INDEX_TYPE k_fv1, k_fv2, k_v +@@ -27,6 +32,7 @@ c + integer l_a, l_s + MA_ACCESS_INDEX_TYPE k_a, k_s + integer dim1, dim2, type, me ++ INTGR4 n4,ierr + logical status + c + c +@@ -47,6 +53,7 @@ c + $ call ga_error('ga_diag_seq: nonsquare matrix ',0) + + n = dim1 ++ n4 = n + me = ga_nodeid() + if (me .eq. 0) then + c +@@ -87,7 +94,7 @@ c + call rsg(n, n, dbl_mb(k_a), dbl_mb(k_s), evals, 1, + $ dbl_mb(k_v), dbl_mb(k_fv1), dbl_mb(k_fv2), ierr) + #else +- call dsygv(1,'V','U',n,dbl_mb(k_a),n,dbl_mb(k_s),n, ++ call dsygv(1,'V','U',n4,dbl_mb(k_a),n,dbl_mb(k_s),n4, + $ evals,dbl_mb(k_wrk),n2, ierr) + if (ierr.ne.0) + $ call ga_error('ga_diag_seq: dsygv failed',ierr) +@@ -139,7 +146,7 @@ c + integer g_v ! Global matrix to return evecs + double precision evals(*) ! Local array to return evals + c +- integer n, ierr ++ integer n + #if ENABLE_EISPACK + integer l_fv1, l_fv2, l_v + MA_ACCESS_INDEX_TYPE k_fv1, k_fv2, k_v +@@ -151,6 +158,7 @@ c + integer l_a + MA_ACCESS_INDEX_TYPE k_a + integer dim1, dim2, type, me ++ INTGR4 n4,n2_i4,ierr + logical status + c + c +@@ -170,6 +178,7 @@ c + $ call ga_error('ga_diag_std_seq: nonsquare matrix ',0) + + n = dim1 ++ n4 = n + me = ga_nodeid() + if (me .eq. 0) then + c +@@ -187,6 +196,7 @@ c + #else + c LAPACK fails for n=1 without this + n2 = max(n*n,3*n-1) ++ n2_i4=n2 + status=status.and.ma_push_get(MT_DBL, n2, + $ 'diag_std_seq:wrk', l_wrk, k_wrk) + #endif +@@ -205,8 +215,8 @@ c + call rs(n, n, dbl_mb(k_a), evals, 1, + $ dbl_mb(k_v), dbl_mb(k_fv1), dbl_mb(k_fv2), ierr) + #else +- call dsyev('V', 'L', n, dbl_mb(k_a), n, +- $ evals, dbl_mb(k_wrk), n2, ierr) ++ call dsyev('V', 'L', n4, dbl_mb(k_a), n4, ++ $ evals, dbl_mb(k_wrk), n2_i4, ierr) + if (ierr.ne.0) + $ call ga_error('ga_diag_std_seq: dsyev failed',ierr) + c We used to copy to preserve code symmetry with EISPACK |