summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Davydov <davydden@gmail.com>2016-03-25 09:56:24 +0100
committerDenis Davydov <davydden@gmail.com>2016-03-25 09:56:24 +0100
commit3e39daeb12aa13a3f3f975ff315143bc3f13a2b4 (patch)
treea0cab0b31bb322b3dd4776b3165365efa8623a18
parentfdd7e91ba078bea4f0fec1859124baaa8261fa2c (diff)
downloadspack-3e39daeb12aa13a3f3f975ff315143bc3f13a2b4.tar.gz
spack-3e39daeb12aa13a3f3f975ff315143bc3f13a2b4.tar.bz2
spack-3e39daeb12aa13a3f3f975ff315143bc3f13a2b4.tar.xz
spack-3e39daeb12aa13a3f3f975ff315143bc3f13a2b4.zip
add fPIC to MUMPS when building shared libs
-rw-r--r--var/spack/repos/builtin/packages/mumps/package.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/var/spack/repos/builtin/packages/mumps/package.py b/var/spack/repos/builtin/packages/mumps/package.py
index 2801d4194d..b295857ab5 100644
--- a/var/spack/repos/builtin/packages/mumps/package.py
+++ b/var/spack/repos/builtin/packages/mumps/package.py
@@ -70,6 +70,9 @@ class Mumps(Package):
makefile_conf.append("ORDERINGSF = %s" % (' '.join(orderings)))
+ # when building shared libs need -fPIC, otherwise
+ # /usr/bin/ld: graph.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
+ fpic = '-fPIC' if '+shared' in self.spec else ''
# TODO: test this part, it needs a full blas, scalapack and
# partitionning environment with 64bit integers
if '+idx64' in self.spec:
@@ -77,14 +80,14 @@ class Mumps(Package):
# the fortran compilation flags most probably are
# working only for intel and gnu compilers this is
# perhaps something the compiler should provide
- ['OPTF = -O -DALLOW_NON_INIT %s' % '-fdefault-integer-8' if self.compiler.name == "gcc" else '-i8',
- 'OPTL = -O ',
- 'OPTC = -O -DINTSIZE64'])
+ ['OPTF = %s -O -DALLOW_NON_INIT %s' % (fpic,'-fdefault-integer-8' if self.compiler.name == "gcc" else '-i8'),
+ 'OPTL = %s -O ' % fpic,
+ 'OPTC = %s -O -DINTSIZE64' % fpic])
else:
makefile_conf.extend(
- ['OPTF = -O -DALLOW_NON_INIT',
- 'OPTL = -O ',
- 'OPTC = -O '])
+ ['OPTF = %s -O -DALLOW_NON_INIT' % fpic,
+ 'OPTL = %s -O ' % fpic,
+ 'OPTC = %s -O ' % fpic])
if '+mpi' in self.spec: