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
This commit is contained in:
parent
181fd95057
commit
df6d8d913b
@ -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):
|
@ -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 @@ def write_makefile_inc(self):
|
||||
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:
|
||||
|
Loading…
Reference in New Issue
Block a user