From mboxrd@z Thu Jan 1 00:00:00 1970 From: ericbavier@openmailbox.org Subject: =?UTF-8?q?=5BPATCH=2004/14=5D=20gnu=3A=20Update=20scotch=20to=206=2E0=2E4=2E?= Date: Sat, 27 Jun 2015 22:45:41 -0500 Message-ID: <1435463151-32099-5-git-send-email-ericbavier@openmailbox.org> References: <1435463151-32099-1-git-send-email-ericbavier@openmailbox.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44890) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z93Wb-00014L-7S for guix-devel@gnu.org; Sat, 27 Jun 2015 23:44:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z93WV-0003da-7l for guix-devel@gnu.org; Sat, 27 Jun 2015 23:44:57 -0400 Received: from smtp29.openmailbox.org ([62.4.1.63]:47292) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z93WU-0003dA-V7 for guix-devel@gnu.org; Sat, 27 Jun 2015 23:44:51 -0400 In-Reply-To: <1435463151-32099-1-git-send-email-ericbavier@openmailbox.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Cc: Eric Bavier From: Eric Bavier * 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. --- gnu-system.am | 1 + gnu/packages/maths.scm | 16 +-- .../patches/pt-scotch-build-parallelism.patch | 13 ++ gnu/packages/patches/scotch-test-threading.patch | 131 ++-------------= ------ 4 files changed, 29 insertions(+), 132 deletions(-) create mode 100644 gnu/packages/patches/pt-scotch-build-parallelism.patc= h diff --git a/gnu-system.am b/gnu-system.am index 2d45e40..0c9a2eb 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -549,6 +549,7 @@ dist_patch_DATA =3D \ gnu/packages/patches/polkit-drop-test.patch \ gnu/packages/patches/portaudio-audacity-compat.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-longer-test-timeout.patch \ gnu/packages/patches/pycairo-wscript.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4e0b1ee..e4fe03b 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2,7 +2,7 @@ ;;; Copyright =C2=A9 2013, 2014, 2015 Andreas Enge ;;; Copyright =C2=A9 2013 Nikita Karetnikov ;;; Copyright =C2=A9 2014 John Darrington -;;; Copyright =C2=A9 2014 Eric Bavier +;;; Copyright =C2=A9 2014, 2015 Eric Bavier ;;; Copyright =C2=A9 2014 Federico Beffa ;;; Copyright =C2=A9 2014 Mathieu Lirzin ;;; Copyright =C2=A9 2015 Ricardo Wurmus @@ -785,15 +785,16 @@ implemented in ANSI C, and MPI for communications."= ) (define-public scotch (package (name "scotch") - (version "6.0.0") + (version "6.0.4") (source (origin (method url-fetch) - (uri (string-append "https://gforge.inria.fr/frs/download.php/3183= 1/" + (uri (string-append "https://gforge.inria.fr/frs/download.php/3461= 8/" "scotch_" version ".tar.gz")) (sha256 - (base32 "0yfqf9lk7chb3h42777x42x4adx0v3n0b41q0cdqrdmscp4iczp5")) - (patches (list (search-patch "scotch-test-threading.patch"))))) + (base32 "1ir088mvrqggyqdkx9qfynmiaffqbyih5qfl5mga2nrlm1qlsgzm")) + (patches (list (search-patch "scotch-test-threading.patch") + (search-patch "pt-scotch-build-parallelism.patch"))= ))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib) @@ -820,7 +821,7 @@ CCS =3D gcc CCP =3D mpicc CCD =3D gcc CPPFLAGS =3D~{ -D~a~} -CFLAGS =3D -O2 -g $(CPPFLAGS) +CFLAGS =3D -O2 -g -fPIC $(CPPFLAGS) LDFLAGS =3D -lz -lm -lrt -lpthread CP =3D cp LEX =3D flex -Pscotchyy -olex.yy.c @@ -833,8 +834,7 @@ YACC =3D bison -pscotchyy -y -b y '("COMMON_FILE_COMPRESS_GZ" "COMMON_PTHREAD" "COMMON_RANDOM_FIXED_SEED" - ;; TODO: Define once our MPI supports - ;; MPI_THREAD_MULTIPLE + ;; XXX: Causes invalid frees in superlu-dist te= sts ;; "SCOTCH_PTHREAD" ;; "SCOTCH_PTHREAD_NUMBER=3D2" "restrict=3D__restrict"))))) diff --git a/gnu/packages/patches/pt-scotch-build-parallelism.patch b/gnu= /packages/patches/pt-scotch-build-parallelism.patch new file mode 100644 index 0000000..2ac5f27 --- /dev/null +++ b/gnu/packages/patches/pt-scotch-build-parallelism.patch @@ -0,0 +1,13 @@ +Building with -j may cause the esmumps_main target to fail with a "no ru= le for +dependency libptesmumps.a" error. Fix the dependency name. + +--- scotch_6.0.4/src/esmumps/Makefile 2012-12-01 08:29:29.000000000 -060= 0 ++++ scotch_6.0.4/src/esmumps/Makefile 2015-06-15 17:29:23.279605734 -050= 0 +@@ -160,6 +160,6 @@ + order.h \ + symbol.h \ + esmumps.h \ +- lib$(ESMUMPSLIB)$(LIB) \ ++ libesmumps$(LIB) \ + $(libdir)/lib$(SCOTCHLIB)$(LIB) \ + $(libdir)/lib$(SCOTCHLIB)errexit$(LIB) diff --git a/gnu/packages/patches/scotch-test-threading.patch b/gnu/packa= ges/patches/scotch-test-threading.patch index 2527a6e..de8cc49 100644 --- a/gnu/packages/patches/scotch-test-threading.patch +++ b/gnu/packages/patches/scotch-test-threading.patch @@ -1,139 +1,22 @@ -* These tests assume threading support, even when the library is compile= d - without it. Protect these checks. +Fix this test so that it succeeds when the library is not compiled with +SCOTCH_PTHREAD. =20 -* Tests should not require keyboard interaction. - ---- 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 -=20 - if (argc !=3D 2) { - errorPrint ("main: invalid number of parameters"); -@@ -115,12 +117,14 @@ -=20 - fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr,= getpid ()); -=20 -+#ifdef SCOTCH_DEBUG_CHECK2 - if (proclocnum =3D=3D 0) { /* Synchronize on= keybord input */ - char c; -=20 - printf ("Waiting for key press...\n"); - scanf ("%c", &c); - } -+#endif /* SCOTCH_DEBUG_CHECK2 */ -=20 - if (MPI_Barrier (proccomm) !=3D 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 -=20 - if (argc !=3D 2) { - errorPrint ("main: invalid number of parameters"); -@@ -119,12 +121,14 @@ -=20 - fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr,= getpid ()); -=20 -+#ifdef SCOTCH_DEBUG_CHECK2 - if (proclocnum =3D=3D 0) { /* Synchronize on= keybord input */ - char c; -=20 - printf ("Waiting for key press...\n"); - scanf ("%c", &c); - } -+#endif /* SCOTCH_DEBUG_CHECK2 */ -=20 - if (MPI_Barrier (proccomm) !=3D MPI_SUCCESS) { /* Synchronize for = debug */ - errorPrint ("main: cannot communicate"); ---- a/src/check/test_scotch_dgraph_redist.c 2012-09-26 11:42:27.00000000= 0 -0500 -+++ b/src/check/test_scotch_dgraph_redist.c 2014-05-13 14:34:30.32326772= 2 -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 -=20 - if (argc !=3D 2) { - errorPrint ("main: invalid number of parameters"); -@@ -114,7 +116,6 @@ -=20 - fprintf (stderr, "Proc %2d of %2d, pid %d\n", proclocnum, procglbnbr,= getpid ()); -=20 --#define SCOTCH_DEBUG_CHECK2 - #ifdef SCOTCH_DEBUG_CHECK2 - if (proclocnum =3D=3D 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.1595= 35244 -0500 -@@ -90,7 +90,7 @@ - /* */ - /*************************/ -=20 --#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) -+#ifdef SCOTCH_PTHREAD -=20 - static - void -@@ -161,7 +161,7 @@ - return (o); - } -=20 --#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */ -+#endif /* SCOTCH_PTHREAD */ -=20 - /*********************/ - /* */ +--- scotch_6.0.4/src/check/test_common_thread.c 2014-09-28 11:39:59.0000= 00000 -0500 ++++ scotch_6.0.4/src/check/test_common_thread.c 2015-01-10 00:52:00.0762= 29542 -0600 @@ -175,14 +175,14 @@ char * argv[]) { TestThreadGroup groudat; -#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) -+#ifdef SCOTCH_PTHREAD ++#if ((defined COMMON_PTHREAD) && (defined SCOTCH_PTHREAD)) TestThread * restrict thrdtab; int thrdnbr; --#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */ -+#endif /* SCOTCH_PTHREAD */ + #endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */ =20 SCOTCH_errorProg (argv[0]); =20 -#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) -+#ifdef SCOTCH_PTHREAD ++#if ((defined COMMON_PTHREAD) && (defined SCOTCH_PTHREAD)) thrdnbr =3D SCOTCH_PTHREAD_NUMBER; =20 groudat.redusum =3D 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_PTH= READ\n"); --#endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */ -+#else /* not SCOTCH_PTHREAD */ -+ printf ("Scotch not compiled with SCOTCH_PTHREAD\n"); -+#endif /* not SCOTCH_PTHREAD */ -=20 - return (0); - } --=20 2.2.1