summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorserbanmaerean <serban@us.ibm.com>2017-06-13 09:09:59 -0400
committerAdam J. Stewart <ajstewart426@gmail.com>2017-06-13 08:09:59 -0500
commitdf6d8d913bd9e8c8fc704fc7b83ece9e0b9a4b37 (patch)
treedf314964cad4365417b390ed009163561b079c64 /var
parent181fd95057018b4e26d3fcbc76dd8d84f56cd3eb (diff)
downloadspack-df6d8d913bd9e8c8fc704fc7b83ece9e0b9a4b37.tar.gz
spack-df6d8d913bd9e8c8fc704fc7b83ece9e0b9a4b37.tar.bz2
spack-df6d8d913bd9e8c8fc704fc7b83ece9e0b9a4b37.tar.xz
spack-df6d8d913bd9e8c8fc704fc7b83ece9e0b9a4b37.zip
Fix/mumps (#4453)
* Added magma package * Incorporated Serban's change * mumps: Fix compiler error with IBM XL Split the patching between v 5.0.2 and 5.1.1
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/mumps/mumps-5.0.2-spectrum-mpi-xl.patch (renamed from var/spack/repos/builtin/packages/mumps/spectrum-mpi-xl.patch)0
-rw-r--r--var/spack/repos/builtin/packages/mumps/mumps-5.1.1-spectrum-mpi-xl.patch79
-rw-r--r--var/spack/repos/builtin/packages/mumps/package.py8
3 files changed, 84 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/mumps/spectrum-mpi-xl.patch b/var/spack/repos/builtin/packages/mumps/mumps-5.0.2-spectrum-mpi-xl.patch
index d2bd17cb44..d2bd17cb44 100644
--- a/var/spack/repos/builtin/packages/mumps/spectrum-mpi-xl.patch
+++ b/var/spack/repos/builtin/packages/mumps/mumps-5.0.2-spectrum-mpi-xl.patch
diff --git a/var/spack/repos/builtin/packages/mumps/mumps-5.1.1-spectrum-mpi-xl.patch b/var/spack/repos/builtin/packages/mumps/mumps-5.1.1-spectrum-mpi-xl.patch
new file mode 100644
index 0000000000..8d9c1fb93a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mumps/mumps-5.1.1-spectrum-mpi-xl.patch
@@ -0,0 +1,79 @@
+diff -Naur MUMPS_5.0.1/Makefile MUMPS_5.0.1-patched/MUMPS_5.0.1/Makefile
+--- ./Makefile 2015-07-23 13:08:29.000000000 -0400
++++ ./Makefile 2016-12-05 14:08:30.788638382 -0500
+@@ -62,7 +62,7 @@
+ $(libdir)/libpord$(PLAT)$(LIBEXT):
+ if [ "$(LPORDDIR)" != "" ] ; then \
+ cd $(LPORDDIR); \
+- $(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC="$(OUTC)" LIBEXT=$(LIBEXT); \
++ $(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" SAR="$(SAR)" RANLIB="$(RANLIB)" OUTC="$(OUTC)" LIBEXT=$(LIBEXT); \
+ fi;
+ if [ "$(LPORDDIR)" != "" ] ; then \
+ cp $(LPORDDIR)/libpord$(LIBEXT) $@; \
+diff -Naur MUMPS_5.0.1/PORD/lib/Makefile MUMPS_5.0.1-patched/PORD/lib/MUMPS_5.0.1/Makefile
+--- ./PORD/lib/Makefile 2015-07-23 13:08:29.000000000 -0400
++++ ./PORD/lib/Makefile 2016-12-05 11:26:24.785317467 -0500
+@@ -25,7 +25,7 @@
+ $(CC) $(COPTIONS) -c $*.c $(OUTC)$*.o
+
+ libpord$(LIBEXT):$(OBJS)
+- $(AR)$@ $(OBJS)
++ $(SAR)$@ $(OBJS)
+ $(RANLIB) $@
+
+ clean:
+--- ./examples/Makefile 2017-06-07 15:40:49.366671322 -0400
++++ ./examples/Makefile 2017-06-07 15:47:55.666685772 -0400
+@@ -26,40 +26,33 @@
+
+ LIBSMUMPS = $(libdir)/libsmumps$(PLAT)$(LIBEXT) $(LIBMUMPS_COMMON)
+
+-ssimpletest: $(LIBSMUMPS) $$@.o
+- $(FL) -o $@ $(OPTL) ssimpletest.o $(LIBSMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
++ssimpletest: $(LIBSMUMPS) $$@.F
++ $(FC) -o $@ $(OPTF) $(INCS) -I. -I$(topdir)/include ssimpletest.F $(LIBSMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
+
+
+ LIBDMUMPS = $(libdir)/libdmumps$(PLAT)$(LIBEXT) $(LIBMUMPS_COMMON)
+
+-dsimpletest: $(LIBDMUMPS) $$@.o
+- $(FL) -o $@ $(OPTL) dsimpletest.o $(LIBDMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
++dsimpletest: $(LIBDMUMPS) $$@.F
++ $(FC) -o $@ $(OPTF) $(INCS) -I. -I$(topdir)/include dsimpletest.F $(LIBDMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
+
+
+ LIBCMUMPS = $(libdir)/libcmumps$(PLAT)$(LIBEXT) $(LIBMUMPS_COMMON)
+
+-csimpletest: $(LIBCMUMPS) $$@.o
+- $(FL) -o $@ $(OPTL) csimpletest.o $(LIBCMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
++csimpletest: $(LIBCMUMPS) $$@.F
++ $(FC) -o $@ $(OPTF) $(INCS) -I. -I$(topdir)/include csimpletest.F $(LIBCMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
+
+
+ LIBZMUMPS = $(libdir)/libzmumps$(PLAT)$(LIBEXT) $(LIBMUMPS_COMMON)
+
+-zsimpletest: $(LIBZMUMPS) $$@.o
+- $(FL) -o $@ $(OPTL) zsimpletest.o $(LIBZMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
++zsimpletest: $(LIBZMUMPS) $$@.F
++ $(FC) -o $@ $(OPTF) $(INCS) -I. -I$(topdir)/include zsimpletest.F $(LIBZMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
+
+-c_example: $(LIBDMUMPS) $$@.o
+- $(FL) -o $@ $(OPTL) $@.o $(LIBDMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
++c_example: $(LIBDMUMPS) $$@.c
++ $(CC) -o $@ $(OPTC) $(INCS) -I. -I$(topdir)/include c_example.c $(LIBDMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
+
+
+-multiple_arithmetics_example: $(LIBSMUMPS) $(LIBDMUMPS) $(LIBCMUMPS) $(LIBZMUMPS) $$@.o
+- $(FL) -o $@ $(OPTL) $@.o $(LIBSMUMPS) $(LIBDMUMPS) $(LIBCMUMPS) $(LIBZMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
+-
+-
+-.SUFFIXES: .c .F .o
+-.F.o:
+- $(FC) $(OPTF) $(INCS) -I. -I$(topdir)/include -c $*.F $(OUTF)$*.o
+-.c.o:
+- $(CC) $(OPTC) $(INCS) $(CDEFS) -I. -I$(topdir)/include -I$(topdir)/src -c $*.c $(OUTC)$*.o
++multiple_arithmetics_example: $(LIBSMUMPS) $(LIBDMUMPS) $(LIBCMUMPS) $(LIBZMUMPS) $$@.F
++ $(FC) -o $@ $(OPTF) $(INCS) -I. -I$(topdir)/include multiple_arithmetics_example.F $(LIBSMUMPS) $(LIBDMUMPS) $(LIBCMUMPS) $(LIBZMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS)
+
+
+ $(libdir)/libsmumps$(PLAT)$(LIBEXT):
diff --git a/var/spack/repos/builtin/packages/mumps/package.py b/var/spack/repos/builtin/packages/mumps/package.py
index f28941fda3..5bddeaba5d 100644
--- a/var/spack/repos/builtin/packages/mumps/package.py
+++ b/var/spack/repos/builtin/packages/mumps/package.py
@@ -69,8 +69,10 @@ class Mumps(Package):
depends_on('scalapack', when='+mpi')
depends_on('mpi', when='+mpi')
- patch('spectrum-mpi-xl.patch', when='%xl^spectrum-mpi')
- patch('spectrum-mpi-xl.patch', when='%xl_r^spectrum-mpi')
+ patch('mumps-5.0.2-spectrum-mpi-xl.patch', when='@5.0.2%xl^spectrum-mpi')
+ patch('mumps-5.0.2-spectrum-mpi-xl.patch', when='@5.0.2%xl_r^spectrum-mpi')
+ patch('mumps-5.1.1-spectrum-mpi-xl.patch', when='@5.1.1%xl^spectrum-mpi')
+ patch('mumps-5.1.1-spectrum-mpi-xl.patch', when='@5.1.1%xl_r^spectrum-mpi')
# this function is not a patch function because in case scalapack
# is needed it uses self.spec['scalapack'].fc_link set by the
@@ -147,7 +149,7 @@ class Mumps(Package):
else:
if self.compiler.name == "xl" or self.compiler.name == "xl_r":
makefile_conf.extend(
- ['OPTF = -O3',
+ ['OPTF = -O3 -qfixed',
'OPTL = %s -O3' % fpic,
'OPTC = %s -O3' % fpic])
else: