debian/0000775000000000000000000000000012253677031007176 5ustar debian/rules0000775000000000000000000000327311675117057010267 0ustar #!/usr/bin/make -f include /usr/share/mpi-default-dev/debian_defaults clean: dh_testdir cp -f debian/Makefile.seq.inc Makefile.inc $(MAKE) clean rm -rf Makefile.inc libmumps_seq libmumps_scotch libmumps_ptscotch rm -f patch build* find . -name \*.so| xargs -r rm find . -name \*.a| xargs -r rm dh_quilt_unpatch dh_clean build-arch: dh_quilt_patch cp -f debian/Makefile.ptscotch.inc Makefile.inc $(MAKE) MUMPS_MPI=$(ARCH_DEFAULT_MPI_IMPL) PLAT="_ptscotch" all cp -a lib libmumps_ptscotch $(MAKE) clean rm -f Makefile.inc cp -f debian/Makefile.scotch.inc Makefile.inc $(MAKE) MUMPS_MPI=$(ARCH_DEFAULT_MPI_IMPL) PLAT="_scotch" all cp -a lib libmumps_scotch cp -af libseq/lib* libmumps_scotch $(MAKE) clean rm -f Makefile.inc cp -f debian/Makefile.seq.inc Makefile.inc $(MAKE) MUMPS_MPI=$(ARCH_DEFAULT_MPI_IMPL) PLAT="_seq" all cp -a lib libmumps_seq cp -af libseq/lib* libmumps_seq $(MAKE) clean rm -f Makefile.inc cp -f debian/Makefile.par.inc Makefile.inc $(MAKE) MUMPS_MPI=$(ARCH_DEFAULT_MPI_IMPL) all touch $@ build: build-arch touch $@ build-indep: binary-indep: # dh_testdir -i # dh_testroot -i # dh_installdirs -i # dh_install -i # dh_installdocs -i # dh_installchangelogs -i # dh_compress -i # dh_fixperms -i # dh_installdeb -i # dh_gencontrol -i # dh_md5sums -i # dh_builddeb -i binary-arch: dh_testdir -a dh_testroot -a dh_installdirs -a dh_install -a dh_installdocs -a dh_installchangelogs -a dh_strip -a dh_makeshlibs -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a # Below here is fairly generic really binary: binary-indep binary-arch .PHONY: binary binary-arch binary-indep clean checkroot debian/libmumps-ptscotch-4.10.0.install0000664000000000000000000000004411356250142014750 0ustar libmumps_ptscotch/lib*-*.so usr/lib debian/Makefile.ptscotch.inc0000664000000000000000000000702711674613473013250 0ustar # # This file is part of MUMPS 4.10.0, built on Tue May 10 12:56:32 UTC 2011 # 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/scotch # 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/usr/lib -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) -I/usr/include/mpi IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH) -I/usr/include/mpi #End orderings ######################################################################## ################################################################################ PLAT = LIBEXT = .so OUTC = -o OUTF = -o RM = /bin/rm -f CC = gcc FC = gfortran FL = gfortran AR = ar vr #RANLIB = ranlib RANLIB = echo SCALAP = -lscalapack-$(MUMPS_MPI) -lblacs-$(MUMPS_MPI) #INCPAR = -I/usr/local/include INCPAR = -I/usr/include/mpi # LIBPAR = $(SCALAP) -L/usr/local/lib/ -llammpio -llamf77mpi -lmpi -llam -lutil -ldl -lpthread MPIFLIB = -lmpif77 MPICLIB = -lmpi LIBPAR = $(SCALAP) $(MPIFLIB) # 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 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 INCS = $(INCPAR) -I/usr/include/mpi #LIB = $(LIBPAR) LIBSEQNEEDED = debian/changelog0000664000000000000000000001130412253677026011053 0ustar mumps (4.10.0.dfsg-3build1) trusty; urgency=medium * No-change rebuild for libopenmpi1.3 -> libopenmpi1.6 transition. -- Logan Rosen Mon, 16 Dec 2013 17:26:21 -0500 mumps (4.10.0.dfsg-3) unstable; urgency=low * Added quilt to Build-Depends, seems to be necessary after all. -- "Adam C. Powell, IV" Fri, 30 Dec 2011 13:18:36 -0500 mumps (4.10.0.dfsg-2) unstable; urgency=low * Using debhelper quilt commands in clean and build-arch (closes: #653032). * Removed unnecessary quilt Build-Dependency. -- "Adam C. Powell, IV" Fri, 23 Dec 2011 10:32:40 -0500 mumps (4.10.0.dfsg-1) unstable; urgency=low * New upstream (closes: #652909). * Rebuild with new mpi-defaults (closes: #652314). * Forward-ported patches, removed now-obsolete tests-shlibs.patch, and added a new patch to link examples to MPI libs properly. * Forward-ported debian/Makefile.*.inc files. * Re-engineered dependencies around specific needs of each library rather than the over-arching $(LIB) library set. * Removed LAPACK dependencies, -scotch and -seq packages' ScaLAPACK and MPI dependencies. * Removed patch debian/rules target, added (empty) build-indep target, and completed clean target. * Bumped Standards-Version. * Changed to debian-science-maintainers maintenance with me as uploader. -- "Adam C. Powell, IV" Thu, 22 Dec 2011 09:56:46 -0500 mumps (4.9.2.dfsg-7) unstable; urgency=low * Build-Conflict with ATLAS packages (closes: #620291). * Added VCS to control file. -- "Adam C. Powell, IV" Thu, 31 Mar 2011 17:37:23 -0400 mumps (4.9.2.dfsg-6) unstable; urgency=low * Changed to a better MUMPS_MPI variable setting. * Added MPI and Scotch libraries to link with binutils-gold (closes: #604950). -- "Adam C. Powell, IV" Sun, 28 Nov 2010 13:07:54 -0500 mumps (4.9.2.dfsg-5) unstable; urgency=low * Moved libmumps-seq-dev headers to their own directory (closes: #585960). * Added patch target and unpatch command to clean target. * Bumped Standards-Version. -- "Adam C. Powell, IV" Sun, 21 Nov 2010 21:42:26 -0500 mumps (4.9.2.dfsg-4) unstable; urgency=low * Added liblapack-dev to Build-Depends and changed "-lblas-3gf -llapackgf-3" to "-lblas -llapack" in debian/Makefile*.inc (closes: #577003) * Changed from patch-based approach to library renaming to using $(PLAT), so libmpiseq is not shared between seq and scotch versions (closes: #577046) -- Adam C. Powell, IV Sun, 11 Apr 2010 22:25:49 -0400 mumps (4.9.2.dfsg-3) unstable; urgency=low [ Christophe Trophime ] * Add scotch support (closes: #576291) * Add ptscotch support * Add -llapackgf-3 to LIBLAS [ Adam C. Powell, IV ] * Versioned dependency on libptscotch-dev to make sure to get headers * Changed to source format 3.0 (quilt) and removed *patch rules targets * Clarified short descriptions of packages (closes: #576264) * Bumped Standards-Version -- Adam C. Powell, IV Sun, 04 Apr 2010 23:54:36 -0400 mumps (4.9.2.dfsg-2) unstable; urgency=low * Fixed bad parentheses in rules ifeq lam/mpich lines (closes: #535276). * Added mpich2 build mechanism. -- Adam C. Powell, IV Mon, 04 Jan 2010 13:22:40 -0500 mumps (4.9.2.dfsg-1) unstable; urgency=low * New upstream release (closes: #554159). * Changed -lblas to -lblas-3gf in Makefile.*.inc (closes: #557699). * Linking tests to shared instead of static libs (closes: #555759). -- Adam C. Powell, IV Mon, 07 Dec 2009 17:56:51 -0500 mumps (4.8.4.dfsg-3) unstable; urgency=low [ Roberto C. Sanchez ] * Build against dummy MPI sequential library in addition to building against the standard MPI implementations (OpenMPI and LAM MPI). + Introduce new package: libmumps-seq-4.8.4 + Introduce new package: libmumps-seq-dev * Add README.source noting that quilt is used to manage patches [ Adam C. Powell, IV ] * Changed -lmpi_f77 to a variable depending on MPI implementation (closes: #544752). * Bumped Standards-Version. -- Adam C. Powell, IV Sun, 01 Nov 2009 23:56:58 -0500 mumps (4.8.4.dfsg-2) unstable; urgency=low * Removed backslash in Build-Depends list (closes: #536917). * Updated debhelper Build-Depends version. * Updated Standards-Version. -- Adam C. Powell, IV Mon, 20 Jul 2009 09:13:11 -0400 mumps (4.8.4.dfsg-1) unstable; urgency=low * First package (closes: #491024). * Removed doc directory because there's no source for the user's guide. -- Adam C. Powell, IV Fri, 29 May 2009 12:49:55 -0400 debian/Makefile.seq.inc0000664000000000000000000000702611674613506012205 0ustar # # This file is part of MUMPS 4.10.0, built on Tue May 10 12:56:32 UTC 2011 # 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$(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) -I/usr/include/mpi IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH) -I/usr/include/mpi #End orderings ######################################################################## ################################################################################ PLAT = LIBEXT = .so OUTC = -o OUTF = -o 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 MPIFLIB = -L$(topdir)/libseq -lmpiseq$(PLAT) MPICLIB = -L$(topdir)/libseq -lmpiseq$(PLAT) INCSEQ = -I$(topdir)/libseq #LIBSEQ = -L$(topdir)/libseq -lmpiseq$(PLAT) #LIBBLAS = -L/usr/lib/xmm/ -lf77blas -latlas LIBBLAS = -lblas 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 INCS = $(INCSEQ) -I/usr/include/mpi #LIB = $(LIBSEQ) LIBSEQNEEDED = libseqneeded debian/compat0000664000000000000000000000000211356250142010365 0ustar 5 debian/README.source0000664000000000000000000000052211356250142011345 0ustar This package uses quilt to manage all modifications to the upstream source. Changes are stored in the source package as diffs in debian/patches and applied during the build. See /usr/share/doc/quilt/README.source for a detailed explanation. The upstream doc directory contains only non-free files and is removed for this DFSG version. debian/libmumps-dev.docs0000664000000000000000000000002511356250142012442 0ustar debian/README.Debian debian/copyright0000664000000000000000000000374511356250142011133 0ustar Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat Debianized-By: Adam C. Powell, IV Debianized-Date: Thu, 28 May 2009 11:15:59 -0400 Upstream-Author: Patrick Amestoy et al. Original-Source: http://mumps.enseeiht.fr/ Files: * Copyright: None License: other This version of MUMPS is provided to you free of charge. It is public domain, based on public domain software developed during the Esprit IV European project PARASOL (1996-1999) by CERFACS, ENSEEIHT-IRIT and RAL. Since this first public domain version in 1999, the developments are supported by the following institutions: CERFACS, ENSEEIHT-IRIT, and INRIA. . Main contributors are Patrick Amestoy, Iain Duff, Abdou Guermouche, Jacko Koster, Jean-Yves L'Excellent, and Stephane Pralet. . Up-to-date copies of the MUMPS package can be obtained from the Web pages: http://mumps.enseeiht.fr/ or http://graal.ens-lyon.fr/MUMPS . THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK. . User documentation of any code that uses this software can include this complete notice. You can acknowledge (using references [1], [2], and [3]) the contribution of this package in any scientific publication dependent upon the use of the package. You shall use reasonable endeavours to notify the authors of the package of this publication. . [1] P. R. Amestoy, I. S. Duff and J.-Y. L'Excellent, Multifrontal parallel distributed symmetric and unsymmetric solvers, in Comput. Methods in Appl. Mech. Eng., 184, 501-520 (2000). . [2] P. R. Amestoy, I. S. Duff, J. Koster and J.-Y. L'Excellent, A fully asynchronous multifrontal solver using distributed dynamic scheduling, SIAM Journal of Matrix Analysis and Applications, Vol 23, No 1, pp 15-41 (2001). . [3] P. R. Amestoy and A. Guermouche and J.-Y. L'Excellent and S. Pralet, Hybrid scheduling for the parallel solution of linear systems. Parallel Computing Vol 32 (2), pp 136-156 (2006). debian/source/0000775000000000000000000000000011674640365010504 5ustar debian/source/format0000664000000000000000000000001411360501643011675 0ustar 3.0 (quilt) debian/source/lintian-overrides0000664000000000000000000000023511674640223014056 0ustar # Lintian thinks uploader Adam Powell's name violates policy mumps source: uploader-address-missing "Adam C. Powell mumps source: uploader-not-full-name IV" debian/README.Debian0000664000000000000000000000100211356250142011221 0ustar Welcome to the MUMPS package. You can find more information about MUMPS at: http://mumps.enseeiht.fr/ . The mumps-test package includes a test of each of the datatypes: single-precision (s), double-precision (d), complex (c) and complex double (z). Run the tests as follows: cd /usr/lib/mumps ./ssimpletest < input_simpletest_real ./dsimpletest < input_simpletest_real ./csimpletest < input_simpletest_cmplx ./zsimpletest < input_simpletest_cmplx The solution should be something close to 1 2 3 4 5. debian/Makefile.scotch.inc0000664000000000000000000000702611674627631012704 0ustar # # This file is part of MUMPS 4.10.0, built on Tue May 10 12:56:32 UTC 2011 # 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/scotch # 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/usr/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 -Dpord #ORDERINGSF = -Dpord ORDERINGSC = $(ORDERINGSF) LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH) IORDERINGSF = $(ISCOTCH) -I/usr/include/mpi IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH) -I/usr/include/mpi #End orderings ######################################################################## ################################################################################ PLAT = LIBEXT = .so OUTC = -o OUTF = -o RM = /bin/rm -f CC = gcc FC = gfortran FL = gfortran AR = ar vr #RANLIB = ranlib RANLIB = echo #SCALAP = -lscalapack-$(MUMPS_MPI) -lblacs-$(MUMPS_MPI) # See point 17 in the FAQ to have more details on the compilation of mpich with gfortran MPIFLIB = -L$(topdir)/libseq -lmpiseq$(PLAT) MPICLIB = -L$(topdir)/libseq -lmpiseq$(PLAT) INCSEQ = -I$(topdir)/libseq LIBSEQ = $(SCALAP) -L$(topdir)/libseq -lmpiseq$(PLAT) #LIBBLAS = -L/usr/lib/xmm/ -lf77blas -latlas LIBBLAS = -lblas 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 INCS = $(INCSEQ) #LIB = $(LIBSEQ) LIBSEQNEEDED = libseqneeded debian/libmumps-seq-dev.install0000664000000000000000000000027111405665267013766 0ustar libmumps_seq/libmumps_common_seq.* usr/lib libmumps_seq/lib?mumps_seq.* usr/lib libmumps_seq/libpord_seq.* usr/lib libmumps_seq/libmpiseq_seq.* usr/lib libseq/*.h usr/include/mumps_seq debian/Makefile.par.inc0000664000000000000000000000706411674613462012202 0ustar # # This file is part of MUMPS 4.10.0, built on Tue May 10 12:56:32 UTC 2011 # 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) -I/usr/include/mpi IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOTCH) -I/usr/include/mpi #End orderings ######################################################################## ################################################################################ PLAT = LIBEXT = .so OUTC = -o OUTF = -o RM = /bin/rm -f CC = gcc FC = gfortran FL = gfortran AR = ar vr #RANLIB = ranlib RANLIB = echo SCALAP = -lscalapack-$(MUMPS_MPI) -lblacs-$(MUMPS_MPI) #INCPAR = -I/usr/local/include INCPAR = -I/usr/include/mpi # LIBPAR = $(SCALAP) -L/usr/local/lib/ -llammpio -llamf77mpi -lmpi -llam -lutil -ldl -lpthread MPIFLIB = -lmpif77 MPICLIB = -lmpi LIBPAR = $(SCALAP) $(MPIFLIB) # 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 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 INCS = $(INCPAR) -I/usr/include/mpi #LIB = $(LIBPAR) LIBSEQNEEDED = debian/libmumps-ptscotch-dev.install0000664000000000000000000000022111356250142015003 0ustar libmumps_ptscotch/libmumps_common_ptscotch.* usr/lib libmumps_ptscotch/lib?mumps_ptscotch.* usr/lib libmumps_ptscotch/libpord_ptscotch.* usr/lib debian/mumps-test.docs0000664000000000000000000000002511356250142012154 0ustar debian/README.Debian debian/libmumps-scotch-dev.install0000664000000000000000000000026011357710743014453 0ustar libmumps_scotch/libmumps_common_scotch.* usr/lib libmumps_scotch/lib?mumps_scotch.* usr/lib libmumps_scotch/libpord_scotch.* usr/lib libmumps_scotch/libmpiseq_scotch.* usr/lib debian/libmumps-dev.install0000664000000000000000000000014411356250142013162 0ustar lib/libmumps_common.* usr/lib lib/lib?mumps.* usr/lib lib/libpord.* usr/lib include/*.h usr/include debian/libmumps-4.10.0.install0000664000000000000000000000002611356250142013123 0ustar lib/lib*-*.so usr/lib debian/control0000664000000000000000000001341411677400674010612 0ustar Source: mumps Section: devel Priority: extra Maintainer: Debian Science Maintainers Uploaders: "Adam C. Powell, IV" Standards-Version: 3.9.2 Build-Depends: debhelper (>= 5), quilt, gfortran, libscalapack-mpi-dev, libblacs-mpi-dev, libblas-dev | libblas-3gf.so, libscotch-dev, libptscotch-dev (>= 5.1.7.dfsg-4), mpi-default-dev Build-Conflicts: libatlas3gf-base, libatlas-base-dev Vcs-Git: git://git.debian.org/git/debian-science/packages/mumps.git Vcs-Browser: http://git.debian.org/?p=debian-science/packages/mumps.git Homepage: http://mumps.enseeiht.fr/ Package: libmumps-dev Architecture: any Section: libdevel Depends: libmumps-4.10.0 (= ${binary:Version}), libscalapack-mpi-dev, mpi-default-dev, ${misc:Depends} Description: Direct linear systems solver - parallel development files 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: libmumps-seq-dev Architecture: any Section: libdevel Depends: libmumps-seq-4.10.0 (= ${binary:Version}), libmumps-dev, ${misc:Depends} Description: Direct linear systems solver - non-parallel development files 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 is built the MUMPS libseq dummy sequential MPI library. Unless you know that you specifically need this, then you almost certainly want the libmumps-dev package. Package: libmumps-4.10.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: mpi-default-bin Description: Direct linear systems solver - parallel shared libraries 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: libmumps-seq-4.10.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} Description: Direct linear systems solver - non-parallel shared libraries 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 is built the MUMPS libseq dummy sequential MPI library. Unless you know that you specifically need this, then you almost certainly want the libmumps-4.10.0 package. Package: libmumps-scotch-4.10.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} Description: Direct linear systems solver - Scotch-version shared libraries 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 is built the MUMPS libseq dummy sequential MPI library with scotch support. Unless you know that you specifically need this, then you almost certainly want the libmumps-4.10.0 package. Package: libmumps-scotch-dev Architecture: any Section: libdevel Depends: libmumps-scotch-4.10.0 (= ${binary:Version}), libmumps-dev, ${misc:Depends} Description: Direct linear systems solver - Scotch-version development files 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 is built the MUMPS libseq dummy sequential MPI library with scotch support. Unless you know that you specifically need this, then you almost certainly want the libmumps-4.10.0 package. Package: libmumps-ptscotch-4.10.0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} Description: Direct linear systems solver - PTScotch-version shared libraries 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 is built with ptscotch support. Package: libmumps-ptscotch-dev Architecture: any Section: libdevel Depends: libmumps-ptscotch-4.10.0 (= ${binary:Version}), libmumps-dev, ${misc:Depends} Description: Direct linear systems solver - PTScotch-version development files 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 is built with ptscotch support. Package: mumps-test Architecture: any Section: math Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: mpi-default-bin Description: Example/test binaries using MUMPS 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. debian/patches/0000775000000000000000000000000011674470731010631 5ustar debian/patches/shared-libseq.patch0000664000000000000000000000236711674467465014417 0ustar Create a shared version of the sequential library, MUST BE LAST IN SERIES Index: mumps/libseq/Makefile =================================================================== --- mumps.orig/libseq/Makefile +++ mumps/libseq/Makefile @@ -7,15 +7,17 @@ include ../Makefile.inc -libmpiseq: libmpiseq$(PLAT)$(LIBEXT) +libmpiseq: libmpiseq$(PLAT).a libmpiseq$(PLAT).so -libmpiseq$(PLAT)$(LIBEXT): mpi.o mpic.o elapse.o - $(AR)$@ mpi.o mpic.o elapse.o +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)-4.10.0.so -o libmpiseq$(PLAT)-4.10.0.so -Wl,-z,defs .f.o: - $(FC) $(OPTF) -c $*.f $(OUTF)$*.o + $(FC) $(OPTF) -fPIC -c $*.f $(OUTF)$*.o .c.o: - $(CC) $(OPTC) $(CDEFS) -I. -c $*.c $(OUTC)$*.o + $(CC) $(OPTC) $(CDEFS) -I. -fPIC -c $*.c $(OUTC)$*.o clean: - $(RM) *.o *$(LIBEXT) + $(RM) *.o *.a *.so Index: mumps/Makefile =================================================================== --- mumps.orig/Makefile +++ mumps/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: debian/patches/shared-mumps.patch0000664000000000000000000000443611674470353014266 0ustar Create a shared version of the MUMPS library. Index: mumps/src/Makefile =================================================================== --- mumps.orig/src/Makefile +++ mumps/src/Makefile @@ -19,8 +19,10 @@ include $(topdir)/Makefile.inc -mumps_lib: $(libdir)/libmumps_common$(PLAT)$(LIBEXT) \ - $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT) +mumps_lib: $(libdir)/libmumps_common$(PLAT).a \ + $(libdir)/libmumps_common$(PLAT).so \ + $(libdir)/lib$(ARITH)mumps$(PLAT).a \ + $(libdir)/lib$(ARITH)mumps$(PLAT).so OBJS_COMMON = \ mumps_part9.o\ @@ -52,14 +54,22 @@ $(ARITH)mumps_struc_def.o -$(libdir)/libmumps_common$(PLAT)$(LIBEXT): $(OBJS_COMMON) - $(AR)$@ $? +$(libdir)/libmumps_common$(PLAT).a: $(OBJS_COMMON) + $(AR) $@ $? $(RANLIB) $@ -$(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT): $(OBJS) - $(AR)$@ $? +$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON) + $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-4.10.0.so -L$(libdir) $(LORDERINGS) -lpthread $(MPIFLIB) $(MPICLIB) -o $(libdir)/libmumps_common$(PLAT)-4.10.0.so -Wl,-z,defs + ln -s libmumps_common$(PLAT)-4.10.0.so $@ + +$(libdir)/lib$(ARITH)mumps$(PLAT).a: $(OBJS) + $(AR) $@ $? $(RANLIB) $@ +$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS) + $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-4.10.0.so -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(MPIFLIB) -lblas $(SCALAP) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-4.10.0.so -Wl,-z,defs + ln -s lib$(ARITH)mumps$(PLAT)-4.10.0.so $@ + $(ARITH)mumps_load.o: $(ARITH)mumps_comm_buffer.o \ $(ARITH)mumps_struc_def.o @@ -89,13 +99,13 @@ .SUFFIXES: .c .F .o .F.o: - $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -c $*.F $(OUTF)$*.o + $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -fPIC -c $*.F $(OUTF)$*.o .c.o: - $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC)$*.o + $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c $(OUTC)$*.o $(ARITH)mumps_c.o: mumps_c.c $(CC) $(OPTC) $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \ - $(IORDERINGSC) $(ORDERINGSC) -I../include -c $? $(OUTC)$@ + $(IORDERINGSC) $(ORDERINGSC) -I../include -fPIC -c $? $(OUTC)$@ clean: debian/patches/scotch.patch0000664000000000000000000001141011356250660013124 0ustar 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 debian/patches/ptscotch.patch0000664000000000000000000001156311356251130013472 0ustar 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 debian/patches/series0000664000000000000000000000015611674470676012060 0ustar shared-pord.patch shared-mumps.patch shared-libseq.patch #scotch.patch #ptscotch.patch examples-mpilibs.patch debian/patches/shared-pord.patch0000664000000000000000000000440011674467507014067 0ustar Create static and shared versions of the PORD library. Index: mumps/PORD/lib/Makefile =================================================================== --- mumps.orig/PORD/lib/Makefile +++ mumps/PORD/lib/Makefile @@ -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 $(OUTC)$*.o -libpord$(LIBEXT):$(OBJS) - $(AR)$@ $(OBJS) +libpord$(PLAT).a:$(OBJS) + $(AR) $@ $(OBJS) $(RANLIB) $@ +libpord$(PLAT).so: $(OBJS) + $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-4.10.0.so -o libpord$(PLAT)-4.10.0.so -Wl,-z,defs + ln -s libpord$(PLAT)-4.10.0.so $@ + clean: rm -f *.o realclean: - rm -f *.o libpord.a + rm -f *.o libpord*.a *.so Index: mumps/Makefile =================================================================== --- mumps.orig/Makefile +++ mumps/Makefile @@ -51,7 +51,7 @@ (cd examples ; $(MAKE) z) -requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) +requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT).a $(libdir)/libpord$(PLAT).so # dummy MPI library (sequential version) @@ -59,19 +59,25 @@ (cd libseq; $(MAKE)) # Build the libpord.a library and copy it into $(topdir)/lib -$(libdir)/libpord$(PLAT)$(LIBEXT): +$(libdir)/libpord$(PLAT).a: if [ "$(LPORDDIR)" != "" ] ; then \ cd $(LPORDDIR); \ $(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC=$(OUTC) LIBEXT=$(LIBEXT); \ fi; if [ "$(LPORDDIR)" != "" ] ; then \ - cp $(LPORDDIR)/libpord$(LIBEXT) $@; \ + 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)$(LIBEXT)) + (cd $(libdir); $(RM) *$(PLAT).a *$(PLAT).so) (cd libseq; $(MAKE) clean) if [ $(LPORDDIR) != "" ] ; then \ cd $(LPORDDIR); $(MAKE) realclean; \ debian/patches/examples-mpilibs.patch0000664000000000000000000000330711674470731015130 0ustar These now need to link with the relevant Fortran or C MPI libraries. Index: mumps/examples/Makefile =================================================================== --- mumps.orig/examples/Makefile +++ mumps/examples/Makefile @@ -25,29 +25,29 @@ LIBSMUMPS = $(libdir)/libsmumps$(PLAT)$(LIBEXT) $(LIBMUMPS_COMMON) ssimpletest: $(LIBSMUMPS) $$@.o - $(FL) -o $@ $(OPTL) ssimpletest.o $(LIBSMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS) + $(FL) -o $@ $(OPTL) ssimpletest.o $(LIBSMUMPS) $(LORDERINGS) $(LIBS) $(MPIFLIB) $(LIBBLAS) $(LIBOTHERS) LIBDMUMPS = $(libdir)/libdmumps$(PLAT)$(LIBEXT) $(LIBMUMPS_COMMON) dsimpletest: $(LIBDMUMPS) $$@.o - $(FL) -o $@ $(OPTL) dsimpletest.o $(LIBDMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS) + $(FL) -o $@ $(OPTL) dsimpletest.o $(LIBDMUMPS) $(LORDERINGS) $(LIBS) $(MPIFLIB) $(LIBBLAS) $(LIBOTHERS) LIBCMUMPS = $(libdir)/libcmumps$(PLAT)$(LIBEXT) $(LIBMUMPS_COMMON) csimpletest: $(LIBCMUMPS) $$@.o - $(FL) -o $@ $(OPTL) csimpletest.o $(LIBCMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS) + $(FL) -o $@ $(OPTL) csimpletest.o $(LIBCMUMPS) $(LORDERINGS) $(LIBS) $(MPIFLIB) $(LIBBLAS) $(LIBOTHERS) LIBZMUMPS = $(libdir)/libzmumps$(PLAT)$(LIBEXT) $(LIBMUMPS_COMMON) zsimpletest: $(LIBZMUMPS) $$@.o - $(FL) -o $@ $(OPTL) zsimpletest.o $(LIBZMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS) + $(FL) -o $@ $(OPTL) zsimpletest.o $(LIBZMUMPS) $(LORDERINGS) $(LIBS) $(MPIFLIB) $(LIBBLAS) $(LIBOTHERS) c_example: $(LIBDMUMPS) $$@.o - $(FL) -o $@ $(OPTL) $@.o $(LIBDMUMPS) $(LORDERINGS) $(LIBS) $(LIBBLAS) $(LIBOTHERS) + $(FL) -o $@ $(OPTL) $@.o $(LIBDMUMPS) $(LORDERINGS) $(LIBS) $(MPICLIB) $(LIBBLAS) $(LIBOTHERS) .SUFFIXES: .c .F .o debian/libmumps-scotch-4.10.0.install0000664000000000000000000000004211356250142014402 0ustar libmumps_scotch/lib*-*.so usr/lib debian/mumps-test.install0000664000000000000000000000010211356250142012666 0ustar examples/?simpletest usr/lib/mumps examples/input_* usr/lib/mumps debian/libmumps-seq-4.10.0.install0000664000000000000000000000003711356250142013713 0ustar libmumps_seq/lib*-*.so usr/lib