gnu: Update scotch to 6.0.4.
* gnu/packages/maths.scm (scotch): Update to 6.0.4. [arguments]: Add -fPIC to CFLAGS. * gnu/packages/patches/scotch-test-threading.patch: Adjust patch for a new set of test fixes. * gnu/packages/patches/pt-scotch-build-parallelism.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it.
This commit is contained in:
parent
38f0a2bade
commit
6c7985408f
|
@ -550,6 +550,7 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/polkit-drop-test.patch \
|
gnu/packages/patches/polkit-drop-test.patch \
|
||||||
gnu/packages/patches/portaudio-audacity-compat.patch \
|
gnu/packages/patches/portaudio-audacity-compat.patch \
|
||||||
gnu/packages/patches/procps-make-3.82.patch \
|
gnu/packages/patches/procps-make-3.82.patch \
|
||||||
|
gnu/packages/patches/pt-scotch-build-parallelism.patch \
|
||||||
gnu/packages/patches/pulseaudio-fix-mult-test.patch \
|
gnu/packages/patches/pulseaudio-fix-mult-test.patch \
|
||||||
gnu/packages/patches/pulseaudio-longer-test-timeout.patch \
|
gnu/packages/patches/pulseaudio-longer-test-timeout.patch \
|
||||||
gnu/packages/patches/pycairo-wscript.patch \
|
gnu/packages/patches/pycairo-wscript.patch \
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
|
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
|
||||||
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
|
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
|
||||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||||
|
@ -785,15 +785,16 @@ implemented in ANSI C, and MPI for communications.")
|
||||||
(define-public scotch
|
(define-public scotch
|
||||||
(package
|
(package
|
||||||
(name "scotch")
|
(name "scotch")
|
||||||
(version "6.0.0")
|
(version "6.0.4")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://gforge.inria.fr/frs/download.php/31831/"
|
(uri (string-append "https://gforge.inria.fr/frs/download.php/34618/"
|
||||||
"scotch_" version ".tar.gz"))
|
"scotch_" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0yfqf9lk7chb3h42777x42x4adx0v3n0b41q0cdqrdmscp4iczp5"))
|
(base32 "1ir088mvrqggyqdkx9qfynmiaffqbyih5qfl5mga2nrlm1qlsgzm"))
|
||||||
(patches (list (search-patch "scotch-test-threading.patch")))))
|
(patches (list (search-patch "scotch-test-threading.patch")
|
||||||
|
(search-patch "pt-scotch-build-parallelism.patch")))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
`(("zlib" ,zlib)
|
`(("zlib" ,zlib)
|
||||||
|
@ -820,7 +821,7 @@ CCS = gcc
|
||||||
CCP = mpicc
|
CCP = mpicc
|
||||||
CCD = gcc
|
CCD = gcc
|
||||||
CPPFLAGS =~{ -D~a~}
|
CPPFLAGS =~{ -D~a~}
|
||||||
CFLAGS = -O2 -g $(CPPFLAGS)
|
CFLAGS = -O2 -g -fPIC $(CPPFLAGS)
|
||||||
LDFLAGS = -lz -lm -lrt -lpthread
|
LDFLAGS = -lz -lm -lrt -lpthread
|
||||||
CP = cp
|
CP = cp
|
||||||
LEX = flex -Pscotchyy -olex.yy.c
|
LEX = flex -Pscotchyy -olex.yy.c
|
||||||
|
@ -833,8 +834,7 @@ YACC = bison -pscotchyy -y -b y
|
||||||
'("COMMON_FILE_COMPRESS_GZ"
|
'("COMMON_FILE_COMPRESS_GZ"
|
||||||
"COMMON_PTHREAD"
|
"COMMON_PTHREAD"
|
||||||
"COMMON_RANDOM_FIXED_SEED"
|
"COMMON_RANDOM_FIXED_SEED"
|
||||||
;; TODO: Define once our MPI supports
|
;; XXX: Causes invalid frees in superlu-dist tests
|
||||||
;; MPI_THREAD_MULTIPLE
|
|
||||||
;; "SCOTCH_PTHREAD"
|
;; "SCOTCH_PTHREAD"
|
||||||
;; "SCOTCH_PTHREAD_NUMBER=2"
|
;; "SCOTCH_PTHREAD_NUMBER=2"
|
||||||
"restrict=__restrict")))))
|
"restrict=__restrict")))))
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
Building with -j may cause the esmumps_main target to fail with a "no rule for
|
||||||
|
dependency libptesmumps.a" error. Fix the dependency name.
|
||||||
|
|
||||||
|
--- scotch_6.0.4/src/esmumps/Makefile 2012-12-01 08:29:29.000000000 -0600
|
||||||
|
+++ scotch_6.0.4/src/esmumps/Makefile 2015-06-15 17:29:23.279605734 -0500
|
||||||
|
@@ -160,6 +160,6 @@
|
||||||
|
order.h \
|
||||||
|
symbol.h \
|
||||||
|
esmumps.h \
|
||||||
|
- lib$(ESMUMPSLIB)$(LIB) \
|
||||||
|
+ libesmumps$(LIB) \
|
||||||
|
$(libdir)/lib$(SCOTCHLIB)$(LIB) \
|
||||||
|
$(libdir)/lib$(SCOTCHLIB)errexit$(LIB)
|
|
@ -1,139 +1,22 @@
|
||||||
* These tests assume threading support, even when the library is compiled
|
Fix this test so that it succeeds when the library is not compiled with
|
||||||
without it. Protect these checks.
|
SCOTCH_PTHREAD.
|
||||||
|
|
||||||
* Tests should not require keyboard interaction.
|
--- scotch_6.0.4/src/check/test_common_thread.c 2014-09-28 11:39:59.000000000 -0500
|
||||||
|
+++ scotch_6.0.4/src/check/test_common_thread.c 2015-01-10 00:52:00.076229542 -0600
|
||||||
--- a/src/check/test_scotch_dgraph_band.c 2012-09-27 10:46:42.000000000 -0500
|
|
||||||
+++ b/src/check/test_scotch_dgraph_band.c 2014-05-13 14:36:07.479270243 -0500
|
|
||||||
@@ -99,10 +99,12 @@
|
|
||||||
errorPrint ("main: Cannot initialize (1)");
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
+#ifdef SCOTCH_PTHREAD
|
|
||||||
if (thrdlvlreqval > thrdlvlproval) {
|
|
||||||
errorPrint ("main: Cannot initialize (2)");
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (argc != 2) {
|
|
||||||
errorPrint ("main: invalid number of parameters");
|
|
||||||
@@ -115,12 +117,14 @@
|
|
||||||
|
|
||||||
fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr, getpid ());
|
|
||||||
|
|
||||||
+#ifdef SCOTCH_DEBUG_CHECK2
|
|
||||||
if (proclocnum == 0) { /* Synchronize on keybord input */
|
|
||||||
char c;
|
|
||||||
|
|
||||||
printf ("Waiting for key press...\n");
|
|
||||||
scanf ("%c", &c);
|
|
||||||
}
|
|
||||||
+#endif /* SCOTCH_DEBUG_CHECK2 */
|
|
||||||
|
|
||||||
if (MPI_Barrier (proccomm) != MPI_SUCCESS) { /* Synchronize for debug */
|
|
||||||
errorPrint ("main: cannot communicate");
|
|
||||||
--- a/src/check/test_scotch_dgraph_grow.c 2012-11-30 12:19:33.000000000 -0600
|
|
||||||
+++ b/src/check/test_scotch_dgraph_grow.c 2014-05-13 14:35:31.307269303 -0500
|
|
||||||
@@ -103,10 +103,12 @@
|
|
||||||
errorPrint ("main: Cannot initialize (1)");
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
+#ifdef SCOTCH_PTHREAD
|
|
||||||
if (thrdlvlreqval > thrdlvlproval) {
|
|
||||||
errorPrint ("main: Cannot initialize (2)");
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (argc != 2) {
|
|
||||||
errorPrint ("main: invalid number of parameters");
|
|
||||||
@@ -119,12 +121,14 @@
|
|
||||||
|
|
||||||
fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr, getpid ());
|
|
||||||
|
|
||||||
+#ifdef SCOTCH_DEBUG_CHECK2
|
|
||||||
if (proclocnum == 0) { /* Synchronize on keybord input */
|
|
||||||
char c;
|
|
||||||
|
|
||||||
printf ("Waiting for key press...\n");
|
|
||||||
scanf ("%c", &c);
|
|
||||||
}
|
|
||||||
+#endif /* SCOTCH_DEBUG_CHECK2 */
|
|
||||||
|
|
||||||
if (MPI_Barrier (proccomm) != MPI_SUCCESS) { /* Synchronize for debug */
|
|
||||||
errorPrint ("main: cannot communicate");
|
|
||||||
--- a/src/check/test_scotch_dgraph_redist.c 2012-09-26 11:42:27.000000000 -0500
|
|
||||||
+++ b/src/check/test_scotch_dgraph_redist.c 2014-05-13 14:34:30.323267722 -0500
|
|
||||||
@@ -98,10 +98,12 @@
|
|
||||||
errorPrint ("main: Cannot initialize (1)");
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
+#ifdef SCOTCH_PTHREAD
|
|
||||||
if (thrdlvlreqval > thrdlvlproval) {
|
|
||||||
errorPrint ("main: Cannot initialize (2)");
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (argc != 2) {
|
|
||||||
errorPrint ("main: invalid number of parameters");
|
|
||||||
@@ -114,7 +116,6 @@
|
|
||||||
|
|
||||||
fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr, getpid ());
|
|
||||||
|
|
||||||
-#define SCOTCH_DEBUG_CHECK2
|
|
||||||
#ifdef SCOTCH_DEBUG_CHECK2
|
|
||||||
if (proclocnum == 0) { /* Synchronize on keybord input */
|
|
||||||
char c;
|
|
||||||
--- /tmp/nix-build-scotch-6.0.0.drv-9/scotch_6.0.0/src/check/test_common_thread.c 2012-11-30 11:05:23.000000000 -0600
|
|
||||||
+++ scotch_6.0.0/src/check/test_common_thread.c 2014-05-13 17:26:27.159535244 -0500
|
|
||||||
@@ -90,7 +90,7 @@
|
|
||||||
/* */
|
|
||||||
/*************************/
|
|
||||||
|
|
||||||
-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
|
|
||||||
+#ifdef SCOTCH_PTHREAD
|
|
||||||
|
|
||||||
static
|
|
||||||
void
|
|
||||||
@@ -161,7 +161,7 @@
|
|
||||||
return (o);
|
|
||||||
}
|
|
||||||
|
|
||||||
-#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
|
|
||||||
+#endif /* SCOTCH_PTHREAD */
|
|
||||||
|
|
||||||
/*********************/
|
|
||||||
/* */
|
|
||||||
@@ -175,14 +175,14 @@
|
@@ -175,14 +175,14 @@
|
||||||
char * argv[])
|
char * argv[])
|
||||||
{
|
{
|
||||||
TestThreadGroup groudat;
|
TestThreadGroup groudat;
|
||||||
-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
|
-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
|
||||||
+#ifdef SCOTCH_PTHREAD
|
+#if ((defined COMMON_PTHREAD) && (defined SCOTCH_PTHREAD))
|
||||||
TestThread * restrict thrdtab;
|
TestThread * restrict thrdtab;
|
||||||
int thrdnbr;
|
int thrdnbr;
|
||||||
-#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
|
#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
|
||||||
+#endif /* SCOTCH_PTHREAD */
|
|
||||||
|
|
||||||
SCOTCH_errorProg (argv[0]);
|
SCOTCH_errorProg (argv[0]);
|
||||||
|
|
||||||
-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
|
-#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
|
||||||
+#ifdef SCOTCH_PTHREAD
|
+#if ((defined COMMON_PTHREAD) && (defined SCOTCH_PTHREAD))
|
||||||
thrdnbr = SCOTCH_PTHREAD_NUMBER;
|
thrdnbr = SCOTCH_PTHREAD_NUMBER;
|
||||||
|
|
||||||
groudat.redusum = COMPVAL (thrdnbr);
|
groudat.redusum = COMPVAL (thrdnbr);
|
||||||
@@ -197,9 +197,9 @@
|
|
||||||
errorPrint ("main: cannot launch or run threads");
|
|
||||||
return (1);
|
|
||||||
}
|
|
||||||
-#else /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
|
|
||||||
- printf ("Scotch not compiled with either COMMON_PTHREAD or SCOTCH_PTHREAD\n");
|
|
||||||
-#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
|
|
||||||
+#else /* not SCOTCH_PTHREAD */
|
|
||||||
+ printf ("Scotch not compiled with SCOTCH_PTHREAD\n");
|
|
||||||
+#endif /* not SCOTCH_PTHREAD */
|
|
||||||
|
|
||||||
return (0);
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue