Accepting request 672694 from home:eeich:factory_staging
- Update to version 5.1.2 See Changelog file or http://mumps.enseeiht.fr/index.php?page=dwnld - Convert to full multibuild support: builds with scotch support are separate, now. - Add HPC support (FATE#324151). - Move links from the sequential libraries to the MPI library directory to a separate package, make this package an optional Recommends: of the non-HPC library packages. - Move documentation to separate package. - Disable non-HPC builds and some MPI flavors for SLE. OBS-URL: https://build.opensuse.org/request/show/672694 OBS-URL: https://build.opensuse.org/package/show/science/mumps?expand=0&rev=10
This commit is contained in:
parent
9343fdb741
commit
2b6a207418
@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
LPORDDIR = $(topdir)/PORD/lib/
|
LPORDDIR = $(topdir)/PORD/lib/
|
||||||
IPORD = -I$(topdir)/PORD/include/
|
IPORD = -I$(topdir)/PORD/include/
|
||||||
LPORD = -L$(LPORDDIR) -lpord$(PLAT)
|
LPORD = -L$(LPORDDIR) -lpord
|
||||||
|
|
||||||
#LMETISDIR = /local/metis/
|
#LMETISDIR = /local/metis/
|
||||||
#IMETIS = # Metis doesn't need include files (Fortran interface avail.)
|
#IMETIS = # Metis doesn't need include files (Fortran interface avail.)
|
||||||
@ -52,7 +52,6 @@ LPORD = -L$(LPORDDIR) -lpord$(PLAT)
|
|||||||
# The following variables will be used in the compilation process.
|
# The following variables will be used in the compilation process.
|
||||||
# Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
|
# Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
|
||||||
#ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis
|
#ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis
|
||||||
ORDERINGSF = -Dpord
|
|
||||||
ORDERINGSC = $(ORDERINGSF)
|
ORDERINGSC = $(ORDERINGSF)
|
||||||
|
|
||||||
LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
|
LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
|
||||||
@ -63,28 +62,37 @@ IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH)
|
|||||||
########################################################################
|
########################################################################
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PLAT =
|
#PLAT =
|
||||||
|
# Library extension, + C and Fortran "-o" option
|
||||||
|
# may be different under Windows
|
||||||
|
LIBEXT = .a
|
||||||
|
OUTC = -o
|
||||||
|
OUTF = -o
|
||||||
|
|
||||||
RM = /bin/rm -f
|
RM = /bin/rm -f
|
||||||
CC = gcc
|
#CC = gcc
|
||||||
FC = gfortran
|
#FC = gfortran
|
||||||
FL = gfortran
|
#FL = gfortran
|
||||||
AR = ar vr
|
# keep a space at the end if options have to be separated from lib name
|
||||||
|
AR = ar vr
|
||||||
#RANLIB = ranlib
|
#RANLIB = ranlib
|
||||||
RANLIB = echo
|
RANLIB = echo
|
||||||
# See point 17 in the FAQ to have more details on the compilation of mpich with gfortran
|
# See point 17 in the FAQ to have more details on the compilation of mpich with gfortran
|
||||||
|
INCPAR = -I/usr/include
|
||||||
|
LIBPAR = $(SCALAP) $(LAPACK) -L/usr/lib -lmpi
|
||||||
INCSEQ = -I$(topdir)/libseq
|
INCSEQ = -I$(topdir)/libseq
|
||||||
LIBSEQ = -L$(topdir)/libseq -lmpiseq$(PLAT)
|
LIBSEQ = $(LAPACK) -L$(topdir)/libseq -lmpiseq$(PLAT)
|
||||||
#LIBBLAS = -L/usr/lib/xmm/ -lf77blas -latlas
|
#LIBBLAS = -L/usr/lib/xmm/ -lf77blas -latlas
|
||||||
LIBBLAS = -lblas -llapack
|
#LIBBLAS = -lblas -llapack
|
||||||
LIBOTHERS = -lpthread
|
LIBOTHERS = -lpthread
|
||||||
#Preprocessor defs for calling Fortran from C (-DAdd_ or -DAdd__ or -DUPPER)
|
#Preprocessor defs for calling Fortran from C (-DAdd_ or -DAdd__ or -DUPPER)
|
||||||
CDEFS = -DAdd_
|
CDEFS = -DAdd_
|
||||||
|
|
||||||
#Begin Optimized options
|
#Begin Optimized options
|
||||||
OPTF = -O -Dintel_ -DALLOW_NON_INIT
|
OPTF = -O -fPIC
|
||||||
OPTL = -O
|
OPTL = -O -pie
|
||||||
OPTC = -O
|
OPTC = -O -fPIC
|
||||||
#End Optimized options
|
#End Optimized options
|
||||||
INC = $(INCSEQ)
|
#INCS = $(INCSEQ)
|
||||||
LIB = $(LIBSEQ)
|
#LIBS = $(LIBSEQ)
|
||||||
LIBSEQNEEDED = libseqneeded
|
LIBSEQNEEDED =
|
@ -1,93 +0,0 @@
|
|||||||
#
|
|
||||||
# This file is part of MUMPS 4.9.2, built on Thu Nov 5 07:05:08 UTC 2009
|
|
||||||
# Adapted by Adam Powell from Make.inc/Makefile.gfortran.par
|
|
||||||
#
|
|
||||||
#Begin orderings
|
|
||||||
|
|
||||||
# NOTE that PORD is distributed within MUMPS by default. If you would like to
|
|
||||||
# use other orderings, you need to obtain the corresponding package and modify
|
|
||||||
# the variables below accordingly.
|
|
||||||
# For example, to have Metis available within MUMPS:
|
|
||||||
# 1/ download Metis and compile it
|
|
||||||
# 2/ uncomment (suppress # in first column) lines
|
|
||||||
# starting with LMETISDIR, LMETIS
|
|
||||||
# 3/ add -Dmetis in line ORDERINGSF
|
|
||||||
# ORDERINGSF = -Dpord -Dmetis
|
|
||||||
# 4/ Compile and install MUMPS
|
|
||||||
# make clean; make (to clean up previous installation)
|
|
||||||
#
|
|
||||||
# Metis/ParMetis and SCOTCH/PT-SCOTCH (ver 5.1 and later) orderings are now available for MUMPS.
|
|
||||||
#
|
|
||||||
|
|
||||||
#SCOTCHDIR = /usr
|
|
||||||
#ISCOTCH = -I$(SCOTCHDIR)/scotch/include
|
|
||||||
# You have to choose one among the following two lines depending on
|
|
||||||
# the type of analysis you want to perform. If you want to perform only
|
|
||||||
# sequential analysis choose the first (remember to add -Dscotch in the ORDERINGSF
|
|
||||||
# variable below); for both parallel and sequential analysis choose the second
|
|
||||||
# line (remember to add -Dptscotch in the ORDERINGSF variable below)
|
|
||||||
|
|
||||||
#LSCOTCH = -L$(SCOTCHDIR)/lib -lesmumps -lscotch -lscotcherr
|
|
||||||
#LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr
|
|
||||||
|
|
||||||
|
|
||||||
LPORDDIR = $(topdir)/PORD/lib/
|
|
||||||
IPORD = -I$(topdir)/PORD/include/
|
|
||||||
LPORD = -L$(LPORDDIR) -lpord$(PLAT)
|
|
||||||
|
|
||||||
#LMETISDIR = /local/metis/
|
|
||||||
#IMETIS = # Metis doesn't need include files (Fortran interface avail.)
|
|
||||||
|
|
||||||
# You have to choose one among the following two lines depending on
|
|
||||||
# the type of analysis you want to perform. If you want to perform only
|
|
||||||
# sequential analysis choose the first (remember to add -Dmetis in the ORDERINGSF
|
|
||||||
# variable below); for both parallel and sequential analysis choose the second
|
|
||||||
# line (remember to add -Dparmetis in the ORDERINGSF variable below)
|
|
||||||
|
|
||||||
#LMETIS = -L$(LMETISDIR) -lmetis
|
|
||||||
#LMETIS = -L$(LMETISDIR) -lparmetis -lmetis
|
|
||||||
|
|
||||||
# The following variables will be used in the compilation process.
|
|
||||||
# Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
|
|
||||||
#ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis
|
|
||||||
ORDERINGSF = -Dpord
|
|
||||||
ORDERINGSC = $(ORDERINGSF)
|
|
||||||
|
|
||||||
LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
|
|
||||||
IORDERINGSF = $(ISCOTCH)
|
|
||||||
IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH)
|
|
||||||
|
|
||||||
#End orderings
|
|
||||||
########################################################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
PLAT =
|
|
||||||
RM = /bin/rm -f
|
|
||||||
CC = mpicc
|
|
||||||
FC = mpif77
|
|
||||||
FL = mpif77
|
|
||||||
AR = ar vr
|
|
||||||
#RANLIB = ranlib
|
|
||||||
RANLIB = echo
|
|
||||||
SCALAP = -lscalapack
|
|
||||||
#INCPAR = -I/usr/local/include
|
|
||||||
#INCPAR = -I/usr/include/mpi
|
|
||||||
# LIBPAR = $(SCALAP) -L/usr/local/lib/ -llammpio -llamf77mpi -lmpi -llam -lutil -ldl -lpthread
|
|
||||||
LIBPAR = $(SCALAP) $(MUMPS_LIBF77)
|
|
||||||
# See point 17 in the FAQ to have more details on the compilation of mpich with gfortran
|
|
||||||
INCSEQ = -I$(topdir)/libseq
|
|
||||||
LIBSEQ = -L$(topdir)/libseq -lmpiseq$(PLAT)
|
|
||||||
#LIBBLAS = -L/usr/lib/xmm/ -lf77blas -latlas
|
|
||||||
LIBBLAS = -lblas -llapack
|
|
||||||
LIBOTHERS = -lpthread
|
|
||||||
#Preprocessor defs for calling Fortran from C (-DAdd_ or -DAdd__ or -DUPPER)
|
|
||||||
CDEFS = -DAdd_
|
|
||||||
|
|
||||||
#Begin Optimized options
|
|
||||||
OPTF = -O -Dintel_ -DALLOW_NON_INIT
|
|
||||||
OPTL = -O
|
|
||||||
OPTC = -O
|
|
||||||
#End Optimized options
|
|
||||||
INC = $(INCPAR)
|
|
||||||
LIB = $(LIBPAR)
|
|
||||||
LIBSEQNEEDED =
|
|
@ -1,93 +0,0 @@
|
|||||||
#
|
|
||||||
# This file is part of MUMPS 4.9.2, built on Thu Nov 5 07:05:08 UTC 2009
|
|
||||||
# Adapted by Adam Powell from Make.inc/Makefile.gfortran.par
|
|
||||||
#
|
|
||||||
#Begin orderings
|
|
||||||
|
|
||||||
# NOTE that PORD is distributed within MUMPS by default. If you would like to
|
|
||||||
# use other orderings, you need to obtain the corresponding package and modify
|
|
||||||
# the variables below accordingly.
|
|
||||||
# For example, to have Metis available within MUMPS:
|
|
||||||
# 1/ download Metis and compile it
|
|
||||||
# 2/ uncomment (suppress # in first column) lines
|
|
||||||
# starting with LMETISDIR, LMETIS
|
|
||||||
# 3/ add -Dmetis in line ORDERINGSF
|
|
||||||
# ORDERINGSF = -Dpord -Dmetis
|
|
||||||
# 4/ Compile and install MUMPS
|
|
||||||
# make clean; make (to clean up previous installation)
|
|
||||||
#
|
|
||||||
# Metis/ParMetis and SCOTCH/PT-SCOTCH (ver 5.1 and later) orderings are now available for MUMPS.
|
|
||||||
#
|
|
||||||
|
|
||||||
#SCOTCHDIR = /usr
|
|
||||||
ISCOTCH = -I/usr/include
|
|
||||||
# You have to choose one among the following two lines depending on
|
|
||||||
# the type of analysis you want to perform. If you want to perform only
|
|
||||||
# sequential analysis choose the first (remember to add -Dscotch in the ORDERINGSF
|
|
||||||
# variable below); for both parallel and sequential analysis choose the second
|
|
||||||
# line (remember to add -Dptscotch in the ORDERINGSF variable below)
|
|
||||||
|
|
||||||
#LSCOTCH = -L$(SCOTCHDIR)/lib -lesmumps -lscotch -lscotcherr
|
|
||||||
LSCOTCH = -lptesmumps -lptscotch -lptscotcherr -lscotch
|
|
||||||
|
|
||||||
|
|
||||||
LPORDDIR = $(topdir)/PORD/lib/
|
|
||||||
IPORD = -I$(topdir)/PORD/include/
|
|
||||||
LPORD = -L$(LPORDDIR) -lpord$(PLAT)
|
|
||||||
|
|
||||||
#LMETISDIR = /local/metis/
|
|
||||||
#IMETIS = # Metis doesn't need include files (Fortran interface avail.)
|
|
||||||
|
|
||||||
# You have to choose one among the following two lines depending on
|
|
||||||
# the type of analysis you want to perform. If you want to perform only
|
|
||||||
# sequential analysis choose the first (remember to add -Dmetis in the ORDERINGSF
|
|
||||||
# variable below); for both parallel and sequential analysis choose the second
|
|
||||||
# line (remember to add -Dparmetis in the ORDERINGSF variable below)
|
|
||||||
|
|
||||||
#LMETIS = -L$(LMETISDIR) -lmetis
|
|
||||||
#LMETIS = -L$(LMETISDIR) -lparmetis -lmetis
|
|
||||||
|
|
||||||
# The following variables will be used in the compilation process.
|
|
||||||
# Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
|
|
||||||
ORDERINGSF = -Dscotch -Dpord -Dptscotch
|
|
||||||
#ORDERINGSF = -Dpord
|
|
||||||
ORDERINGSC = $(ORDERINGSF)
|
|
||||||
|
|
||||||
LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
|
|
||||||
IORDERINGSF = $(ISCOTCH)
|
|
||||||
IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH)
|
|
||||||
|
|
||||||
#End orderings
|
|
||||||
########################################################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
PLAT =
|
|
||||||
RM = /bin/rm -f
|
|
||||||
CC = gcc
|
|
||||||
FC = gfortran
|
|
||||||
FL = gfortran
|
|
||||||
AR = ar vr
|
|
||||||
#RANLIB = ranlib
|
|
||||||
RANLIB = echo
|
|
||||||
SCALAP = -lscalapack
|
|
||||||
#INCPAR = -I/usr/local/include
|
|
||||||
#INCPAR = -I/usr/include/mpi
|
|
||||||
# LIBPAR = $(SCALAP) -L/usr/local/lib/ -llammpio -llamf77mpi -lmpi -llam -lutil -ldl -lpthread
|
|
||||||
LIBPAR = $(SCALAP) $(MUMPS_LIBF77)
|
|
||||||
# See point 17 in the FAQ to have more details on the compilation of mpich with gfortran
|
|
||||||
INCSEQ = -I$(topdir)/libseq
|
|
||||||
LIBSEQ = -L$(topdir)/libseq -lmpiseq$(PLAT)
|
|
||||||
#LIBBLAS = -L/usr/lib/xmm/ -lf77blas -latlas
|
|
||||||
LIBBLAS = -lblas -llapack
|
|
||||||
LIBOTHERS = -lpthread
|
|
||||||
#Preprocessor defs for calling Fortran from C (-DAdd_ or -DAdd__ or -DUPPER)
|
|
||||||
CDEFS = -DAdd_
|
|
||||||
|
|
||||||
#Begin Optimized options
|
|
||||||
OPTF = -O -Dintel_ -DALLOW_NON_INIT
|
|
||||||
OPTL = -O
|
|
||||||
OPTC = -O
|
|
||||||
#End Optimized options
|
|
||||||
INC = $(INCPAR)
|
|
||||||
LIB = $(LIBPAR)
|
|
||||||
LIBSEQNEEDED =
|
|
@ -1,90 +0,0 @@
|
|||||||
#
|
|
||||||
# This file is part of MUMPS 4.9.2, built on Thu Nov 5 07:05:08 UTC 2009
|
|
||||||
# Adapted by Adam Powell from Make.inc/Makefile.gfortran.seq, based on
|
|
||||||
# Roberto C. Sanchez' adaptation from Make.inc/Makefile.G95.seq, based on
|
|
||||||
# Adam Powell's adaptation of Make.inc/Makefile.G95.par
|
|
||||||
#
|
|
||||||
#Begin orderings
|
|
||||||
|
|
||||||
# NOTE that PORD is distributed within MUMPS by default. If you would like to
|
|
||||||
# use other orderings, you need to obtain the corresponding package and modify
|
|
||||||
# the variables below accordingly.
|
|
||||||
# For example, to have Metis available within MUMPS:
|
|
||||||
# 1/ download Metis and compile it
|
|
||||||
# 2/ uncomment (suppress # in first column) lines
|
|
||||||
# starting with LMETISDIR, LMETIS
|
|
||||||
# 3/ add -Dmetis in line ORDERINGSF
|
|
||||||
# ORDERINGSF = -Dpord -Dmetis
|
|
||||||
# 4/ Compile and install MUMPS
|
|
||||||
# make clean; make (to clean up previous installation)
|
|
||||||
#
|
|
||||||
# Metis/ParMetis and SCOTCH/PT-SCOTCH (ver 5.1 and later) orderings are now available for MUMPS.
|
|
||||||
#
|
|
||||||
|
|
||||||
#SCOTCHDIR = /usr
|
|
||||||
ISCOTCH = -I/usr/include
|
|
||||||
# You have to choose one among the following two lines depending on
|
|
||||||
# the type of analysis you want to perform. If you want to perform only
|
|
||||||
# sequential analysis choose the first (remember to add -Dscotch in the ORDERINGSF
|
|
||||||
# variable below); for both parallel and sequential analysis choose the second
|
|
||||||
# line (remember to add -Dptscotch in the ORDERINGSF variable below)
|
|
||||||
|
|
||||||
LSCOTCH = -lesmumps -lscotch -lscotcherr
|
|
||||||
#LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr
|
|
||||||
|
|
||||||
|
|
||||||
LPORDDIR = $(topdir)/PORD/lib/
|
|
||||||
IPORD = -I$(topdir)/PORD/include/
|
|
||||||
LPORD = -L$(LPORDDIR) -lpord$(PLAT)
|
|
||||||
|
|
||||||
#LMETISDIR = /local/metis/
|
|
||||||
#IMETIS = # Metis doesn't need include files (Fortran interface avail.)
|
|
||||||
|
|
||||||
# You have to choose one among the following two lines depending on
|
|
||||||
# the type of analysis you want to perform. If you want to perform only
|
|
||||||
# sequential analysis choose the first (remember to add -Dmetis in the ORDERINGSF
|
|
||||||
# variable below); for both parallel and sequential analysis choose the second
|
|
||||||
# line (remember to add -Dparmetis in the ORDERINGSF variable below)
|
|
||||||
|
|
||||||
#LMETIS = -L$(LMETISDIR) -lmetis
|
|
||||||
#LMETIS = -L$(LMETISDIR) -lparmetis -lmetis
|
|
||||||
|
|
||||||
# The following variables will be used in the compilation process.
|
|
||||||
# Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.
|
|
||||||
ORDERINGSF = -Dscotch -Dpord
|
|
||||||
#ORDERINGSF = -Dpord
|
|
||||||
ORDERINGSC = $(ORDERINGSF)
|
|
||||||
|
|
||||||
LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH)
|
|
||||||
IORDERINGSF = $(ISCOTCH)
|
|
||||||
IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH)
|
|
||||||
|
|
||||||
#End orderings
|
|
||||||
########################################################################
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
PLAT =
|
|
||||||
RM = /bin/rm -f
|
|
||||||
CC = gcc
|
|
||||||
FC = gfortran
|
|
||||||
FL = gfortran
|
|
||||||
AR = ar vr
|
|
||||||
#RANLIB = ranlib
|
|
||||||
RANLIB = echo
|
|
||||||
# See point 17 in the FAQ to have more details on the compilation of mpich with gfortran
|
|
||||||
INCSEQ = -I$(topdir)/libseq
|
|
||||||
LIBSEQ = -L$(topdir)/libseq -lmpiseq$(PLAT)
|
|
||||||
#LIBBLAS = -L/usr/lib/xmm/ -lf77blas -latlas
|
|
||||||
LIBBLAS = -lblas -llapack
|
|
||||||
LIBOTHERS = -lpthread
|
|
||||||
#Preprocessor defs for calling Fortran from C (-DAdd_ or -DAdd__ or -DUPPER)
|
|
||||||
CDEFS = -DAdd_
|
|
||||||
|
|
||||||
#Begin Optimized options
|
|
||||||
OPTF = -O -Dintel_ -DALLOW_NON_INIT
|
|
||||||
OPTL = -O
|
|
||||||
OPTC = -O
|
|
||||||
#End Optimized options
|
|
||||||
INC = $(INCSEQ)
|
|
||||||
LIB = $(LIBSEQ)
|
|
||||||
LIBSEQNEEDED = libseqneeded
|
|
@ -3,4 +3,13 @@
|
|||||||
<package>openmpi</package>
|
<package>openmpi</package>
|
||||||
<package>openmpi2</package>
|
<package>openmpi2</package>
|
||||||
<package>mvapich2</package>
|
<package>mvapich2</package>
|
||||||
|
<package>scotch-serial</package>
|
||||||
|
<package>scotch-openmpi</package>
|
||||||
|
<package>scotch-openmpi2</package>
|
||||||
|
<package>gnu-openmpi-hpc</package>
|
||||||
|
<package>gnu-openmpi2-hpc</package>
|
||||||
|
<package>gnu-openmpi3-hpc</package>
|
||||||
|
<package>gnu-mvapich2-hpc</package>
|
||||||
|
<package>gnu-mpich-hpc</package>
|
||||||
|
<!-- <package>scotch-mvapich2</package> -->
|
||||||
</multibuild>
|
</multibuild>
|
||||||
|
@ -1,118 +0,0 @@
|
|||||||
Convert scotch support to ptscotch.
|
|
||||||
|
|
||||||
Index: mumps-4.9.2.dfsg/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps-4.9.2.dfsg.orig/Makefile 2010-04-02 12:18:01.000000000 +0200
|
|
||||||
+++ mumps-4.9.2.dfsg/Makefile 2010-04-02 12:18:01.000000000 +0200
|
|
||||||
@@ -47,7 +47,7 @@
|
|
||||||
zexamples: z
|
|
||||||
|
|
||||||
|
|
||||||
-requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord_scotch$(PLAT).a $(libdir)/libpord_scotch$(PLAT).so
|
|
||||||
+requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord_ptscotch$(PLAT).a $(libdir)/libpord_ptscotch$(PLAT).so
|
|
||||||
|
|
||||||
# dummy MPI library (sequential version)
|
|
||||||
|
|
||||||
@@ -55,21 +55,21 @@
|
|
||||||
(cd libseq; $(MAKE))
|
|
||||||
cp libseq/lib* $(libdir)
|
|
||||||
|
|
||||||
-# Build the libpord_scotch.a library and copy it into $(topdir)/lib
|
|
||||||
-$(libdir)/libpord_scotch$(PLAT).a:
|
|
||||||
+# Build the libpord_ptscotch.a library and copy it into $(topdir)/lib
|
|
||||||
+$(libdir)/libpord_ptscotch$(PLAT).a:
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
cd $(LPORDDIR); \
|
|
||||||
$(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)"; \
|
|
||||||
fi;
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
- cp $(LPORDDIR)/libpord_scotch.a $@; \
|
|
||||||
+ cp $(LPORDDIR)/libpord_ptscotch.a $@; \
|
|
||||||
fi;
|
|
||||||
|
|
||||||
-$(libdir)/libpord_scotch$(PLAT).so:
|
|
||||||
+$(libdir)/libpord_ptscotch$(PLAT).so:
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
- cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord_scotch.so; fi;
|
|
||||||
+ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord_ptscotch.so; fi;
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
- cp -a $(LPORDDIR)/libpord_scotch*.so lib/; fi;
|
|
||||||
+ cp -a $(LPORDDIR)/libpord_ptscotch*.so lib/; fi;
|
|
||||||
|
|
||||||
clean:
|
|
||||||
(cd src; $(MAKE) clean)
|
|
||||||
Index: mumps-4.9.2.dfsg/PORD/lib/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps-4.9.2.dfsg.orig/PORD/lib/Makefile 2010-04-02 12:18:01.000000000 +0200
|
|
||||||
+++ mumps-4.9.2.dfsg/PORD/lib/Makefile 2010-04-02 12:18:01.000000000 +0200
|
|
||||||
@@ -21,16 +21,16 @@
|
|
||||||
.c.o:
|
|
||||||
$(CC) $(COPTIONS) -c $*.c
|
|
||||||
|
|
||||||
-libpord_scotch.a: $(OBJS)
|
|
||||||
+libpord_ptscotch.a: $(OBJS)
|
|
||||||
$(AR) $(ARFUNCT) $@ $(OBJS)
|
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
||||||
-libpord_scotch.so: $(OBJS)
|
|
||||||
- $(CC) -shared $(OBJS) -Wl,-soname,libpord_scotch-4.9.2.so -o libpord_scotch-4.9.2.so
|
|
||||||
- ln -s libpord_scotch-4.9.2.so $@
|
|
||||||
+libpord_ptscotch.so: $(OBJS)
|
|
||||||
+ $(CC) -shared $(OBJS) -Wl,-soname,libpord_ptscotch-4.9.2.so -o libpord_ptscotch-4.9.2.so
|
|
||||||
+ ln -s libpord_ptscotch-4.9.2.so $@
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o
|
|
||||||
|
|
||||||
realclean:
|
|
||||||
- rm -f *.o libpord_scotch.a *.so
|
|
||||||
+ rm -f *.o libpord_ptscotch.a *.so
|
|
||||||
Index: mumps-4.9.2.dfsg/src/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps-4.9.2.dfsg.orig/src/Makefile 2010-04-02 12:18:01.000000000 +0200
|
|
||||||
+++ mumps-4.9.2.dfsg/src/Makefile 2010-04-02 13:27:06.000000000 +0200
|
|
||||||
@@ -19,10 +19,10 @@
|
|
||||||
|
|
||||||
include $(topdir)/Makefile.inc
|
|
||||||
|
|
||||||
-mumps_lib: $(libdir)/libmumps_common_scotch$(PLAT).a \
|
|
||||||
- $(libdir)/libmumps_common_scotch$(PLAT).so \
|
|
||||||
- $(libdir)/lib$(ARITH)mumps_scotch$(PLAT).a \
|
|
||||||
- $(libdir)/lib$(ARITH)mumps_scotch$(PLAT).so
|
|
||||||
+mumps_lib: $(libdir)/libmumps_common_ptscotch$(PLAT).a \
|
|
||||||
+ $(libdir)/libmumps_common_ptscotch$(PLAT).so \
|
|
||||||
+ $(libdir)/lib$(ARITH)mumps_ptscotch$(PLAT).a \
|
|
||||||
+ $(libdir)/lib$(ARITH)mumps_ptscotch$(PLAT).so
|
|
||||||
|
|
||||||
OBJS_COMMON = \
|
|
||||||
mumps_part9.o\
|
|
||||||
@@ -53,21 +53,21 @@
|
|
||||||
$(ARITH)mumps_struc_def.o
|
|
||||||
|
|
||||||
|
|
||||||
-$(libdir)/libmumps_common_scotch$(PLAT).a: $(OBJS_COMMON)
|
|
||||||
+$(libdir)/libmumps_common_ptscotch$(PLAT).a: $(OBJS_COMMON)
|
|
||||||
$(AR) $@ $?
|
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
||||||
-$(libdir)/libmumps_common_scotch$(PLAT).so: $(OBJS_COMMON) $(topdir)/libseq/libmpiseq.so
|
|
||||||
- $(FC) -shared $^ -Wl,-soname,libmumps_common_scotch$(PLAT)-4.9.2.so -L$(libdir) -lpord_scotch -lpthread -lmpiseq -o $(libdir)/libmumps_common_scotch$(PLAT)-4.9.2.so
|
|
||||||
- ln -s libmumps_common_scotch$(PLAT)-4.9.2.so $@
|
|
||||||
+$(libdir)/libmumps_common_ptscotch$(PLAT).so: $(OBJS_COMMON)
|
|
||||||
+ $(FC) -shared $^ -Wl,-soname,libmumps_common_ptscotch$(PLAT)-4.9.2.so -L$(libdir) -lpord_ptscotch -lpthread -o $(libdir)/libmumps_common_ptscotch$(PLAT)-4.9.2.so
|
|
||||||
+ ln -s libmumps_common_ptscotch$(PLAT)-4.9.2.so $@
|
|
||||||
|
|
||||||
-$(libdir)/lib$(ARITH)mumps_scotch$(PLAT).a: $(OBJS)
|
|
||||||
+$(libdir)/lib$(ARITH)mumps_ptscotch$(PLAT).a: $(OBJS)
|
|
||||||
$(AR) $@ $?
|
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
||||||
-$(libdir)/lib$(ARITH)mumps_scotch$(PLAT).so: $(OBJS)
|
|
||||||
- $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps_scotch$(PLAT)-4.9.2.so -L$(libdir) -lmumps_common_scotch -lmpiseq -lblas -o $(libdir)/lib$(ARITH)mumps_scotch$(PLAT)-4.9.2.so
|
|
||||||
- ln -s lib$(ARITH)mumps_scotch$(PLAT)-4.9.2.so $@
|
|
||||||
+$(libdir)/lib$(ARITH)mumps_ptscotch$(PLAT).so: $(OBJS)
|
|
||||||
+ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps_ptscotch$(PLAT)-4.9.2.so -L$(libdir) -lmumps_common_ptscotch -lblas -lblacs-$(MUMPS_MPI) -lscalapack-$(MUMPS_MPI) -o $(libdir)/lib$(ARITH)mumps_ptscotch$(PLAT)-4.9.2.so
|
|
||||||
+ ln -s lib$(ARITH)mumps_ptscotch$(PLAT)-4.9.2.so $@
|
|
||||||
|
|
||||||
$(ARITH)mumps_load.o: $(ARITH)mumps_comm_buffer.o \
|
|
||||||
$(ARITH)mumps_struc_def.o
|
|
@ -1,118 +0,0 @@
|
|||||||
Add scotch support with different library names to PORD and MUMPS libraries.
|
|
||||||
|
|
||||||
Index: mumps-4.9.2.dfsg/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps-4.9.2.dfsg.orig/Makefile 2010-04-01 19:03:02.000000000 +0200
|
|
||||||
+++ mumps-4.9.2.dfsg/Makefile 2010-04-01 19:04:04.000000000 +0200
|
|
||||||
@@ -47,7 +47,7 @@
|
|
||||||
zexamples: z
|
|
||||||
|
|
||||||
|
|
||||||
-requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord_seq$(PLAT).a $(libdir)/libpord_seq$(PLAT).so
|
|
||||||
+requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord_scotch$(PLAT).a $(libdir)/libpord_scotch$(PLAT).so
|
|
||||||
|
|
||||||
# dummy MPI library (sequential version)
|
|
||||||
|
|
||||||
@@ -55,21 +55,21 @@
|
|
||||||
(cd libseq; $(MAKE))
|
|
||||||
cp libseq/lib* $(libdir)
|
|
||||||
|
|
||||||
-# Build the libpord_seq.a library and copy it into $(topdir)/lib
|
|
||||||
-$(libdir)/libpord_seq$(PLAT).a:
|
|
||||||
+# Build the libpord_scotch.a library and copy it into $(topdir)/lib
|
|
||||||
+$(libdir)/libpord_scotch$(PLAT).a:
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
cd $(LPORDDIR); \
|
|
||||||
$(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)"; \
|
|
||||||
fi;
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
- cp $(LPORDDIR)/libpord_seq.a $@; \
|
|
||||||
+ cp $(LPORDDIR)/libpord_scotch.a $@; \
|
|
||||||
fi;
|
|
||||||
|
|
||||||
-$(libdir)/libpord_seq$(PLAT).so:
|
|
||||||
+$(libdir)/libpord_scotch$(PLAT).so:
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
- cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord_seq.so; fi;
|
|
||||||
+ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord_scotch.so; fi;
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
- cp -a $(LPORDDIR)/libpord_seq*.so lib/; fi;
|
|
||||||
+ cp -a $(LPORDDIR)/libpord_scotch*.so lib/; fi;
|
|
||||||
|
|
||||||
clean:
|
|
||||||
(cd src; $(MAKE) clean)
|
|
||||||
Index: mumps-4.9.2.dfsg/PORD/lib/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps-4.9.2.dfsg.orig/PORD/lib/Makefile 2010-04-01 19:03:02.000000000 +0200
|
|
||||||
+++ mumps-4.9.2.dfsg/PORD/lib/Makefile 2010-04-01 19:03:54.000000000 +0200
|
|
||||||
@@ -21,16 +21,16 @@
|
|
||||||
.c.o:
|
|
||||||
$(CC) $(COPTIONS) -c $*.c
|
|
||||||
|
|
||||||
-libpord_seq.a: $(OBJS)
|
|
||||||
+libpord_scotch.a: $(OBJS)
|
|
||||||
$(AR) $(ARFUNCT) $@ $(OBJS)
|
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
||||||
-libpord_seq.so: $(OBJS)
|
|
||||||
- $(CC) -shared $(OBJS) -Wl,-soname,libpord_seq-4.9.2.so -o libpord_seq-4.9.2.so
|
|
||||||
- ln -s libpord_seq-4.9.2.so $@
|
|
||||||
+libpord_scotch.so: $(OBJS)
|
|
||||||
+ $(CC) -shared $(OBJS) -Wl,-soname,libpord_scotch-4.9.2.so -o libpord_scotch-4.9.2.so
|
|
||||||
+ ln -s libpord_scotch-4.9.2.so $@
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o
|
|
||||||
|
|
||||||
realclean:
|
|
||||||
- rm -f *.o libpord_seq.a *.so
|
|
||||||
+ rm -f *.o libpord_scotch.a *.so
|
|
||||||
Index: mumps-4.9.2.dfsg/src/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps-4.9.2.dfsg.orig/src/Makefile 2010-04-01 19:03:02.000000000 +0200
|
|
||||||
+++ mumps-4.9.2.dfsg/src/Makefile 2010-04-01 19:03:42.000000000 +0200
|
|
||||||
@@ -19,10 +19,10 @@
|
|
||||||
|
|
||||||
include $(topdir)/Makefile.inc
|
|
||||||
|
|
||||||
-mumps_lib: $(libdir)/libmumps_common_seq$(PLAT).a \
|
|
||||||
- $(libdir)/libmumps_common_seq$(PLAT).so \
|
|
||||||
- $(libdir)/lib$(ARITH)mumps_seq$(PLAT).a \
|
|
||||||
- $(libdir)/lib$(ARITH)mumps_seq$(PLAT).so
|
|
||||||
+mumps_lib: $(libdir)/libmumps_common_scotch$(PLAT).a \
|
|
||||||
+ $(libdir)/libmumps_common_scotch$(PLAT).so \
|
|
||||||
+ $(libdir)/lib$(ARITH)mumps_scotch$(PLAT).a \
|
|
||||||
+ $(libdir)/lib$(ARITH)mumps_scotch$(PLAT).so
|
|
||||||
|
|
||||||
OBJS_COMMON = \
|
|
||||||
mumps_part9.o\
|
|
||||||
@@ -53,21 +53,21 @@
|
|
||||||
$(ARITH)mumps_struc_def.o
|
|
||||||
|
|
||||||
|
|
||||||
-$(libdir)/libmumps_common_seq$(PLAT).a: $(OBJS_COMMON)
|
|
||||||
+$(libdir)/libmumps_common_scotch$(PLAT).a: $(OBJS_COMMON)
|
|
||||||
$(AR) $@ $?
|
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
||||||
-$(libdir)/libmumps_common_seq$(PLAT).so: $(OBJS_COMMON) $(topdir)/libseq/libmpiseq.so
|
|
||||||
- $(FC) -shared $^ -Wl,-soname,libmumps_common_seq$(PLAT)-4.9.2.so -L$(libdir) -lpord_seq -lpthread -lmpiseq -o $(libdir)/libmumps_common_seq$(PLAT)-4.9.2.so
|
|
||||||
- ln -s libmumps_common_seq$(PLAT)-4.9.2.so $@
|
|
||||||
+$(libdir)/libmumps_common_scotch$(PLAT).so: $(OBJS_COMMON) $(topdir)/libseq/libmpiseq.so
|
|
||||||
+ $(FC) -shared $^ -Wl,-soname,libmumps_common_scotch$(PLAT)-4.9.2.so -L$(libdir) -lpord_scotch -lpthread -lmpiseq -o $(libdir)/libmumps_common_scotch$(PLAT)-4.9.2.so
|
|
||||||
+ ln -s libmumps_common_scotch$(PLAT)-4.9.2.so $@
|
|
||||||
|
|
||||||
-$(libdir)/lib$(ARITH)mumps_seq$(PLAT).a: $(OBJS)
|
|
||||||
+$(libdir)/lib$(ARITH)mumps_scotch$(PLAT).a: $(OBJS)
|
|
||||||
$(AR) $@ $?
|
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
||||||
-$(libdir)/lib$(ARITH)mumps_seq$(PLAT).so: $(OBJS)
|
|
||||||
- $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps_seq$(PLAT)-4.9.2.so -L$(libdir) -lmumps_common_seq -lmpiseq -lblas -o $(libdir)/lib$(ARITH)mumps_seq$(PLAT)-4.9.2.so
|
|
||||||
- ln -s lib$(ARITH)mumps_seq$(PLAT)-4.9.2.so $@
|
|
||||||
+$(libdir)/lib$(ARITH)mumps_scotch$(PLAT).so: $(OBJS)
|
|
||||||
+ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps_scotch$(PLAT)-4.9.2.so -L$(libdir) -lmumps_common_scotch -lmpiseq -lblas -o $(libdir)/lib$(ARITH)mumps_scotch$(PLAT)-4.9.2.so
|
|
||||||
+ ln -s lib$(ARITH)mumps_scotch$(PLAT)-4.9.2.so $@
|
|
||||||
|
|
||||||
$(ARITH)mumps_load.o: $(ARITH)mumps_comm_buffer.o \
|
|
||||||
$(ARITH)mumps_struc_def.o
|
|
@ -1,37 +0,0 @@
|
|||||||
Create a shared version of the sequential library, MUST BE LAST IN SERIES
|
|
||||||
|
|
||||||
--- mumps-4.9.2.dfsg.orig/libseq/Makefile
|
|
||||||
+++ mumps-4.9.2.dfsg/libseq/Makefile
|
|
||||||
@@ -7,15 +7,18 @@
|
|
||||||
|
|
||||||
include ../Makefile.inc
|
|
||||||
|
|
||||||
-libmpiseq: libmpiseq$(PLAT).a
|
|
||||||
+libmpiseq: libmpiseq$(PLAT).a libmpiseq$(PLAT).so
|
|
||||||
|
|
||||||
libmpiseq$(PLAT).a: mpi.o mpic.o elapse.o
|
|
||||||
$(AR) $@ mpi.o mpic.o elapse.o
|
|
||||||
$(RANLIB) $@
|
|
||||||
+libmpiseq$(PLAT).so: mpi.o mpic.o elapse.o
|
|
||||||
+ $(FC) -shared $^ -Wl,-soname,libmpiseq$(PLAT).so.4.9.2 -o libmpiseq$(PLAT).so.4.9.2
|
|
||||||
+ ln -s libmpiseq$(PLAT).so.4.9.2 $@
|
|
||||||
.f.o:
|
|
||||||
- $(FC) $(OPTF) -c $*.f
|
|
||||||
+ $(FC) $(OPTF) -fPIC -c $*.f
|
|
||||||
.c.o:
|
|
||||||
- $(CC) $(OPTC) $(CDEFS) -I. -c $*.c
|
|
||||||
+ $(CC) $(OPTC) $(CDEFS) -I. -fPIC -c $*.c
|
|
||||||
|
|
||||||
clean:
|
|
||||||
- $(RM) *.o *.a
|
|
||||||
+ $(RM) *.o *.a *.so
|
|
||||||
--- mumps-4.9.2.dfsg.orig/Makefile
|
|
||||||
+++ mumps-4.9.2.dfsg/Makefile
|
|
||||||
@@ -57,6 +57,7 @@
|
|
||||||
|
|
||||||
libseqneeded:
|
|
||||||
(cd libseq; $(MAKE))
|
|
||||||
+ cp libseq/lib* $(libdir)
|
|
||||||
|
|
||||||
# Build the libpord.a library and copy it into $(topdir)/lib
|
|
||||||
$(libdir)/libpord$(PLAT).a:
|
|
@ -1,51 +0,0 @@
|
|||||||
Create a shared version of the MUMPS library.
|
|
||||||
|
|
||||||
--- mumps-4.9.2.dfsg.orig/src/Makefile
|
|
||||||
+++ mumps-4.9.2.dfsg/src/Makefile
|
|
||||||
@@ -20,7 +20,9 @@
|
|
||||||
include $(topdir)/Makefile.inc
|
|
||||||
|
|
||||||
mumps_lib: $(libdir)/libmumps_common$(PLAT).a \
|
|
||||||
- $(libdir)/lib$(ARITH)mumps$(PLAT).a
|
|
||||||
+ $(libdir)/libmumps_common$(PLAT).so \
|
|
||||||
+ $(libdir)/lib$(ARITH)mumps$(PLAT).a \
|
|
||||||
+ $(libdir)/lib$(ARITH)mumps$(PLAT).so
|
|
||||||
|
|
||||||
OBJS_COMMON = \
|
|
||||||
mumps_part9.o\
|
|
||||||
@@ -55,10 +57,18 @@
|
|
||||||
$(AR) $@ $?
|
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
||||||
+$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON)
|
|
||||||
+ $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT).so.4.9.2 -L$(libdir) $(LORDERINGS) -lpthread $(MUMPS_LIBF77) -o $(libdir)/libmumps_common$(PLAT).so.4.9.2
|
|
||||||
+ ln -s libmumps_common$(PLAT).so.4.9.2 $@
|
|
||||||
+
|
|
||||||
$(libdir)/lib$(ARITH)mumps$(PLAT).a: $(OBJS)
|
|
||||||
$(AR) $@ $?
|
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
||||||
+$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS)
|
|
||||||
+ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT).so.4.9.2 -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(MUMPS_LIBF77) $(LIBBLAS) $(SCALAP) -o $(libdir)/lib$(ARITH)mumps$(PLAT).so.4.9.2
|
|
||||||
+ ln -s lib$(ARITH)mumps$(PLAT).so.4.9.2 $@
|
|
||||||
+
|
|
||||||
$(ARITH)mumps_load.o: $(ARITH)mumps_comm_buffer.o \
|
|
||||||
$(ARITH)mumps_struc_def.o
|
|
||||||
|
|
||||||
@@ -87,13 +97,13 @@
|
|
||||||
|
|
||||||
.SUFFIXES: .c .F .o
|
|
||||||
.F.o:
|
|
||||||
- $(FC) $(OPTF) $(INC) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -c $*.F
|
|
||||||
+ $(FC) $(OPTF) $(INC) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -fPIC -c $*.F
|
|
||||||
.c.o:
|
|
||||||
- $(CC) $(OPTC) $(INC) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c
|
|
||||||
+ $(CC) $(OPTC) $(INC) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c
|
|
||||||
|
|
||||||
$(ARITH)mumps_c.o: mumps_c.c
|
|
||||||
$(CC) $(OPTC) $(INC) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \
|
|
||||||
- $(IORDERINGSC) $(ORDERINGSC) -I../include -c $? -o $@
|
|
||||||
+ $(IORDERINGSC) $(ORDERINGSC) -I../include -fPIC -c $? -o $@
|
|
||||||
|
|
||||||
|
|
||||||
clean:
|
|
@ -1,69 +0,0 @@
|
|||||||
Create a shared version of the PORD library.
|
|
||||||
|
|
||||||
Index: mumps-4.9.2.dfsg/PORD/lib/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps-4.9.2.dfsg.orig/PORD/lib/Makefile 2009-11-05 02:05:08.000000000 -0500
|
|
||||||
+++ mumps-4.9.2.dfsg/PORD/lib/Makefile 2010-04-09 15:01:38.000000000 -0400
|
|
||||||
@@ -8,7 +8,7 @@
|
|
||||||
|
|
||||||
INCLUDES = -I../include
|
|
||||||
|
|
||||||
-COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS)
|
|
||||||
+COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS) -fPIC
|
|
||||||
|
|
||||||
OBJS = graph.o gbipart.o gbisect.o ddcreate.o ddbisect.o nestdiss.o \
|
|
||||||
multisector.o gelim.o bucket.o tree.o \
|
|
||||||
@@ -21,12 +21,16 @@
|
|
||||||
.c.o:
|
|
||||||
$(CC) $(COPTIONS) -c $*.c
|
|
||||||
|
|
||||||
-libpord.a: $(OBJS)
|
|
||||||
+libpord$(PLAT).a: $(OBJS)
|
|
||||||
$(AR) $(ARFUNCT) $@ $(OBJS)
|
|
||||||
$(RANLIB) $@
|
|
||||||
|
|
||||||
+libpord$(PLAT).so: $(OBJS)
|
|
||||||
+ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT).so.4.9.2 -o libpord$(PLAT).so.4.9.2
|
|
||||||
+ ln -s libpord$(PLAT).so.4.9.2 $@
|
|
||||||
+
|
|
||||||
clean:
|
|
||||||
rm -f *.o
|
|
||||||
|
|
||||||
realclean:
|
|
||||||
- rm -f *.o libpord.a
|
|
||||||
+ rm -f *.o libpord*.a *.so
|
|
||||||
Index: mumps-4.9.2.dfsg/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- mumps-4.9.2.dfsg.orig/Makefile 2009-11-05 02:05:08.000000000 -0500
|
|
||||||
+++ mumps-4.9.2.dfsg/Makefile 2010-04-09 15:02:14.000000000 -0400
|
|
||||||
@@ -51,7 +51,7 @@
|
|
||||||
(cd examples ; $(MAKE) z)
|
|
||||||
|
|
||||||
|
|
||||||
-requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT).a
|
|
||||||
+requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT).a $(libdir)/libpord$(PLAT).so
|
|
||||||
|
|
||||||
# dummy MPI library (sequential version)
|
|
||||||
|
|
||||||
@@ -65,13 +65,19 @@
|
|
||||||
$(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)"; \
|
|
||||||
fi;
|
|
||||||
if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
- cp $(LPORDDIR)/libpord.a $@; \
|
|
||||||
+ cp $(LPORDDIR)/libpord$(PLAT).a $@; \
|
|
||||||
fi;
|
|
||||||
|
|
||||||
+$(libdir)/libpord$(PLAT).so:
|
|
||||||
+ if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
+ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord$(PLAT).so; fi;
|
|
||||||
+ if [ "$(LPORDDIR)" != "" ] ; then \
|
|
||||||
+ cp -a $(LPORDDIR)/libpord*.so lib/; fi;
|
|
||||||
+
|
|
||||||
clean:
|
|
||||||
(cd src; $(MAKE) clean)
|
|
||||||
(cd examples; $(MAKE) clean)
|
|
||||||
- (cd $(libdir); $(RM) *$(PLAT).a)
|
|
||||||
+ (cd $(libdir); $(RM) *$(PLAT).a *$(PLAT).so)
|
|
||||||
(cd libseq; $(MAKE) clean)
|
|
||||||
if [ $(LPORDDIR) != "" ] ; then \
|
|
||||||
cd $(LPORDDIR); $(MAKE) realclean; \
|
|
@ -1,62 +0,0 @@
|
|||||||
Have the tests link against the shared libs instead of static ones.
|
|
||||||
|
|
||||||
--- mumps-4.9.2.dfsg/examples/Makefile~ 2009-11-05 02:05:21.000000000 -0500
|
|
||||||
+++ mumps-4.9.2.dfsg/examples/Makefile 2009-12-07 17:54:56.000000000 -0500
|
|
||||||
@@ -19,28 +19,28 @@
|
|
||||||
|
|
||||||
include $(topdir)/Makefile.inc
|
|
||||||
|
|
||||||
-LIBMUMPS_COMMON = $(libdir)/libmumps_common$(PLAT).a
|
|
||||||
+LIBMUMPS_COMMON = $(libdir)/libmumps_common$(PLAT).so
|
|
||||||
|
|
||||||
|
|
||||||
-LIBSMUMPS = $(libdir)/libsmumps$(PLAT).a $(LIBMUMPS_COMMON)
|
|
||||||
+LIBSMUMPS = $(libdir)/libsmumps$(PLAT).so $(LIBMUMPS_COMMON)
|
|
||||||
|
|
||||||
ssimpletest: $(LIBSMUMPS) $$@.o
|
|
||||||
$(FL) -o $@ $(OPTL) ssimpletest.o $(LIBSMUMPS) $(LORDERINGS) $(LIB) $(LIBBLAS) $(LIBOTHERS)
|
|
||||||
|
|
||||||
|
|
||||||
-LIBDMUMPS = $(libdir)/libdmumps$(PLAT).a $(LIBMUMPS_COMMON)
|
|
||||||
+LIBDMUMPS = $(libdir)/libdmumps$(PLAT).so $(LIBMUMPS_COMMON)
|
|
||||||
|
|
||||||
dsimpletest: $(LIBDMUMPS) $$@.o
|
|
||||||
$(FL) -o $@ $(OPTL) dsimpletest.o $(LIBDMUMPS) $(LORDERINGS) $(LIB) $(LIBBLAS) $(LIBOTHERS)
|
|
||||||
|
|
||||||
|
|
||||||
-LIBCMUMPS = $(libdir)/libcmumps$(PLAT).a $(LIBMUMPS_COMMON)
|
|
||||||
+LIBCMUMPS = $(libdir)/libcmumps$(PLAT).so $(LIBMUMPS_COMMON)
|
|
||||||
|
|
||||||
csimpletest: $(LIBCMUMPS) $$@.o
|
|
||||||
$(FL) -o $@ $(OPTL) csimpletest.o $(LIBCMUMPS) $(LORDERINGS) $(LIB) $(LIBBLAS) $(LIBOTHERS)
|
|
||||||
|
|
||||||
|
|
||||||
-LIBZMUMPS = $(libdir)/libzmumps$(PLAT).a $(LIBMUMPS_COMMON)
|
|
||||||
+LIBZMUMPS = $(libdir)/libzmumps$(PLAT).so $(LIBMUMPS_COMMON)
|
|
||||||
|
|
||||||
zsimpletest: $(LIBZMUMPS) $$@.o
|
|
||||||
$(FL) -o $@ $(OPTL) zsimpletest.o $(LIBZMUMPS) $(LORDERINGS) $(LIB) $(LIBBLAS) $(LIBOTHERS)
|
|
||||||
@@ -57,19 +57,19 @@
|
|
||||||
$(CC) $(OPTC) $(INC) -I. -I$(topdir)/include -c $*.c
|
|
||||||
|
|
||||||
|
|
||||||
-$(libdir)/libsmumps$(PLAT).a:
|
|
||||||
+$(libdir)/libsmumps$(PLAT).so:
|
|
||||||
@echo 'Error: you should build the library' $@ 'first'
|
|
||||||
exit -1
|
|
||||||
|
|
||||||
-$(libdir)/libdmumps$(PLAT).a:
|
|
||||||
+$(libdir)/libdmumps$(PLAT).so:
|
|
||||||
@echo 'Error: you should build the library' $@ 'first'
|
|
||||||
exit -1
|
|
||||||
|
|
||||||
-$(libdir)/libcmumps$(PLAT).a:
|
|
||||||
+$(libdir)/libcmumps$(PLAT).so:
|
|
||||||
@echo 'Error: you should build the library' $@ 'first'
|
|
||||||
exit -1
|
|
||||||
|
|
||||||
-$(libdir)/libzmumps$(PLAT).a:
|
|
||||||
+$(libdir)/libzmumps$(PLAT).so:
|
|
||||||
@echo 'Error: you should build the library' $@ 'first'
|
|
||||||
exit -1
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:7b0afaeeca6be7dcc9f2f7d5706960621f686f9d5f4e25c8bf8d49d13b000dd8
|
|
||||||
size 1820798
|
|
3
mumps-5.1.2.tar.bz2
Normal file
3
mumps-5.1.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:eb345cda145da9aea01b851d17e54e7eef08e16bfa148100ac1f7f046cd42ae9
|
||||||
|
size 3351215
|
@ -1,3 +1,17 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 7 19:51:43 UTC 2019 - eich@suse.com
|
||||||
|
|
||||||
|
- Update to version 5.1.2
|
||||||
|
See Changelog file or http://mumps.enseeiht.fr/index.php?page=dwnld
|
||||||
|
- Convert to full multibuild support: builds with scotch support
|
||||||
|
are separate, now.
|
||||||
|
- Add HPC support (FATE#324151).
|
||||||
|
- Move links from the sequential libraries to the MPI library directory
|
||||||
|
to a separate package, make this package an optional Recommends:
|
||||||
|
of the non-HPC library packages.
|
||||||
|
- Move documentation to separate package.
|
||||||
|
- Disable non-HPC builds and some MPI flavors for SLE.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Jan 20 08:25:43 UTC 2019 - eich@suse.com
|
Sun Jan 20 08:25:43 UTC 2019 - eich@suse.com
|
||||||
|
|
||||||
|
680
mumps.spec
680
mumps.spec
@ -16,88 +16,223 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%global flavor @BUILD_FLAVOR@
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
|
|
||||||
%define pname mumps
|
%define pname mumps
|
||||||
|
%define ver 5.1.2
|
||||||
|
%define so_ver 5
|
||||||
|
|
||||||
|
%define PNAME %(echo %{pname} | tr [a-z] [A-Z])
|
||||||
|
%define _ver %(echo %{ver} | tr . _)
|
||||||
|
|
||||||
%if "%flavor" == ""
|
%if "%flavor" == ""
|
||||||
%define package_name %{pname}
|
%define package_name %{pname}
|
||||||
ExclusiveArch: do_not_build
|
ExclusiveArch: do_not_build
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?is_opensuse} || 0%{?is_backports}
|
||||||
|
%undefine DisOMPI1
|
||||||
|
%undefine DisOMPI2
|
||||||
|
%undefine DisOMPI3
|
||||||
|
%else
|
||||||
|
%define DisOMPI1 ExclusiveArch: do_not_build
|
||||||
|
%undefine DisOMPI2
|
||||||
|
%define DisOMPI3 ExclusiveArch: do_not_build
|
||||||
|
%endif
|
||||||
|
|
||||||
%if "%{flavor}" == "serial"
|
%if "%{flavor}" == "serial"
|
||||||
|
# Stub MPI library
|
||||||
|
%define mumps_f77_mpilibs '-lmpiseq'
|
||||||
|
%bcond_with hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "scotch-serial"
|
||||||
|
# Stub MPI library
|
||||||
|
%define mumps_f77_mpilibs '-lmpiseq'
|
||||||
|
%bcond_with hpc
|
||||||
|
%bcond_without scotch
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "openmpi"
|
||||||
|
%define mpi_family openmpi
|
||||||
|
%define mumps_f77_mpilibs -lmpi_mpifh -lmpi
|
||||||
|
%bcond_with hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "openmpi2"
|
||||||
|
%define mpi_family openmpi2
|
||||||
|
%define mumps_f77_mpilibs -lmpi_mpifh -lmpi
|
||||||
|
%bcond_with hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "mvapich2"
|
||||||
|
%define mpi_family mvapich2
|
||||||
|
%define mumps_f77_mpilibs -lfmpich -lmpich
|
||||||
|
%bcond_with hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "scotch-openmpi"
|
||||||
|
%define mpi_family openmpi
|
||||||
|
%define mumps_f77_mpilibs -lmpi_mpifh -lmpi
|
||||||
|
%bcond_with hpc
|
||||||
|
%bcond_without scotch
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "scotch-openmpi2"
|
||||||
|
%define mpi_family openmpi2
|
||||||
|
%define mumps_f77_mpilibs -lmpi_mpifh -lmpi
|
||||||
|
%bcond_with hpc
|
||||||
|
%bcond_without scotch
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "scotch-openmpi3"
|
||||||
|
%define mpi_family openmpi3
|
||||||
|
%define mumps_f77_mpilibs -lmpi_mpifh -lmpi
|
||||||
|
%bcond_with hpc
|
||||||
|
%bcond_without scotch
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "scotch-mvapich2"
|
||||||
|
%define mpi_family mvapich2
|
||||||
|
%define mumps_f77_mpilibs -lfmpich -lmpich
|
||||||
|
%bcond_with hpc
|
||||||
|
%bcond_without scotch
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu-mvapich2-hpc"
|
||||||
|
%undefine c_f_ver
|
||||||
|
%global mpi_family mvapich2
|
||||||
|
%bcond_without hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu-mpich-hpc"
|
||||||
|
%undefine c_f_ver
|
||||||
|
%global mpi_family mpich
|
||||||
|
%bcond_without hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu-openmpi-hpc"
|
||||||
|
%{?DisOMPI1}
|
||||||
|
%undefine c_f_ver
|
||||||
|
# macro mpi is used by macros for master package
|
||||||
|
%global mpi_family openmpi
|
||||||
|
%define mumps_f77_mpilibs -lmpi_mpifh -lmpi
|
||||||
|
%define mpi_ver 1
|
||||||
|
%bcond_without hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu-openmpi2-hpc"
|
||||||
|
%{?DisOMPI2}
|
||||||
|
%undefine c_f_ver
|
||||||
|
# macro mpi is used by macros for master package
|
||||||
|
%global mpi_family openmpi
|
||||||
|
%define mumps_f77_mpilibs -lmpi_mpifh -lmpi
|
||||||
|
%define mpi_ver 2
|
||||||
|
%bcond_without hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu-openmpi3-hpc"
|
||||||
|
%{?DisOMPI3}
|
||||||
|
%undefine c_f_ver
|
||||||
|
# macro mpi is used by macros for master package
|
||||||
|
%global mpi_family openmpi
|
||||||
|
%define mumps_f77_mpilibs -lmpi_mpifh -lmpi
|
||||||
|
%define mpi_ver 3
|
||||||
|
%bcond_without hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%{flavor}" == "gnu-mvapich2-hpc"
|
||||||
|
%undefine c_f_ver
|
||||||
|
# macro mpi is used by macros for master package
|
||||||
|
%global mpi_family mvapich2
|
||||||
|
%define mumps_f77_mpilibs -lfmpich -lmpich
|
||||||
|
%undefine mpi_ver
|
||||||
|
%bcond_without hpc
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch i586 s390 ppc armv7l
|
||||||
|
ExclusiveArch: do_not_build
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if !0%{?is_opensuse} && !0%{?with_hpc:1}
|
||||||
|
ExclusiveArch: do_not_build
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%{?mpi_family:%{bcond_without mpi}}%{!?mpi_family:%{bcond_with mpi}}
|
||||||
|
|
||||||
|
%if %{with scotch}
|
||||||
|
%if %{with mpi}
|
||||||
|
%define scotch ptscotch
|
||||||
|
%else
|
||||||
|
%define scotch scotch
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%if %{without mpi}
|
||||||
%define my_prefix %_prefix
|
%define my_prefix %_prefix
|
||||||
%define my_bindir %_bindir
|
%define my_bindir %_bindir
|
||||||
%define my_libdir %_libdir
|
%define my_libdir %_libdir
|
||||||
%define my_incdir %_includedir
|
%define my_incdir %_includedir
|
||||||
%define my_datadir %_datadir
|
%define my_datadir %_datadir
|
||||||
# Stub MPI library
|
%else
|
||||||
%define mumps_f77_mpilibs '-lmpiseq"
|
%define my_suffix -%{mpi_family}%{?mpi_ver}
|
||||||
%endif
|
%define my_prefix %{_libdir}/mpi/gcc/%{mpi_family}
|
||||||
|
|
||||||
%if "%{flavor}" == "openmpi"
|
|
||||||
%define my_suffix -openmpi
|
|
||||||
%define mpi_family openmpi
|
|
||||||
%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_family}
|
|
||||||
%define mumps_f77_mpilibs -lmpi_mpifh -lmpi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "%{flavor}" == "openmpi2"
|
|
||||||
%define my_suffix -openmpi2
|
|
||||||
%define mpi_family openmpi2
|
|
||||||
%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_family}
|
|
||||||
%define mumps_f77_mpilibs -lmpi_mpifh -lmpi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if "%{flavor}" == "mvapich2"
|
|
||||||
%define my_suffix -mvapich2
|
|
||||||
%define mpi_family mvapich2
|
|
||||||
%define mpiprefix %{_libdir}/mpi/gcc/%{mpi_family}
|
|
||||||
%define mumps_f77_mpilibs -lfmpich -lmpich
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%{?mpi_family:%{bcond_without mpi}}%{!?mpi_family:%{bcond_with mpi}}
|
|
||||||
|
|
||||||
%if %{with mpi}
|
|
||||||
%define my_prefix %{mpiprefix}
|
|
||||||
%define my_bindir %{my_prefix}/bin
|
%define my_bindir %{my_prefix}/bin
|
||||||
%define my_libdir %{my_prefix}/%{_lib}/
|
%define my_libdir %{my_prefix}/%{_lib}/
|
||||||
%define my_incdir %{my_prefix}/include/
|
%define my_incdir %{my_prefix}/include/
|
||||||
%define my_datadir %{my_prefix}/share/
|
%define my_datadir %{my_prefix}/share/
|
||||||
%endif
|
%endif
|
||||||
|
%define package_name mumps%{?scotch:-%{scotch}}%{?my_suffix}
|
||||||
|
%define libname(l:s:) %{pname}%{-l*}%{-s*}%{?my_suffix}
|
||||||
|
%else
|
||||||
|
%{!?compiler_family:%global compiler_family gnu}
|
||||||
|
%{?mpi_family:%{bcond_without mpi}}%{!?mpi_family:%{bcond_with mpi}}
|
||||||
|
%{?with_mpi:%{!?mpi_family:%global mpi_family openmpi}}
|
||||||
|
%{?hpc_init:%hpc_init -c %compiler_family %{?c_f_ver:-v %{c_f_ver}} %{?with_mpi:-m {%mpi_family}} %{?mpi_ver:-V %{mpi_ver}} %{?ext:-e %{ext}}}
|
||||||
|
%define my_suffix -%{mpi_family}%{?mpi_ver}
|
||||||
|
%define my_prefix %{hpc_prefix}
|
||||||
|
%define my_bindir %{hpc_bindir}
|
||||||
|
%define my_libdir %{hpc_libdir}
|
||||||
|
%define my_incdir %{hpc_includedir}
|
||||||
|
%define my_datadir %{hpc_datadir}
|
||||||
|
%define package_name %{hpc_package_name %{_ver}}
|
||||||
|
%define libname(l:s:) %{pname}%{-l*}-%{_ver}%{hpc_package_name_tail %{?_vers}}
|
||||||
|
%endif
|
||||||
|
|
||||||
Summary: A MUltifrontal Massively Parallel Sparse direct Solver
|
Summary: A MUltifrontal Massively Parallel Sparse direct Solver
|
||||||
License: SUSE-Public-Domain
|
License: SUSE-Public-Domain
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Name: mumps%{?my_suffix}
|
Name: %{package_name}
|
||||||
Version: 4.9.2
|
Version: %{ver}
|
||||||
Release: 0
|
Release: 0
|
||||||
Url: http://mumps.enseeiht.fr/
|
Url: http://mumps.enseeiht.fr/
|
||||||
Source0: %{pname}-%{version}.tar.bz2
|
Source0: http://mumps.enseeiht.fr/MUMPS_%{version}.tar.gz#/%{pname}-%{version}.tar.bz2
|
||||||
Source1: Makefile.ptscotch.inc
|
Source1: Makefile.inc
|
||||||
Source2: Makefile.scotch.inc
|
%if %{without hpc}
|
||||||
Source3: Makefile.seq.inc
|
|
||||||
Source4: Makefile.par.inc
|
|
||||||
Patch0: mumps-4.9.2-debian-shared-libseq.patch
|
|
||||||
Patch1: mumps-4.9.2-debian-shared-pord.patch
|
|
||||||
Patch2: mumps-4.9.2-debian-tests-shlibs.patch
|
|
||||||
Patch3: mumps-4.9.2-debian-shared-mumps.patch
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
||||||
BuildRequires: gcc-fortran
|
BuildRequires: gcc-fortran
|
||||||
BuildRequires: scotch-devel
|
BuildRequires: scotch-devel
|
||||||
%if %{with mpi}
|
%if %{with mpi}
|
||||||
Requires: %{pname} = %{version}
|
BuildRequires: libmumps%{?so_ver}
|
||||||
BuildRequires: %{pname}
|
|
||||||
BuildRequires: %{pname}-devel
|
BuildRequires: %{pname}-devel
|
||||||
BuildRequires: %{pname}-scotch
|
BuildRequires: libmumps-scotch%{?so_ver}
|
||||||
BuildRequires: %{pname}-scotch-devel
|
BuildRequires: %{pname}-scotch-devel
|
||||||
BuildRequires: ptscotch-%{mpi_family}-devel
|
BuildRequires: ptscotch-%{mpi_family}-devel
|
||||||
BuildRequires: %{mpi_family}-devel
|
BuildRequires: %{mpi_family}-devel
|
||||||
BuildRequires: scalapack-%{mpi_family}-devel
|
BuildRequires: scalapack-%{mpi_family}-devel
|
||||||
|
BuildRequires: libblacs2-%{mpi_family}-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: blas-devel
|
BuildRequires: blas-devel
|
||||||
BuildRequires: lapack-devel
|
BuildRequires: lapack-devel
|
||||||
|
%else
|
||||||
|
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
|
||||||
|
BuildRequires: %{mpi_family}%{?mpi_ver}-%{compiler_family}%{?c_f_ver}-hpc-macros-devel
|
||||||
|
BuildRequires: libscalapack2-%{compiler_family}-%{mpi_family}%{?mpi_ver}-hpc-devel
|
||||||
|
BuildRequires: libblacs2-%{compiler_family}-%{mpi_family}%{?mpi_ver}-hpc-devel
|
||||||
|
BuildRequires: libgomp1
|
||||||
|
BuildRequires: suse-hpc
|
||||||
|
BuildRequires: fdupes
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
MUMPS implements a direct solver for large sparse linear systems, with a
|
MUMPS implements a direct solver for large sparse linear systems, with a
|
||||||
@ -105,85 +240,98 @@ particular focus on symmetric positive definite matrices. It can
|
|||||||
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
||||||
C interfaces, and can interface with ordering tools such as Scotch.
|
C interfaces, and can interface with ordering tools such as Scotch.
|
||||||
|
|
||||||
%if %{!with mpi}
|
|
||||||
This package contains the sequential library.
|
|
||||||
%else
|
|
||||||
This package contains the parallel library build with %{mpi_family}.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
%package -n lib%{libname -s %{so_ver} %{?scotch:-l -%{scotch}}}
|
||||||
%package scotch
|
|
||||||
Summary: A MUltifrontal Massively Parallel Sparse direct Solver
|
Summary: A MUltifrontal Massively Parallel Sparse direct Solver
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Requires: mumps = %{version}
|
%if %{without hpc}
|
||||||
|
%{?with_mpi:Recommends: %{name}-%{so_ver}-compat = %{version}}
|
||||||
|
%else
|
||||||
|
Requires: libscalapack2-%{compiler_family}-%{mpi_family}%{?mpi_ver}-hpc
|
||||||
|
%hpc_requires
|
||||||
|
%endif
|
||||||
|
|
||||||
%description scotch
|
%description -n lib%{libname -s %{so_ver} %{?scotch:-l -%{scotch}}}
|
||||||
MUMPS implements a direct solver for large sparse linear systems, with a
|
MUMPS implements a direct solver for large sparse linear systems, with a
|
||||||
particular focus on symmetric positive definite matrices. It can
|
particular focus on symmetric positive definite matrices. It can
|
||||||
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
||||||
C interfaces, and can interface with ordering tools such as Scotch.
|
C interfaces, and can interface with ordering tools such as Scotch.
|
||||||
|
|
||||||
This package contains the sequential library with Scotch support enabled.
|
%if %{!with mpi}
|
||||||
|
This package contains the sequential library%{?scotch: with Scotch support enabled}.
|
||||||
|
%else
|
||||||
|
This package contains the parallel library%{?with_mpi: with %{mpi_family}}%{?scotch: with Scotch support enabled}.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package %{so_ver}-compat
|
||||||
|
Summary: A MUltifrontal Massively Parallel Sparse direct Solver
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: lib%{pname}%{?scotch:-scotch}%{so_ver}
|
||||||
|
|
||||||
%package devel
|
%description %{so_ver}-compat
|
||||||
|
MUMPS implements a direct solver for large sparse linear systems, with a
|
||||||
|
particular focus on symmetric positive definite matrices. It can
|
||||||
|
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
||||||
|
C interfaces, and can interface with ordering tools such as Scotch.
|
||||||
|
|
||||||
|
This package provides links to the serial libraries from the MPI library
|
||||||
|
directory MUMPS built for %{mpi_family}%{?mpi_ver}.
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Summary: A MUltifrontal Massively Parallel Sparse direct Solver
|
||||||
|
Group: Documentation/HTML
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
MUMPS implements a direct solver for large sparse linear systems, with a
|
||||||
|
particular focus on symmetric positive definite matrices. It can
|
||||||
|
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
||||||
|
C interfaces, and can interface with ordering tools such as Scotch.
|
||||||
|
|
||||||
|
This package provides Documentation for %{package_name}.
|
||||||
|
|
||||||
|
%if %{!with mpi}
|
||||||
|
This package contains the sequential library%{?scotch: with Scotch support enabled}.
|
||||||
|
%else
|
||||||
|
This package contains the parallel library%{?with_mpi: with %{mpi_family}}%{?scotch: with Scotch support enabled}.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package -n %{libname %{?scotch:-l -%{scotch}}}-devel
|
||||||
Summary: Files needed for developing mumps based applications
|
Summary: Files needed for developing mumps based applications
|
||||||
Group: Development/Libraries/Other
|
Group: Development/Libraries/Other
|
||||||
Requires: blas-devel
|
Requires: blas-devel
|
||||||
Requires: lapack-devel
|
Requires: lapack-devel
|
||||||
Requires: %{name} = %{version}
|
Requires: lib%{libname -s %{so_ver} %{?scotch:-l -%{scotch}}} = %version
|
||||||
%if %{with mpi}
|
%if %{without scotch}
|
||||||
Requires: mumps-ptscotch-%{mpi_family} = %{version}
|
%if %{with mpi}
|
||||||
Requires: mumps-devel = %{version}
|
Requires: mumps-devel = %{version}
|
||||||
Requires: mumps-scotch-devel = %{version}
|
Requires: mumps-scotch-devel = %{version}
|
||||||
Requires: %{mpi_family}-devel
|
Requires: %{mpi_family}-devel
|
||||||
Requires: ptscotch-%{mpi_family}-devel
|
Requires: ptscotch-%{mpi_family}-devel
|
||||||
Requires: scalapack-%{mpi_family}-devel
|
Requires: scalapack-%{mpi_family}-devel
|
||||||
|
%endif
|
||||||
|
%else
|
||||||
|
Requires: mumps-devel = %{version}
|
||||||
|
%endif
|
||||||
|
%{?with_hpc:%hpc_requires_devel}
|
||||||
|
|
||||||
|
%description -n %{libname %{?scotch:-l -%{scotch}}}-devel
|
||||||
|
MUMPS implements a direct solver for large sparse linear systems, with a
|
||||||
|
particular focus on symmetric positive definite matrices. It can
|
||||||
|
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
||||||
|
C interfaces, and can interface with ordering tools such as Scotch.
|
||||||
|
|
||||||
|
%if %{with mpi}
|
||||||
|
This package contains the parallel library build with %{mpi_family}
|
||||||
|
%{?scotch:and with %scotch }enabled.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%description devel
|
%if %{without scotch}
|
||||||
MUMPS implements a direct solver for large sparse linear systems, with a
|
%package test
|
||||||
particular focus on symmetric positive definite matrices. It can
|
|
||||||
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
|
||||||
C interfaces, and can interface with ordering tools such as Scotch.
|
|
||||||
|
|
||||||
|
|
||||||
%package scotch-devel
|
|
||||||
Summary: Files needed for developing mumps based applications
|
|
||||||
Group: Development/Libraries/Other
|
|
||||||
Requires: blas-devel
|
|
||||||
Requires: lapack-devel
|
|
||||||
Requires: mumps = %{version}
|
|
||||||
Requires: mumps-devel = %{version}
|
|
||||||
Requires: mumps-scotch = %{version}
|
|
||||||
|
|
||||||
%description scotch-devel
|
|
||||||
MUMPS implements a direct solver for large sparse linear systems, with a
|
|
||||||
particular focus on symmetric positive definite matrices. It can
|
|
||||||
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
|
||||||
C interfaces, and can interface with ordering tools such as Scotch.
|
|
||||||
|
|
||||||
|
|
||||||
%package -n %{pname}-ptscotch-%{mpi_family}
|
|
||||||
Summary: A MUltifrontal Massively Parallel Sparse direct Solver
|
|
||||||
Group: System/Libraries
|
|
||||||
Requires: mumps = %{version}
|
|
||||||
|
|
||||||
%description -n %{pname}-ptscotch-%{mpi_family}
|
|
||||||
MUMPS implements a direct solver for large sparse linear systems, with a
|
|
||||||
particular focus on symmetric positive definite matrices. It can
|
|
||||||
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
|
||||||
C interfaces, and can interface with ordering tools such as Scotch.
|
|
||||||
|
|
||||||
This package contains the parallel library build with %{mpi_family} and with
|
|
||||||
PTScotch enabled.
|
|
||||||
|
|
||||||
|
|
||||||
%package -n %{pname}-test-%{mpi_family}
|
|
||||||
Summary: Simple test programs and examples for mumps
|
Summary: Simple test programs and examples for mumps
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
|
||||||
%description -n %{pname}-test-%{mpi_family}
|
%description test
|
||||||
MUMPS implements a direct solver for large sparse linear systems, with a
|
MUMPS implements a direct solver for large sparse linear systems, with a
|
||||||
particular focus on symmetric positive definite matrices. It can
|
particular focus on symmetric positive definite matrices. It can
|
||||||
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
operate on distributed matrices e.g. over a cluster. It has Fortran and
|
||||||
@ -191,203 +339,247 @@ C interfaces, and can interface with ordering tools such as Scotch.
|
|||||||
|
|
||||||
This packages contains some test and examples programs for mumps. In addition,
|
This packages contains some test and examples programs for mumps. In addition,
|
||||||
matlab and scilab extensions are provided in /usr/share/doc/packages/mumps.
|
matlab and scilab extensions are provided in /usr/share/doc/packages/mumps.
|
||||||
|
%endif #scotch
|
||||||
|
|
||||||
|
%if %{with hpc}
|
||||||
|
%{hpc_master_package -l -L}
|
||||||
|
%{hpc_master_package -L devel}
|
||||||
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{pname}-%{version}
|
%setup -q -n %{PNAME}_%{version}
|
||||||
%patch0 -p1
|
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export SUSE_ASNEEDED=0
|
export SUSE_ASNEEDED=0
|
||||||
|
|
||||||
%if !%{with mpi}
|
%if %{with hpc}
|
||||||
# sequential with scotch support enabled
|
%hpc_setup
|
||||||
cp -f %{S:2} Makefile.inc
|
module load openblas scalapack
|
||||||
make \
|
%else
|
||||||
MUMPS_LIBF77="-lmpiseq_scotch" \
|
%{?with_mpi: source %{my_bindir}/mpivars.sh}
|
||||||
OPTC="$RPM_OPT_FLAGS" \
|
|
||||||
PLAT="_scotch" all
|
|
||||||
cp -a lib libmumps_scotch_seq
|
|
||||||
cp -af libseq/lib* libmumps_scotch_seq
|
|
||||||
cp -af PORD/lib/libpord_scotch.so* libmumps_scotch_seq
|
|
||||||
make clean
|
|
||||||
rm -f Makefile.inc
|
|
||||||
|
|
||||||
# sequential without scotch
|
|
||||||
cp -f %{S:3} Makefile.inc
|
|
||||||
make \
|
|
||||||
MUMPS_LIBF77="-lmpiseq_seq" \
|
|
||||||
OPTC="$RPM_OPT_FLAGS" \
|
|
||||||
PLAT="_seq" all
|
|
||||||
cp -a lib libmumps_seq
|
|
||||||
cp -af libseq/lib* libmumps_seq
|
|
||||||
cp -af PORD/lib/libpord_seq.so* libmumps_seq
|
|
||||||
make clean
|
|
||||||
rm -f Makefile.inc
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%define PLAT %{?scotch:_%{scotch}}%{!?scotch:%{!?with_mpi:_seq}}
|
||||||
|
|
||||||
|
%if %{without scotch}
|
||||||
|
%define ORDERINGSF -Dpord
|
||||||
|
%else # scotch
|
||||||
|
%if %{with mpi}
|
||||||
|
%define scotch ptscotch
|
||||||
|
%define LSCOTCH -lptesmumps -lptscotch -lptscotcherr -lscotch
|
||||||
|
%define ORDERINGSF -Dscotch -Dpord -Dptscotch
|
||||||
|
%else # mpi
|
||||||
|
%define scotch scotch
|
||||||
|
%define LSCOTCH -lesmumps -lscotch -lscotcherr
|
||||||
|
%define ISCOTCH -I%_includedir
|
||||||
|
%define ORDERINGSF -Dscotch -Dpord
|
||||||
|
%endif
|
||||||
|
%endif # scotch
|
||||||
|
|
||||||
|
%if %{with hpc}
|
||||||
|
%define LIBBLAS -lopenblas -lscalapack
|
||||||
|
%define LAPAK -lscalapack
|
||||||
|
%else # hpc
|
||||||
|
%define LIBBLAS -lblas -llapack
|
||||||
|
%define LAPACK -llapack
|
||||||
|
%endif # hpc
|
||||||
|
|
||||||
%if %{with mpi}
|
%if %{with mpi}
|
||||||
# Set LD_LIBRARY_PATH and PATH
|
# Set LD_LIBRARY_PATH and PATH
|
||||||
. %{my_bindir}/mpivars.sh
|
%define C_C mpicc
|
||||||
|
%define F_C mpif77
|
||||||
|
%define F_L mpif77
|
||||||
|
%define SCALAP -lscalapack -lblacs
|
||||||
|
%define MUMPS_MPI %{mpi_family}
|
||||||
|
%define MUMPS_LIBF77 -L%{my_libdir} %{?mumps_f77_mpilibs}
|
||||||
|
%define INCPAR -I%{my_incdir}/
|
||||||
|
%define LIBPAR %{SCALAP} %{MUMPS_LIBF77}
|
||||||
|
%define INCS \\\$(INCPAR)
|
||||||
|
%define LIBS \\\$(LIBPAR)
|
||||||
|
%else # mpi
|
||||||
|
%define C_C gcc
|
||||||
|
%define F_C gfortran
|
||||||
|
%define F_L gfortran
|
||||||
|
%define LIBSEQNEEDED libseqneeded
|
||||||
|
%define MUMPS_LIBF77 -lmpiseq%{?PLAT}
|
||||||
|
%define INCS \\\$(INCSEQ)
|
||||||
|
%define LIBS \\\$(LIBSEQ)
|
||||||
|
%endif # mpi
|
||||||
|
|
||||||
# ptscotch : parallel with scotch support enabled
|
|
||||||
cp -f %{S:1} Makefile.inc
|
cp -f %{S:1} Makefile.inc
|
||||||
make \
|
make \
|
||||||
MUMPS_MPI=%{mpi_family} \
|
%{?C_C:CC="%C_C"} \
|
||||||
FC=%{my_bindir}/mpif77 \
|
%{?F_C:FC="%F_C"} \
|
||||||
MUMPS_LIBF77="-L%{my_libdir} %{?mumps_f77_mpilibs}" \
|
%{?F_L:FL="%F_L"} \
|
||||||
OPTC="$RPM_OPT_FLAGS" \
|
%{?SCALAP:SCALAP="%SCALAP"} \
|
||||||
INCPAR=-I%{my_incdir}/ \
|
%{?MUMPS_MPI:MUMPS_MPI="%MUMPS_MPI"} \
|
||||||
PLAT="_ptscotch" all
|
%{?INCPAR:INCPAR="%INCPAR"} \
|
||||||
cp -a lib libmumps_ptscotch_%{mpi_family}
|
%{?LIBPAR:LIBPAR="%LIBPAR"} \
|
||||||
cp -af PORD/lib/libpord_ptscotch.so* libmumps_ptscotch_%{mpi_family}/
|
%{?LIBBLAS:LIBBLAS="%LIBBLAS"} \
|
||||||
make clean
|
%{?INCS:INCS="%INCS"} \
|
||||||
rm -f Makefile.inc
|
%{?LIBS:LIBS="%LIBS"} \
|
||||||
|
%{?LIBSEQNEEDED:LIBSEQNEEDED="%LIBSEQNEEDED"} \
|
||||||
|
%{?LSCOTCH:LSCOTCH="%LSCOTCH"} \
|
||||||
|
%{?ISCOTCH:ISCOTCH="%ISCOTCH"} \
|
||||||
|
%{?ORDERINGSF:ORDERINGSF="%ORDERINGSF"} \
|
||||||
|
%{?PLAT:PLAT="%PLAT"} \
|
||||||
|
OPTC="$RPM_OPT_FLAGS -fPIC" \
|
||||||
|
all
|
||||||
|
|
||||||
# parallel without scotch
|
%{!?with_mpi:cp -P libseq/libmpiseq*.a lib/}
|
||||||
cp %{S:4} Makefile.inc
|
|
||||||
make \
|
cd lib
|
||||||
MUMPS_MPI=%{mpi_family} \
|
%define LORDERINGS -lpord%{?PLAT} %{?scotch:-l%{scotch}}
|
||||||
FC=%{my_bindir}/mpif77 \
|
%if %{without mpi}
|
||||||
MUMPS_LIBF77="-L%{my_libdir} %{?mumps_f77_mpilibs}" \
|
%F_C -shared libmpiseq%{?PLAT}.a -Wl,-soname,libmpiseq%{?PLAT}.so.%{version} -o libmpiseq%{?PLAT}.so.%{version}
|
||||||
OPTC="$RPM_OPT_FLAGS" \
|
ln -s libmpiseq%{?PLAT}.so.%{version} libmpiseq%{?PLAT}.so
|
||||||
PLAT="" all
|
%endif
|
||||||
|
%C_C -shared libpord%{?PLAT}.a -Wl,-soname,libpord%{?PLAT}.so.%{version} -o libpord%{?PLAT}.so.%{version}
|
||||||
|
ln -s libpord%{?PLAT}.so.%{version} libpord%{?PLAT}.so
|
||||||
|
%F_C -shared libmumps_common%{?PLAT}.a -Wl,-soname,libmumps_common$%{?PLAT}.so.%{version} -L. %{LORDERINGS} \
|
||||||
|
-lpthread %{MUMPS_LIBF77} -o libmumps_common%{?PLAT}.so.%{version}
|
||||||
|
ln -s libmumps_common%{?PLAT}.so.%{version} libmumps_common%{?PLAT}.so
|
||||||
|
for ARITH in c d s z ; do
|
||||||
|
%F_C -shared lib${ARITH}mumps%{?PLAT}.a -Wl,-soname,lib${ARITH}mumps%{?PLAT}.so.%{version} -L. -lmumps_common%{?PLAT} \
|
||||||
|
%{LORDERINGS} %{MUMPS_LIBF77} %{LIBBLAS} %{?SCALAP} -o lib${ARITH}mumps%{?PLAT}.so.%{version}
|
||||||
|
ln -s lib${ARITH}mumps%{?PLAT}.so.%{version} lib${ARITH}mumps%{?PLAT}.so
|
||||||
|
done
|
||||||
|
cd -
|
||||||
|
|
||||||
# build test programs
|
# build test programs
|
||||||
make -C examples all
|
%{!?with_scotch:make -C examples %{?PLAT:PLAT="%PLAT"} all}
|
||||||
|
|
||||||
cp -a lib lib_%{mpi_family}
|
|
||||||
cp -af PORD/lib/libpord.so* lib_%{mpi_family}
|
|
||||||
cp -a examples examples_%{mpi_family}
|
|
||||||
make clean
|
|
||||||
rm -f Makefile.inc
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p %{buildroot}%{my_bindir}
|
mkdir -p %{buildroot}%{my_bindir}
|
||||||
mkdir -p %{buildroot}%{my_libdir}
|
mkdir -p %{buildroot}%{my_libdir}
|
||||||
|
|
||||||
cp -P PORD/lib/*.so* %{buildroot}%{my_libdir}
|
# install libs
|
||||||
|
cp -P lib/lib*.a %{buildroot}%{my_libdir}
|
||||||
%if "%{flavor}" == "serial"
|
cp -P lib/lib*.so* %{buildroot}%{my_libdir}
|
||||||
|
%if %{without mpi} && %{without scotch}
|
||||||
mkdir -p %{buildroot}%{_includedir}/mumps
|
mkdir -p %{buildroot}%{_includedir}/mumps
|
||||||
mkdir -p %{buildroot}%{_includedir}/pord
|
mkdir -p %{buildroot}%{_includedir}/pord
|
||||||
install -m 644 include/* %{buildroot}%{_includedir}/mumps
|
install -m 644 include/* %{buildroot}%{_includedir}/mumps
|
||||||
install -m 644 libseq/*.h %{buildroot}%{_includedir}/mumps
|
install -m 644 libseq/*.h %{buildroot}%{_includedir}/mumps
|
||||||
install -m 644 PORD/include/* %{buildroot}%{_includedir}/pord
|
install -m 644 PORD/include/* %{buildroot}%{_includedir}/pord
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if !%{with mpi}
|
|
||||||
# install sequential libs
|
|
||||||
cp -P libmumps_seq/lib*.a %{buildroot}%{my_libdir}
|
|
||||||
cp -P libmumps_seq/lib*.so* %{buildroot}%{my_libdir}
|
|
||||||
cp -P libmumps_scotch_seq/*.a %{buildroot}%{my_libdir}
|
|
||||||
cp -P libmumps_scotch_seq/*.so* %{buildroot}%{my_libdir}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with mpi}
|
%if %{with mpi}
|
||||||
# install parallel libs
|
install -m 755 examples/*simpletest %{buildroot}%{my_bindir}
|
||||||
cp -P lib_%{mpi_family}/lib*.a %{buildroot}%{my_libdir}
|
install -m 755 examples/c_example %{buildroot}%{my_bindir}
|
||||||
cp -P lib_%{mpi_family}/lib*.so* %{buildroot}%{my_libdir}
|
|
||||||
cp -P libmumps_ptscotch_%{mpi_family}/*.a %{buildroot}%{my_libdir}
|
|
||||||
cp -P libmumps_ptscotch_%{mpi_family}/*.so* %{buildroot}%{my_libdir}
|
|
||||||
|
|
||||||
install -m 755 examples_%{mpi_family}/*simpletest %{buildroot}%{my_bindir}
|
|
||||||
install -m 755 examples_%{mpi_family}/c_example %{buildroot}%{my_bindir}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Don't want binaries in docdir
|
|
||||||
rm -rf examples/*.o examples/*simpletest examples/c_example
|
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
# we make a symlink to the serial lib in the parallel lib prefix
|
# we make a symlink to the serial lib in the parallel lib prefix
|
||||||
# because some scientific packages don't manage different directories
|
# because some scientific packages don't manage different directories
|
||||||
# for the serial and parallel libs
|
# for the serial and parallel libs
|
||||||
%if %{with mpi}
|
|
||||||
for lib in libcmumps libdmumps libsmumps libzmumps libmumps_common libmpiseq libpord ; do
|
for lib in libcmumps libdmumps libsmumps libzmumps libmumps_common libmpiseq libpord ; do
|
||||||
for plat in _seq _scotch ; do
|
for type in .a .so .so.%{version}; do
|
||||||
for type in .a .so .so.%{version}; do
|
name=${lib}_%{!?scotch:seq}%{?scotch:scotch}${type}
|
||||||
name=${lib}${plat}${type}
|
ln -s %{_libdir}/$name %{buildroot}%{my_libdir}/$name
|
||||||
ln -s %{_libdir}/$name %{buildroot}%{my_libdir}/$name
|
done
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
done
|
||||||
|
%endif # hpc
|
||||||
|
%endif # mpi
|
||||||
|
|
||||||
|
%if %{with hpc}
|
||||||
|
%hpc_write_modules_files
|
||||||
|
#%%Module1.0#####################################################################
|
||||||
|
|
||||||
|
proc ModulesHelp { } {
|
||||||
|
|
||||||
|
puts stderr " "
|
||||||
|
puts stderr "This module loads the mumps library built with the %{compiler_family} compiler"
|
||||||
|
puts stderr "toolchain and the %{mpi_family} MPI stack."
|
||||||
|
puts stderr " "
|
||||||
|
|
||||||
|
puts stderr "\nVersion %{version}\n"
|
||||||
|
|
||||||
|
}
|
||||||
|
module-whatis "Name: %{pname} built with %{compiler_family} compiler%{?with_mpi: and %{mpi_family} MPI}"
|
||||||
|
module-whatis "Version: %{version}"
|
||||||
|
module-whatis "Category: runtime library"
|
||||||
|
module-whatis "%{url}"
|
||||||
|
|
||||||
|
set version %{version}
|
||||||
|
|
||||||
|
depends-on scalapack
|
||||||
|
|
||||||
|
prepend-path PATH %{hpc_bindir}
|
||||||
|
if {[file isdirectory %{hpc_includedir}]} {
|
||||||
|
prepend-path INCLUDE %{hpc_includedir}
|
||||||
|
}
|
||||||
|
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
|
||||||
|
|
||||||
|
setenv %{PNAME}_DIR %{hpc_prefix}
|
||||||
|
setenv %{PNAME}_BIN %{hpc_bindir}
|
||||||
|
if {[file isdirectory %{hpc_includedir}]} {
|
||||||
|
setenv %{PNAME}_INC %{hpc_includedir}
|
||||||
|
}
|
||||||
|
setenv %{PNAME}_LIB %{hpc_libdir}
|
||||||
|
|
||||||
|
EOF
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%clean
|
# Don't want binaries in docdir
|
||||||
rm -rf %{buildroot}
|
rm -rf examples/*.o examples/*simpletest examples/c_example examples/multiple_arithmetics_example
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
%if %{without mpi} || %{with scotch}
|
||||||
%postun -p /sbin/ldconfig
|
rm -rf %{buildroot}/%{my_bindir}
|
||||||
|
%endif
|
||||||
|
|
||||||
%if !%{with mpi}
|
%if !%{with mpi}
|
||||||
%post scotch -p /sbin/ldconfig
|
%post -n lib%{libname -s %{so_ver} %{?scotch:-l -%{scotch}}} -p /sbin/ldconfig
|
||||||
%postun scotch -p /sbin/ldconfig
|
%postun -n lib%{libname -s %{so_ver} %{?scotch:-l -%{scotch}}} -p /sbin/ldconfig
|
||||||
%else
|
%else
|
||||||
%post -n %{pname}-ptscotch-%{mpi_family} -p /sbin/ldconfig
|
%post -n lib%{libname -s %{so_ver} %{?scotch:-l -%{scotch}}}
|
||||||
%postun -n %{pname}-ptscotch-%{mpi_family} -p /sbin/ldconfig
|
/sbin/ldconfig -N %{my_libdir}
|
||||||
|
%postun -n lib%{libname -s %{so_ver} %{?scotch:-l -%{scotch}}}
|
||||||
|
/sbin/ldconfig -N %{my_libdir}
|
||||||
|
%{?with_hpc:%{hpc_module_delete_if_default}}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if !%{with mpi}
|
%files -n lib%{libname -s %{so_ver} %{?scotch:-l -%{scotch}}}
|
||||||
%files
|
%if %{with hpc}
|
||||||
|
%{hpc_dirs}
|
||||||
|
%{hpc_modules_files}
|
||||||
|
%endif
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc ChangeLog README VERSION doc SCILAB MATLAB
|
%doc ChangeLog README VERSION CREDITS
|
||||||
%{_libdir}/libcmumps_seq.so.*
|
%{my_libdir}/libcmumps%{?PLAT}.so.*
|
||||||
%{_libdir}/libdmumps_seq.so.*
|
%{my_libdir}/libdmumps%{?PLAT}.so.*
|
||||||
%{_libdir}/libsmumps_seq.so.*
|
%{my_libdir}/libsmumps%{?PLAT}.so.*
|
||||||
%{_libdir}/libzmumps_seq.so.*
|
%{my_libdir}/libzmumps%{?PLAT}.so.*
|
||||||
%{_libdir}/libmumps_common_seq.so.*
|
%{my_libdir}/libmumps_common%{?PLAT}.so.*
|
||||||
%{_libdir}/libmpiseq_seq.so.*
|
%{my_libdir}/libpord%{?PLAT}.so.*
|
||||||
%{_libdir}/libpord_seq.so.*
|
%if %{without mpi}
|
||||||
|
%{_libdir}/libmpiseq%{?PLAT}.so.*
|
||||||
%files scotch
|
|
||||||
%{_libdir}/libcmumps_scotch.so.*
|
|
||||||
%{_libdir}/libdmumps_scotch.so.*
|
|
||||||
%{_libdir}/libsmumps_scotch.so.*
|
|
||||||
%{_libdir}/libzmumps_scotch.so.*
|
|
||||||
%{_libdir}/libmumps_common_scotch.so.*
|
|
||||||
%{_libdir}/libmpiseq_scotch.so.*
|
|
||||||
%{_libdir}/libpord_scotch.so.*
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%{_includedir}/mumps
|
|
||||||
%{_includedir}/pord
|
|
||||||
%{_libdir}/*_seq.so
|
|
||||||
%{_libdir}/*_seq.a
|
|
||||||
|
|
||||||
%files scotch-devel
|
|
||||||
%{_libdir}/*_scotch.so
|
|
||||||
%{_libdir}/*_scotch.a
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with mpi}
|
%if %{with mpi} && %{without hpc}
|
||||||
%files -n %{pname}-%{mpi_family}
|
%files %{so_ver}-compat
|
||||||
%{my_libdir}/libcmumps.so.*
|
%if %{without scotch}
|
||||||
%{my_libdir}/libdmumps.so.*
|
|
||||||
%{my_libdir}/libsmumps.so.*
|
|
||||||
%{my_libdir}/libzmumps.so.*
|
|
||||||
%{my_libdir}/libmumps_common.so.*
|
|
||||||
%{my_libdir}/libpord.so.*
|
|
||||||
# compat symlinks
|
|
||||||
%{my_libdir}/lib*_seq.so.*
|
%{my_libdir}/lib*_seq.so.*
|
||||||
|
%else # scotch
|
||||||
%{my_libdir}/lib*_scotch.so.*
|
%{my_libdir}/lib*_scotch.so.*
|
||||||
|
%endif # scotch
|
||||||
|
%endif # mpi && !hpc
|
||||||
|
|
||||||
%files -n %{pname}-ptscotch-%{mpi_family}
|
%if %{with hpc} || ( %{without mpi} && %{without scotch} )
|
||||||
%{my_libdir}/libcmumps_ptscotch.so.*
|
%files doc
|
||||||
%{my_libdir}/libdmumps_ptscotch.so.*
|
%doc doc SCILAB MATLAB
|
||||||
%{my_libdir}/libsmumps_ptscotch.so.*
|
%endif
|
||||||
%{my_libdir}/libzmumps_ptscotch.so.*
|
|
||||||
%{my_libdir}/libmumps_common_ptscotch.so.*
|
|
||||||
%{my_libdir}/libpord_ptscotch.so.*
|
|
||||||
|
|
||||||
%files -n %{pname}-%{mpi_family}-devel
|
%files -n %{libname %{?scotch:-l -%{scotch}}}-devel
|
||||||
|
%if %{without scotch} && %{without mpi}
|
||||||
|
%{my_incdir}/mumps
|
||||||
|
%{my_incdir}/pord
|
||||||
|
%endif
|
||||||
%{my_libdir}/*.so
|
%{my_libdir}/*.so
|
||||||
%{my_libdir}/*.a
|
%{my_libdir}/*.a
|
||||||
|
|
||||||
%files -n %{pname}-test-%{mpi_family}
|
%if %{with mpi} && %{without scotch}
|
||||||
|
%files test
|
||||||
%doc examples
|
%doc examples
|
||||||
%{my_bindir}/*
|
%{my_bindir}%{!?with_hpc:/*}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Loading…
Reference in New Issue
Block a user